[vorbis] Compiling vorbis-tools on NetBSD-1.5/i386
Rakhesh Sasidharan
rakhesh at cse.iitd.ernet.in
Tue Mar 13 03:38:07 PST 2001
[This mail is a bit long: sorry.]
Hi,
I have been trying to compile vorbis-tools-1.0beta4 on NetBSD-1.5/i386,
and I get the following:
---------------------
Upon typing
./configure --prefix=/usr/pkg/ --with-ogg-prefix=/usr/pkg/
--with-vorbis-prefix=/usr/pkg/ --with-ao-prefix=/usr/pkg/
checking for Ogg... yes
checking for Vorbis... yes
checking for ao... no
*** Could not run ao 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 ao was incorrectly installed
*** or that you have moved ao since it was installed.
configure: error: libao needed!
---------------------
Yes, I checked config.log; here are the error lines in it:
---------------------
configure:1829: checking for ao
configure:1859: gcc -o conftest -I/usr/pkg//include conftest.c -L/usr/pkg//lib -lao -ldl 1>&5
/usr/bin/ld: cannot open -ldl: No such file or directory
collect2: ld returned 1 exit status
configure: failed program was:
#line 1843 "configure"
#include "confdefs.h"
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ao/ao.h>
int main ()
{
system("touch conf.aotest");
return 0;
}
configure:1897: gcc -o conftest -I/usr/pkg//include conftest.c -L/usr/pkg//lib -lao -ldl 1>&5
/usr/bin/ld: cannot open -ldl: No such file or directory
collect2: ld returned 1 exit status
configure: failed program was:
#line 1887 "configure"
#include "confdefs.h"
#include <stdio.h>
#include <ao/ao.h>
int main() {
return 0;
; return 0; }
---------------------
Now, that was funny coz I *had* installed libao, and I had installed it at
/usr/pkg/lib. Here's a listing of that directory (the libao files):
libao.la libao.so@ libao.so.1@ libao.so.1.0
---------------------
Anyways, I then try the same configure command as above, but this time
give the --disable-ao-test option, and things go smooth.
After that, typing ``make'' gives the following:
Making all in oggenc
Making all in man
Making all in ogg123
/bin/sh ../libtool --mode=link gcc -o ogg123 ogg123.o ao_interface.o buffer.o getopt.o getopt1.o -lvorbisfile -L/usr/pkg//lib -lvorbis -lm -L/usr/pkg//lib -logg -L/usr/pkg//lib -lao -ldl
gcc -o ogg123 ogg123.o ao_interface.o buffer.o getopt.o getopt1.o -lvorbisfile -L/usr/pkg//lib -lvorbis -lm -L/usr/pkg//lib -logg -L/usr/pkg//lib -lao -ldl
/usr/bin/ld: cannot open -ldl: No such file or directory
collect2: ld returned 1 exit status
*** Error code 1
Stop.
*** Error code 1
Stop.
---------------------
Again a missing -ldl. I finally checked the config.log of libao, and
found the following:
ltconfig:2248: checking for dlopen in -ldl
ltconfig:2269: gcc -o conftest -g -O2 -fno-builtin -fno-rtti -fno-exceptions conftest.c -ldl 1>&5
/usr/bin/ld: cannot open -ldl: No such file or directory
collect2: ld returned 1 exit status
ltconfig: failed program was:
#line 2256 "ltconfig"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
builtin and then its argument prototype would still apply. */
#ifdef __cplusplus
extern "C"
#endif
char dlopen();
int main() {
dlopen()
; return 0; }
ltconfig:2288: checking for dlopen
ltconfig:2318: gcc -o conftest -g -O2 -fno-builtin -fno-rtti -fno-exceptions conftest.c 1>&5
ltconfig:2488: checking for dlfcn.h
ltconfig:2498: gcc -c -g -O2 -fno-builtin -fno-rtti -fno-exceptions conftest.c 1>&5 >/dev/null 2>conftest.out
ltconfig:2526: checking whether a program can dlopen itself
ltconfig:2580: gcc -o conftest -g -O2 -fno-builtin -fno-rtti -fno-exceptions -DHAVE_DLFCN_H -Wl,--export-dynamic conftest.c 1>&5
ltconfig:2599: checking whether a statically linked program can dlopen itself
ltconfig:2653: gcc -o conftest -g -O2 -fno-builtin -fno-rtti -fno-exceptions -DHAVE_DLFCN_H -Wl,--export-dynamic -static conftest.c 1>&5
ltconfig: failed program was:
#line 2607 "ltconfig"
#if HAVE_DLFCN_H
#include <dlfcn.h>
#endif
#include <stdio.h>
#ifdef RTLD_GLOBAL
# define LTDL_GLOBAL RTLD_GLOBAL
#else
# ifdef DL_GLOBAL
# define LTDL_GLOBAL DL_GLOBAL
# else
# define LTDL_GLOBAL 0
# endif
#endif
/* We may have to define LTDL_LAZY_OR_NOW in the command line if we
find out it does not work in some platform. */
#ifndef LTDL_LAZY_OR_NOW
# ifdef RTLD_LAZY
# define LTDL_LAZY_OR_NOW RTLD_LAZY
# else
# ifdef DL_LAZY
# define LTDL_LAZY_OR_NOW DL_LAZY
# else
# ifdef RTLD_NOW
# define LTDL_LAZY_OR_NOW RTLD_NOW
# else
# ifdef DL_NOW
# define LTDL_LAZY_OR_NOW DL_NOW
# else
# define LTDL_LAZY_OR_NOW 0
# endif
# endif
# endif
# endif
#endif
fnord() { int i=42;}
main() { void *self, *ptr1, *ptr2; self=dlopen(0,LTDL_GLOBAL|LTDL_LAZY_OR_NOW);
if(self) { ptr1=dlsym(self,"fnord"); ptr2=dlsym(self,"_fnord");
if(ptr1 || ptr2) { dlclose(self); exit(0); } } exit(1); }
<snip>
There were some more errors relating to a certain soundcard.h file
missing, but I assume thats coz I don't have esd. The main thing is, I
again have a missing -ldl there, although configure never mentioned
anything while running it, nor did make and make install.
Any ideas, what could be causing this ?
Regards.
__
Rakhesh Sasidharan rakhesh at cse.iitd.ac.in
--- >8 ----
List archives: http://www.xiph.org/archives/
Ogg project homepage: http://www.xiph.org/ogg/
To unsubscribe from this list, send a message to 'vorbis-request at xiph.org'
containing only the word 'unsubscribe' in the body. No subject is needed.
Unsubscribe messages sent to the list will be ignored/filtered.
More information about the Vorbis
mailing list