After almost a week of trying to figure this one out, I’m at a loss.
This is maybe more of an autotools or distro-specific question, but
perhaps someone here has more of a deeper understanding about what is
happening and can help.
I am trying to build my own custom SDL2* libraries. I can configure and
install SDL2 into an arbitrary directory just fine.
When I try to configure SDL2_image, pointing both the --prefix and
–with-sdl-prefix to that same arbitrary directory, it succeeds just
fine on Ubuntu.
But when I try to build on Debian Wheezy (mainly so my custom-built
libraries, which I plan to distribute with my project, will have fewer
dependencies than what Ubuntu pulls in), I am surprised to see the
following output:
$ ./configure --disable-bmp --disable-gif --disable-jpg
–disable-jpg-shared --disable-lbm --disable-pcx --enable-png
–enable-png-shared --disable-pnm --disable-tga --disable-tif
–disable-tif-shared --disable-xcf --disable-xpm --disable-xv
–disable-webp --disable-webp-shared
–prefix=/home/gb/Projects/Tools/CustomLibs/amd64
–with-sdl-prefix=/home/gb/Projects/Tools/CustomLibs/amd64
…
checking for SDL - version >= 2.0.0… no
*** Could not run SDL test program, checking why…
*** The test program compiled, but did not run. This usually means
*** that the run-time linker is not finding SDL or finding the wrong
*** version of SDL. If it is not finding SDL, you’ll need to set your
*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point
*** to the installed location Also, make sure you have run ldconfig if that
*** is required on your system***
*** If you have an old version installed, it is best to remove it, although
*** you may also be able to get things to work by modifying LD_LIBRARY_PATH
configure: error: *** SDL version 2.0.0 not found!
Checking the Debian config.log, it looks like it is able to build
conftest using SDL2, so configure clearly knows how to find it using
sdl2-config, but when it tries to run conftest, the runtime linker
doesn’t know where to look to find SDL2.
Debian’s config.log:
configure:12352: checking for SDL - version >= 2.0.0
configure:12440: gcc -o conftest -g -O2
-I/home/gb/Projects/Tools/CustomLibs/amd64/include/SDL2 -D_REENTRANT
conftest.c -L/home/gb/Projects/Tools/CustomLibs/amd64/lib -lSDL2 >&5
configure:12440: $? = 0
configure:12440: ./conftest
./conftest: error while loading shared libraries: libSDL2-2.0.so.0:
cannot open shared object file: No such file or directory
configure:12440: $? = 127
configure: program exited with status 127
Debian: $ ls /home/gb/Projects/Tools/CustomLibs/amd64/lib/
cmake libSDL2-2.0.so.0 libSDL2-2.0.so.0.4.1 libSDL2.a libSDL2.la
libSDL2main.a libSDL2.so libSDL2_test.a pkgconfig
On Ubuntu 14.04, I see that config.log has a few key output variables,
such as LIBS, that point to the custom directory, whereas on Debian
Wheezy, those same output variables are missing that information.
Ubuntu’s config.log:
configure:12352: checking for SDL - version >= 2.0.0
configure:12440: gcc -o conftest -g -O2
-I/home/gb/Projects/Tools/CustomLibs/amd64/include/SDL2 -D_REENTRANT
conftest.c -L/home/gb/Projects/Tools/CustomLibs/amd64/lib -lSDL2 >&5
configure:12440: $? = 0
configure:12440: ./conftest
configure:12440: $? = 0
configure:12455: result: yes
When I check the diffs between config.log files, I see how different
these seemingly important values are:
< CFLAGS=‘-I/usr/include/libpng12 -g -O2
-I/home/gb/Projects/Tools/CustomLibs/amd64/include/SDL2 -D_REENTRANT’
CFLAGS=‘-g -O2’
< SDL_CFLAGS=‘-I/home/gb/Projects/Tools/CustomLibs/amd64/include/SDL2
-D_REENTRANT’
< SDL_LIBS=‘-L/home/gb/Projects/Tools/CustomLibs/amd64/lib -lSDL2’
SDL_CFLAGS=‘’
SDL_LIBS=‘’
I could always using LD_LIBRARY_PATH or do what the README.txt says
about setting environment variables myself, but I am curious why running
configure on one system without doing those things results in behavior
that is different from the other system.
Any ideas?
Thanks for your time,
Gianfranco
–
Creating entertainment that encourages curiosity, supports creativity,
and promotes continuous learning: http://www.GBGames.com/
Follow me on Twitter: x.com