[Easytag-mailing] easytag doesn't start after recompiling id3lib (with utf-16 support)



I am trying to add UTF-16 support to EasyTAG, that is to recompile id3lib with UTF-16 support. And something doesn't work.

I currently have installed on my computer:
easytag-1.99.12-0.1.20060mdk.i586.rpm
libid3_3.8_3- 3.8.3-8mdk.i586.rpm

I applied to id3lib-3.8.3.tar.gz the patch found on the website:
sh>patch -p1 <"patch_id3lib_3.8.3_UTF16_writing_bug.diff" (4353)
patching file ChangeLog
patching file src/io_helpers.cpp
>patch -p1 <"patch_id3lib_3.8.3_UTF16_writing_bug.diff" (4353) returned '0'

Contrary to the EasyTAG message, easytag-1.99.12.tar.bz2 doesn't contain the patch in /src/id3lib (I do not know exactly if I should leave this id3_bugfix.h alone, or copy it to somewhere):
c_wrapper.cpp
id3_bugfix.h
Makefile.am
Makefile.in

So, after having applied the patch I compile id3lib.
>./configure (4401) returned '0'
It compiled correctly. Only two or three minor error messages.

Before make install I removed id3lib related packages (--nodeps). The only library left in /usr/lib is libid3tag.so.0.3.0.

After make install of id3lib, EasyTAG refuses to start:
>easytag (13262)
easytag: symbol lookup error: /usr/local/lib/libid3-3.8.so.3: undefined symbol: cerr
>easytag (13262) returned '127'

>sudo ldconfig (18335)
>sudo ldconfig (18335) returned '0'

sh>sudo ldconfig -p|grep id3 (23379)
libid3tag.so.0 (libc6) => /usr/lib/libid3tag.so.0
libid3-3.8.so.3 (libc6) => /usr/local/lib/libid3- 3.8.so.3
>sudo ldconfig -p|grep id3 (23379) returned '0'

I remove easytag and try to build it from source. But, when ./configuring, I get this error message:
[...]
checking for library containing ID3Tag_Link... no
configure: WARNING: id3lib not found
checking for id3lib version... configure: WARNING: could not determine id3lib version
checking for MP3 file support... no
***
*** Warning: MP3 file support disabled, id3lib missing
***
[...]

And I get this:
[...]
Configuration for easytag 1.99.12 :
--------------------------------

Source code location ....: .
Host System Type ........: i686-redhat-linux-gnu
Preprocessor ............: gcc
Compiler ................: gcc -g -O2 -Wall
Linker ..................: gcc -lm -lz -lstdc++ -lm -lvorbisfile -lvorbis -logg -lm
GTK2 version ............: 2.8.3
MP3 file support ........: no
Ogg Vorbis file support .: yes
FLAC file support .......: no
MP4 file support ........: no
NLS/gettext .............: yes
Install path ............: /usr/local

Now type make to build easytag 1.99.12,
and then make install for installation.
[...]

I think the problem lies in the in the symlinks and the way ldconfig updates information. But I have no idea how to solve this.

If I "cp libid3-3.8.so.3 libid3.so" or "ln -s libid3-3.8.so.3.0.0 libid3.so", I get this:
>sudo ldconfig -n /usr/local/lib -v (28442)
/usr/local/lib:
libid3-3.8.so.3 -> libid3.so
[...]
>sudo ldconfig -n /usr/local/lib -v (28442) returned '0'

If I delete libid3.so, I get this:
>sudo ldconfig -n /usr/local/lib -v (28455)
/usr/local/lib:
libid3-3.8.so.3 -> libid3-3.8.so.3.0.0
[...]
>sudo ldconfig -n /usr/local/lib -v (28455) returned '0'

I deleted both symlinks and he told me:
>sudo ldconfig -n /usr/local/lib -v (28455)
/usr/local/lib:
libid3-3.8.so.3 -> libid3-3.8.so.3.0.0 (changed)
[...]
>sudo ldconfig -n /usr/local/lib -v (28455) returned '0'

But the problems is still that easytag still doesn't configure correctly.

So,
1. How can I make EasyTAG ./configure correctly (correcting symlinks, hacking the Makefile...)?
2. Alternatively, is it possible to make the binary version not generate the "undefined symbol" error?

Thanks in advance,
Liviu



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]