[mad-user] compile error on linux

Rob Leslie rob at mars.org
Wed Jun 7 18:59:45 PDT 2006


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.
>
> 1. I downloaded libid3tag-0.15.1b.tar.gz, libmad-0.15.1b.tar.gz,  
> madplay-0.15.1b.tar.gz
>
> 2. 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.
>
> 3. 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"

-- 
Rob Leslie
rob at mars.org




More information about the mad-user mailing list