Page 1 of 1

undefined reference to `inflateReset' 8-(

Posted: 13 Jun 2004 23:01
by urbansond
  • I've searched everywhere for this problem, which seems to be called from avcodec.a , subfile lcl.o, to no avail. Can someone please get me back on track again?



Linux Slackware 9.1 on a 586 intel

The configuration is as follows

ffmpeg is configured as...

Code: Select all

./configure --enable-mp3lame --enable-pp --disable-ffplay --enable-gpl --enable-shared --enable-gpl --disable-ffserver --disable-debug --prefix=/usr
VLS (current subversion, yesterday) is configured (and installed) as...

Code: Select all

./configure --disable-dvd --disable-dvb --enable-v4l --with-ffmpeg=/home/bin/ffmpeg-cvs-2004-05-31
I did have to do a mod to "v4lreader.cpp" which was to add "ffmpeg" in line 60 as #include <ffmpeg/avcodec.h> //for palette

Now, when I run make, I get the following string of errors, [clipped]...

g++ -Wall -O2 -o vls vls-application.o [clipped]modules/tcpinput/.libs/tcpinput.a modules/tcpreader/.libs/tcpreader.a modules/v4linput/.libs/v4linput.a modules/v4lreader/.libs/v4lreader.a modules/raw2ts/.libs/raw2ts.a -ldl -lcrypt -lpthread -ldvbpsi -L/home/bin/ffmpeg-cvs-2004-05-31/libavcodec /home/bin/ffmpeg-cvs-2004-05-31/libavcodec/libavcodec.a
/home/bin/ffmpeg-cvs-2004-05-31/libavcodec/libavcodec.a(lcl.o)(.text+0xe5): In function `decode_frame':
: undefined reference to `inflateReset'
/home/bin/ffmpeg-cvs-2004-05-31/libavcodec/libavcodec.a(lcl.o)(.text+0x134): In function `decode_frame':
: undefined reference to `inflate'

[clipped]
/home/bin/ffmpeg-cvs-2004-05-31/libavcodec/libavcodec.a(mp3lameaudio.o)(.text+0x215): In function `MP3lame_encode_frame':
: undefined reference to `lame_encode_buffer'
/home/bin/ffmpeg-cvs-2004-05-31/libavcodec/libavcodec.a(mp3lameaudio.o)(.text+0x241): In function `MP3lame_encode_close':
: undefined reference to `lame_close'
/home/bin/ffmpeg-cvs-2004-05-31/libavcodec/libavcodec.a(mp3lameaudio.o)(.text+0x28e): In function `MP3lame_encode_init':
: undefined reference to `lame_init'
/home/bin/ffmpeg-cvs-2004-05-31/libavcodec/libavcodec.a(mp3lameaudio.o)(.text+0x2a8): In function `MP3lame_encode_init':
: undefined reference to `lame_set_in_samplerate'
/home/bin/ffmpeg-cvs-2004-05-31/libavcodec/libavcodec.a(mp3lameaudio.o)(.text+0x2b6): In function `MP3lame_encode_init':
: undefined reference to `lame_set_out_samplerate'

[clipped]
(mp3lameaudio.o)(.text+0x34b): In function `MP3lame_encode_init':
: undefined reference to `lame_close'
collect2: ld returned 1 exit status
make[4]: *** [vls] Error 1
make[4]: Leaving directory `/home/bin/vls/src'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/home/bin/vls/src'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/home/bin/vls/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/bin/vls'
make: *** [all] Error 2

Thanks in advance, 8)

Mike
_____

Posted: 14 Jun 2004 15:40
by zorglub
Hello,

You need to use --enable-zlib to compile ffmpeg (you need zlib devel headers)

Thank you

Posted: 14 Jun 2004 15:55
by urbansond
Thank you.

Will reply back here with results, shortly.

Mike

Zlib-devel

Posted: 14 Jun 2004 18:52
by urbansond
Zorglub,

Are you talking about the zlib-1.2.1 recent build source, make, install?

Or kernel-headers? Because Slackware-current, kernel-devel is at the former 1.1.4, as far as I can tell?

Can you specify "which" files by name?

Mike

Now what?

Posted: 15 Jun 2004 14:24
by urbansond
  • I can offer from a few hours of fighting with it, that the most recent pull I could get from subversion, which is supposedly the same as CVS, blows out first when it tries to locate avcodec.

    You have to do a mod to "v4lreader.cpp" which is to add "ffmpeg" in line 60 as #include <ffmpeg/avcodec.h> //for palette

    That gets it quite a ways down the road, until it tries to link in ffmpeg's libacvodec.a.

    It breaks when it gets to lcl.o, inside libavcodec.a (compressed), which is ffmpeg's "Lossless Codec Library".

    The lcl, is a zlibs, and while I'm updated as far as one can for zlib, it made no difference.

    lcl.c, reveals that compressed lcl.o hits the "Decode a frame" routine and begins offereing up unreferenced zlib calls for inflate, inflate_reset, etc.

    As best I can tell, the compile needs to be issued $(CXX) $(CXXFLAGS) -lz, in order to reference zlibs use of these commands, which is where I have left off, looking for the make point to provide it. I think ffmpeg gives some coding examples, which I'm staring at next.

    It would be great to see this part of the project completed at least, since I have found nothing on Videolan's pages that tell one just how broken the beast is. The problem, AFAIK is over a year old and I have been informed that VLS is not maintained any longer. :-(

    Welcome to the world of community developement !!

    As well as ffmpeg works, (sometimes), this app can't be that far from being able to stream v4l properly. Current ffmpeg is struggling with A/V sync, but some of the realeases at the end of May are working fine.

    Maybe someone will add to this...

    Mike
    _____