On Jun 7, 2006, at 5:25 PM, Yamamoto Kazuko wrote:
I have problem in compiling madplay on linux(RedHat Linux7.3). I've found similar problem in this archive, but it didn't help.
- I downloaded libid3tag-0.15.1b.tar.gz, libmad-0.15.1b.tar.gz,
madplay-0.15.1b.tar.gz
- I configured, maked and installed libid3tag and libmad, which
were successful. I also confirmed that there are mad.h and id3tag.h under /usr/ local/include.
- I tried to make madplay, then I got following messages.
-----compile messages starts here gcc -Wall -march=i486 -g -O2 -pg -pg -o madplay madplay.o getopt.o getopt1.o version.o resample.o filter.o tag.o crc.o player.o audio.o audio_aiff.o audio_cdda.o audio_hex.o audio_null.o audio_raw.o audio_snd.o audio_wave.o audio_esd.o audio_oss.o /usr/ lib/libesd.so -L/usr/lib -laudiofile -lmad -lid3tag -lm resample.o: In function `resample_init': /home/kazu/mad/madplay-0.15.1b/resample.c:46: undefined reference to `mad_f_div' player.o: In function `show_id3': /home/kazu/mad/madplay-0.15.1b/player.c:644: undefined reference to `id3_frame_field' /home/kazu/mad/madplay-0.15.1b/player.c:678: undefined reference to `id3_frame_field' /home/kazu/mad/madplay-0.15.1b/player.c:684: undefined reference to `id3_frame_field' player.o: In function `process_id3': /home/kazu/mad/madplay-0.15.1b/player.c:1232: undefined reference to `id3_frame_field' /home/kazu/mad/madplay-0.15.1b/player.c:1278: undefined reference to `id3_frame_field' /home/kazu/mad/madplay-0.15.1b/player.c:1278: undefined reference to `id3_field_getlatin1' /home/kazu/mad/madplay-0.15.1b/player.c:1279: undefined reference to `id3_frame_field' /home/kazu/mad/madplay-0.15.1b/player.c:1342: undefined reference to `id3_frame_field' /usr/lib/libid3tag.a(util.o): In function `id3_util_compress': util.o(.text+0x12f): undefined reference to `compress2' /usr/lib/libid3tag.a(util.o): In function `id3_util_decompress': util.o(.text+0x196): undefined reference to `uncompress' collect2: ld returned 1 exit status
You are probably linking against older versions of the libid3tag and libmad libraries, rather than your newly installed ones.
If you installed shared libraries, you may need to run ldconfig to update the shared library cache, after verifying the library installation directory is in the ld.so search path. See the ldconfig (8) man page for details.
As a last resort, you can explicitly specify the location of the newly installed libraries when running configure for madplay, e.g.:
./configure CPPFLAGS="-I/usr/local/include" LDFLAGS="-L/usr/local/ lib"