This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Compiling id3v2


On 26/09/2009 20:35, drbob wrote:
I've been trying to compile the id3v2 utility
<http://id3v2.sourceforge.net/>  in cygwin. I downloaded, compiled and
installed libid3<http://id3lib.sourceforge.net/>  with no issues.

Actually, your issue is id3lib, see below.


My first attempt to compile id3v2 failed due to errors in the makefile
which were fixed by using this patch from gentoo:
<http://bugs.gentoo.org/show_bug.cgi?id=131700>

I then saw the following errors when I tried to compile:

$ make
c++ -L/usr/local/lib -pedantic -Wall -o id3v2 convert.o list.o id3v2.o genre.o -g -lz -lid3
/usr/local/lib/libid3.a(utils.o): In function `_ZN24_GLOBAL__N__Z8mbstoucsSs9convert_iEPvSs':
^^^^^^^^
/home/drbob/id3v2-0.1.11/id3lib-3.8.3/src/utils.cpp:142: undefined reference to `_libiconv'
/usr/local/lib/libid3.a(utils.o): In function `_ZN4dami7convertESs11ID3_TextEncS0_':
/home/drbob/id3v2-0.1.11/id3lib-3.8.3/src/utils.cpp:196: undefined reference to `_libiconv_open'
/home/drbob/id3v2-0.1.11/id3lib-3.8.3/src/utils.cpp:210: undefined reference to `_libiconv_close'
/usr/local/lib/libid3.a(io_decorators.o): In function `_ZN4dami2io16CompressedReaderC1ER10ID3_Readerj':
/usr/lib/gcc/i686-pc-cygwin/3.4.4/include/c++/bits/basic_string.h:1459: undefined reference to `_uncompress'
/usr/local/lib/libid3.a(io_decorators.o): In function `_ZN4dami2io16CompressedReaderC2ER10ID3_Readerj':
/usr/lib/gcc/i686-pc-cygwin/3.4.4/include/c++/bits/basic_string.h:1459: undefined reference to `_uncompress'
/usr/local/lib/libid3.a(io_decorators.o): In function `_ZN4dami2io16CompressedWriter5flushEv':
/home/drbob/id3v2-0.1.11/id3lib-3.8.3/src/io_decorators.cpp:271: undefined reference to `_compress'
collect2: ld returned 1 exit status
make: *** [id3v2] Error 1

This was also a makefile problem.

Not in id3v2, but in id3lib. id3v2 does not depend on libiconv nor zlib, but id3lib does. Since you only made a static libid3, you would have to add a "-liconv -lz" to each and every package that links against libid3.


A better way of solving this is to build a shared libid3, resolving *its* dependencies at link time. This requires a few patches:

http://cygwin-ports.svn.sourceforge.net/viewvc/cygwin-ports/ports/trunk/media/id3lib/

Or you can get binaries from Cygwin Ports. If you have any questions on these Ports packages, please ask on Ports' mailing list.


Yaakov


--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]