[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