Learn how easy it is to sync an existing GitHub or Google Code repo to a SourceForge project! See Demo


#34 2.7.1 configure error on Slackware 11

tony mancill

Today I tried to compile ripperX-2.7.1, but failed during the configuration phase:

[arcctgx] ~/soft/source/ripperX-2.7.1$ > ./configure --prefix=/usr
checking whether to use NLS... yes
checking where the gettext function comes from... libc
checking for setlocale in -lxpg4... no
checking for ID3Tag_Link in -lid3... no
configure: error: libid3 not found

My computer has the following software installed:
Slackware 11 linux with kernel,

I have no idea why id3lib wasn't found. Other applications (like easytag or older version of ripperX) detect it properly and link against the library.

I'd be happy to provide more information, should it be required.

I would also like to note that despite the fact that names "id3lib" and "libid3" are used interchangeably in the documentation (e.g. in files CHANGES and INSTALL from the source tarball), those are actually two different libraries (http://id3lib.sourceforge.net/ and http://tangent.org/480/libID3.html\). I suppose that ripperX needs id3lib? Or does it need both of them?


  • tony mancill
    tony mancill

    Logged In: YES
    Originator: NO

    ripperX should only require id3lib (http://id3lib.sourceforge.net/). I'll track down and update references to libID3. Please try running ./autogen.sh to regenerate the ./configure script. Or (preferably), please reattempt your build with the 2.7.2 release. The only difference between 2.7.1 and 2.7.2 is to address some problems with the auto-generated files.

  • tony mancill
    tony mancill

    • assigned_to: nobody --> tmancill
  • Logged In: NO


    I tried version 2.7.2, but the problem still exists. After the configuration failed, in the file config.log I found the following lines:

    configure:23353: checking for ID3Tag_Link in -lid3
    configure:23388: gcc -o conftest -march=pentium-m -O2 -pipe -s -Wall conftest.c -lid3 -lutil >&5
    /usr/lib/gcc/i486-slackware-linux/3.4.6/../../../libid3.so: undefined reference to `VTT for std::basic_ifstream<char, std::char_traits<char> >'
    /usr/lib/gcc/i486-slackware-linux/3.4.6/../../../libid3.so: undefined reference to `uncompress'
    /usr/lib/gcc/i486-slackware-linux/3.4.6/../../../libid3.so: undefined reference to `operator new[](unsigned int)'

    What follows is about 70 similar lines, where gcc complains about undefined references to various objects. If I remember correctly, Slackware had a similar problem with ripperX <= 2.7.0. Errors similar to those listed above were reported during the compilation. There was a simple way to fix it: before running ./configure, LDFLAGS shell variable had to be set manually:

    export LDFLAGS="-lz -lstdc++"
    make install (or checkinstall, or whatever)

    I tried that in 2.7.2, and the configure script was able to find the id3lib. The compilation also went smoothly. So it seems that without those LDFLAGS ./configure is not able to compile the test program for id3lib, and reports that this library is not installed in the system... Am I correct?

  • tony mancill
    tony mancill

    Logged In: YES
    Originator: NO

    I probably need to build a Slackware system. I'm building on Debian, which has never required the -lz -lstdc++ flags to build against id3lib (even before the build system was revamped by twb), and so I've never run into these difficulties directly, only second-hand through bug reports.

    What I believe is happening is that id3lib requires libstdc++ to link against, so the undefined references you're seeing are parts of the standard library that weren't available.

    If I understand your email, your problem is resolved with 2.7.2, right? (I've deleted 2.7.1 from the releases section due to problems people have had with it.)

  • arcctgx

    Logged In: YES
    Originator: YES

    I'm sorry if my last post wasn't clear,

    ripperX 2.7.2 has the same problem as 2.7.1 -- the configure script doesn't detect the id3lib.

    If I set the LDFLAGS variable manually as described in my previous post, both ripperX 2.7.1 and 2.7.2 configure and compile without any problems.