www.delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2009/09/28/23:53:54

X-Recipient: archive-cygwin AT delorie DOT com
X-SWARE-Spam-Status: No, hits=-2.5 required=5.0 tests=AWL,BAYES_00,SPF_PASS
X-Spam-Check-By: sourceware.org
Message-ID: <4AC184BC.1090902@users.sourceforge.net>
Date: Mon, 28 Sep 2009 22:53:32 -0500
From: "Yaakov (Cygwin/X)" <yselkowitz AT users DOT sourceforge DOT net>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.4pre) Gecko/20090915 Thunderbird/3.0b4
MIME-Version: 1.0
To: cygwin AT cygwin DOT com
Subject: Re: Compiling id3v2
References: <u9gtb5djf8bhiv2f2dkbheh2id1cp3p8ab AT 4ax DOT com>
In-Reply-To: <u9gtb5djf8bhiv2f2dkbheh2id1cp3p8ab@4ax.com>
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Id: <cygwin.cygwin.com>
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com

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

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019