I run SUSE 10.1 so I need to build from source, but I'm having a problem with the libvorbis package. The distro apparently included all the libogg and libvorbis binaries and I built vorbis-tools myself. My /usr/lib contains:
libvorbisenc.so.2 libvorbisfile.so.3 libvorbis.so.0
libvorbisenc.so.2.0.2 libvorbisfile.so.3.1.1 libvorbis.so.0.3.1
libogg.so.0 libogg.so.0.5.3
(Some are symlinks.) The master build.sh, run with only the 'uqm' parameter, prints this:
'echo -n' capable echo found.
Sed stream editor found.
tr found.
Make found.
GNU C compiler found.
Little-endian machine detected.
Simple DirectMedia Layer version 1.2.11 found.
SDL_image found.
Symbol 'readdir_r' found.
Symbol 'setenv' found.
Symbol 'strupr' not found.
Symbol 'stricmp' not found.
Symbol 'iswgraph' found.
Type 'wchar_t' found.
Type 'wint_t' found.
Symbol 'getopt_long' found.
Header 'regex.h' found.
OpenGL found.
pkg-config found.
vorbisfile not found.
tremor not found.
Error: No option for 'Ogg Vorbis codec' is available for your system.
Naturally I zoomed in on the "vorbisfile not found" line. Because makefile generators tend to be impenetrable I ended up doing 'set -x' in build/unix/build.sh to see what it was doing. Here's the full output of the check for libvorbisfile.so:
++ local LIB PKG_NAME TEMP_NAME
++ LIB=vorbisfile
++ PKG_NAME=vorbisfile
+++ evalVar LIB_vorbisfile_NAME
+++ local RESULT
+++ eval 'RESULT=$LIB_vorbisfile_NAME'
++++ RESULT=vorbisfile
+++ eval 'RESULT="vorbisfile"'
++++ RESULT=vorbisfile
+++ cat
++ TEMP_NAME=vorbisfile
++ '[' -z vorbisfile ']'
++ pkg-config --exists vorbisfile
++ return 2
++ case $? in
++ eval 'TEMP_PRESENT=$LIB_vorbisfile_PRESENT'
+++ TEMP_PRESENT=
++ '[' -z '' ']'
+++ evalVar LIB_vorbisfile_CFLAGS
+++ local RESULT
+++ eval 'RESULT=$LIB_vorbisfile_CFLAGS'
++++ RESULT=
+++ eval 'RESULT=""'
++++ RESULT=
+++ cat
++ TEMP_CFLAGS=
+++ evalVar LIB_vorbisfile_LDFLAGS
+++ local RESULT
+++ eval 'RESULT=$LIB_vorbisfile_LDFLAGS'
++++ RESULT='-lvorbisfile -lvorbis'
+++ eval 'RESULT="-lvorbisfile -lvorbis"'
++++ RESULT='-lvorbisfile -lvorbis'
+++ cat
++ TEMP_LDFLAGS='-lvorbisfile -lvorbis'
++ try_compile_c '' '-lvorbisfile -lvorbis'
++ local SYSTEM_FLAGS
++ '[' -z gcc ']'
++ SYSTEM_FLAGS=' '
++ cat
++ echo_and_perform gcc -lvorbisfile -lvorbis /tmp/build.2167.tmp.c -o /tmp/build.2167.tmp.out
++ RESULT=1
++ '[' 1 -ne 0 ']'
++ echo 'Failed program was:'
++ echo '+++ START /tmp/build.2167.tmp.c'
++ cat /tmp/build.2167.tmp.c
++ echo '+++ END /tmp/build.2167.tmp.c'
++ rm -f /tmp/build.2167.tmp.c /tmp/build.2167.tmp.out
++ echo
++ return 1
++ '[' 1 -eq 0 ']'
++ eval 'TEMP_PRESENT=$LIB_vorbisfile_PRESENT'
+++ TEMP_PRESENT=
++ '[' -z '' ']'
++ eval LIB_vorbisfile_PRESENT=1
+++ LIB_vorbisfile_PRESENT=1
++ build_message 'vorbisfile not found.'
++ '[' -z '' ']'
++ cat
vorbisfile not found.
++ return 1
Even when I explicitly set LIBPATH and LD_LIBRARY_PATH to include /usr/lib this check fails. The only possible cause I can think of is header files - I can't find them. I have built the libogg and libvorbis from source in my homedir but I want to avoid installing them globally if I can.
Is there any way to provide a path prefix for these libraries in the build? Has anyone else run into this problem?