Hello everyone,
I am trying to build zsnes against libSDL and I am getting some bogus
messages. Everything points to libSDL being built “wrong”, but I can’t see
what’s screwed up here. I built SDL from source, version SDL-1.2.14 using
nothing in the way of special options or compiler flags.
Doing a ./configure on zsnes (snippet):
checking for sdl-config… /usr/local/bin/sdl-config
checking for SDL - version >= 1.2.0… no
*** Could not run SDL test program, checking why…
*** The test program failed to compile or link. See the file config.log for
the
*** exact error that occured. This usually means SDL was incorrectly
installed
*** or that you have moved SDL since it was installed. In the latter case,
you
*** may want to edit the sdl-config script: /usr/local/bin/sdl-config
configure: error: SDL >= 1.2.0 is required
Here is a config log snippet from zsnes:
configure:3497: checking for sdl-config
configure:3515: found /usr/local/bin/sdl-config
configure:3528: result: /usr/local/bin/sdl-config
configure:3537: checking for SDL - version >= 1.2.0
configure:3634: gcc -o conftest -pipe -I. -I/usr/local/include
-I/usr/include -D__UNIXSDL__ -I/usr/local/include/SDL -D_GNU_SOURCE=1
-D_REENTRANT -L/usr/local/lib -L/usr/lib -L/usr/local/lib -L/usr/lib
conftest.c -L/usr/local/lib -Wl,-rpath,/usr/local/lib -lSDL -lpthread >&5
/scratchbox/compilers/arm-gcc4.1-uclibc20061004/lib/gcc/arm-linux-uclibc/4.1.1/…/…/…/…/arm-linux-uclibc/bin/ld:
warning: libiconv.so.2, needed by /usr/local/lib/libSDL.so, not found (try
using -rpath or -rpath-link)
/scratchbox/compilers/arm-gcc4.1-uclibc20061004/lib/gcc/arm-linux-uclibc/4.1.1/…/…/…/…/arm-linux-uclibc/bin/ld:
warning:* libdirectfb-1.4.so.0*, needed by /usr/local/lib/libSDL.so, not
found (try using -rpath or -rpath-link)
/scratchbox/compilers/arm-gcc4.1-uclibc20061004/lib/gcc/arm-linux-uclibc/4.1.1/…/…/…/…/arm-linux-uclibc/bin/ld:
warning:* libfusion-1.4.so.0*, needed by /usr/local/lib/libSDL.so, not found
(try using -rpath or -rpath-link)
/scratchbox/compilers/arm-gcc4.1-uclibc20061004/lib/gcc/arm-linux-uclibc/4.1.1/…/…/…/…/arm-linux-uclibc/bin/ld:
warning: libdirect-1.4.so.0, needed by /usr/local/lib/libSDL.so, not found
(try using -rpath or -rpath-link)
/usr/local/lib/libSDL.so: undefined reference to DirectFBCreate' /usr/local/lib/libSDL.so: undefined reference to
DirectFBError’
/usr/local/lib/libSDL.so: undefined reference to DirectFBErrorString' /usr/local/lib/libSDL.so: undefined reference to
DirectFBInit’
collect2: ld returned 1 exit status
Okay … so … why can’t it find these libraries? I have every one of
them, and they are found with ldconfig …
ldconfig output:*
[sbox-Z2: ~/zsnes_1_51/src] > ldconfig -v
ldconfig: Can’t stat /usr/X11R6/lib: No such file or directory
ldconfig: Path /lib' given more than once ldconfig: Path
/usr/lib’ given more than once
/usr/local/lib:
libxml2.so.2 -> libxml2.so.2.7.6
libcharset.so.1 -> libcharset.so.1.0.0
libSDL-1.2.so.0 -> libSDL.so
libtiff.so.3 -> libtiff.so.3.9.2
libpng12.so.0 -> libpng12.so.0.41.0
libltdl.so.7 -> libltdl.so.7.2.1
libmad.so.0 -> libmad.so.0.2.1
libpng.so.3 -> libpng.so.3.41.0
libcurl.so.4 -> libcurl.so.4.1.1
libjpeg.so.7 -> libjpeg.so.7.0.0
libtiffxx.so.3 -> libtiffxx.so.3.9.2
libogg.so.0 -> libogg.so.0.6.0
libvorbisenc.so.2 -> libvorbisenc.so.2.0.6
libao.so.2 -> libao.so.2.1.3
libiconv.so.2 -> libiconv.so.2.5.0
liblite.so.3 -> liblite.so.3.0.5
libdirect-1.4.so.0 -> libdirect.so
libgif.so.4 -> libgif.so.4.1.6
libvorbis.so.0 -> libvorbis.so.0.4.3
libvorbisfile.so.3 -> libvorbisfile.so.3.3.2
libmpg123.so.0 -> libmpg123.so.0.20.3
libfaad.so.2 -> libfaad.so.2.0.0
libleck.so.3 -> libleck.so.3.0.5
libdirectfb-1.4.so.0 -> libdirectfb.so
libid3tag.so.0 -> libid3tag.so.0.3.0
libfreetype.so.6 -> libfreetype.so.6.3.20
libfusion-1.4.so.0 -> libfusion.so
/usr/lib:
libmenu.so.5 -> libmenu.so.5.7
libpanel.so.5 -> libpanel.so.5.7
libform.so.5 -> libform.so.5.7
libstdc++.so.6 -> libstdc++.so.6.0.8
libncurses.so.5 -> libncurses.so.5.7
/lib:
ld-uClibc.so.0 -> ld-uClibc-0.9.29.so
librt.so.0 -> librt-0.9.29.so
libssp.so.0 -> libssp.so.0.0.0
libmudflapth.so.0 -> libmudflapth.so.0.0.0
libdl.so.0 -> libdl-0.9.29.so
libcrypt.so.0 -> libcrypt-0.9.29.so
libutil.so.0 -> libutil-0.9.29.so
libc.so.0 -> libuClibc-0.9.29.so
libmudflap.so.0 -> libmudflap.so.0.0.0
libresolv.so.0 -> libresolv-0.9.29.so
libpthread.so.0 -> libpthread-0.9.29.so
libgcc_s.so.1 -> libgcc_s.so.1
libm.so.0 -> libm-0.9.29.so
libnsl.so.0 -> libnsl-0.9.29.so
libthread_db.so.1 -> libthread_db-0.9.29.so
/usr/local/BerkeleyDB.4.7/lib:
libdb-4.7.so -> libdb.so
[sbox-Z2: ~/zsnes_1_51/src] >
I have seen this same question pop up several times over the years in
various lists and nobody has been able to answer it. If someone could put
an end to this riddle, I would appreciate it.
*
Thanks,
Steve Ballantyne
Network Security Analyst
SonicWALL CSSA; MCSE/MCDST; CNI-Linux; LPIC-1; CTT+; A+; Network+; Linux+;
Server+; I-Net+; Security+
“Any intelligent fool can make things bigger, more complex, and more
violent. It takes a touch of genius - and a lot of courage - to move in the
opposite direction.”
– Albert Einstein