Ok, I managed to compile the Ogg and Vorbis libs. Then, after modifying the file audio_out.c as follows: original: #include <dlfcn.h> modified: #include <win32/include/dlfcn.h> I was able to (finally!) compile libao. Then I tried to compile the module vorbis-tools, but uninvited problems came to my party. [...]> /usr/bin/ld: multiple definitions of symbol _getopt > /usr/lib/libm.dylib(getopt.o) definition of _getopt > ../share/libgetopt.a(getopt.o) definition of _getopt in section > (__TEXT,__text)[...] Can anyone help me on this ? The whole transcription follows: -------------- [localhost:ecc/Sources/vorbis-tools] root# ./autogen.sh I am going to run ./configure with no arguments - if you wish to pass any to it, please specify them on the ./autogen.sh command line. Generating configuration files for vorbis-tools, please wait.... aclocal libtoolize --automake automake --add-missing autoconf loading cache ./config.cache checking for a BSD compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for mawk... no checking for gawk... no checking for nawk... no checking for awk... awk checking whether make sets ${MAKE}... yes checking for gcc... no checking for cc... cc checking whether the C compiler (cc ) works... yes checking whether the C compiler (cc ) is a cross-compiler... no checking whether we are using GNU C... yes checking whether cc accepts -g... yes checking for style of include used by make... GNU checking dependency style of cc... /Users/ecc/Sources/vorbis- tools/conftest.dir gcc checking for Cygwin environment... no checking for mingw32 environment... no checking how to run the C preprocessor... cc -E -traditional-cpp checking host system type... powerpc-apple-darwin1.4 checking build system type... powerpc-apple-darwin1.4 checking for ld used by GCC... /usr/bin/ld checking if the linker (/usr/bin/ld) is GNU ld... no checking for /usr/bin/ld option to reload object files... -r checking for BSD-compatible nm... /usr/bin/nm -p checking whether ln -s works... yes checking how to recognise dependant libraries... file_magic Mach-O dynamically linked shared library checking for object suffix... o checking for executable suffix... no checking command to parse /usr/bin/nm -p output... ok checking for dlfcn.h... no checking for ranlib... ranlib checking for strip... strip checking for objdir... .libs checking for cc option to produce PIC... -fno-common checking if cc PIC flag -fno-common works... yes checking if cc static flag -static works... no checking if cc supports -c -o file.o... /Users/ecc/Sources/vorbis- tools/conftest yes checking if cc supports -c -o file.lo... yes checking if cc supports -fno-rtti -fno-exceptions... yes checking whether the linker (/usr/bin/ld) supports shared libraries... yes checking how to hardcode library paths into programs... unsupported checking whether stripping libraries is possible... no checking dynamic linker characteristics... darwin1.4 dyld checking if libtool supports shared libraries... yes checking whether to build shared libraries... yes checking whether to build static libraries... yes creating libtool checking host system type... powerpc-apple-darwin1.4 checking for Ogg... yes checking for Vorbis... yes checking for dlopen... no checking for dlopen in -ldl... yes checking for ao... yes checking for socket in -lsocket... no checking for gethostbyname in -lnsl... no checking for iconv... no, consider installing GNU libiconv checking if mmap works to get shared memory... no checking for nl_langinfo and CODESET... no updating cache ./config.cache creating ./config.status creating Makefile creating include/Makefile creating share/Makefile creating oggenc/Makefile creating oggenc/man/Makefile creating ogg123/Makefile creating vorbiscomment/Makefile creating vcut/Makefile creating ogginfo/Makefile creating debian/Makefile [localhost:ecc/Sources/vorbis-tools] root# make Making all in include make[1]: Nothing to be done for `all'. Making all in share source='charset.c' object='charset.o' libtool=no \ depfile='.deps/charset.Po' tmpdepfile='.deps/charset.TPo' \ depmode=gcc /bin/sh ../depcomp \ cc -DPACKAGE=\"vorbis-tools\" -DVERSION=\"1.0rc2\" -I. -I. -I../include -fno-common -O4 -Wall -fsigned-char -ffast-math -c `test -f charset.c || echo './'`charset.c source='iconvert.c' object='iconvert.o' libtool=no \ depfile='.deps/iconvert.Po' tmpdepfile='.deps/iconvert.TPo' \ depmode=gcc /bin/sh ../depcomp \ cc -DPACKAGE=\"vorbis-tools\" -DVERSION=\"1.0rc2\" -I. -I. -I../include -fno-common -O4 -Wall -fsigned-char -ffast-math -c `test -f iconvert.c || echo './'`iconvert.c source='utf8.c' object='utf8.o' libtool=no \ depfile='.deps/utf8.Po' tmpdepfile='.deps/utf8.TPo' \ depmode=gcc /bin/sh ../depcomp \ cc -DPACKAGE=\"vorbis-tools\" -DVERSION=\"1.0rc2\" -I. -I. -I../include -fno-common -O4 -Wall -fsigned-char -ffast-math -c `test -f utf8.c || echo './'`utf8.c utf8.c: In function `convert_buffer': utf8.c:261: warning: implicit declaration of function `charset_convert' rm -f libutf8.a ar cru libutf8.a charset.o iconvert.o utf8.o ranlib libutf8.a ranlib: file: libutf8.a(iconvert.o) has no symbols source='getopt.c' object='getopt.o' libtool=no \ depfile='.deps/getopt.Po' tmpdepfile='.deps/getopt.TPo' \ depmode=gcc /bin/sh ../depcomp \ cc -DPACKAGE=\"vorbis-tools\" -DVERSION=\"1.0rc2\" -I. -I. -I../include -fno-common -O4 -Wall -fsigned-char -ffast-math -c `test -f getopt.c || echo './'`getopt.c source='getopt1.c' object='getopt1.o' libtool=no \ depfile='.deps/getopt1.Po' tmpdepfile='.deps/getopt1.TPo' \ depmode=gcc /bin/sh ../depcomp \ cc -DPACKAGE=\"vorbis-tools\" -DVERSION=\"1.0rc2\" -I. -I. -I../include -fno-common -O4 -Wall -fsigned-char -ffast-math -c `test -f getopt1.c || echo './'`getopt1.c rm -f libgetopt.a ar cru libgetopt.a getopt.o getopt1.o ranlib libgetopt.a Making all in oggenc Making all in man make[2]: Nothing to be done for `all'. source='oggenc.c' object='oggenc.o' libtool=no \ depfile='.deps/oggenc.Po' tmpdepfile='.deps/oggenc.TPo' \ depmode=gcc /bin/sh ../depcomp \ cc -DPACKAGE=\"vorbis-tools\" -DVERSION=\"1.0rc2\" -I. -I. -I../include -fno-common -O4 -Wall -fsigned-char -ffast-math -c `test -f oggenc.c || echo './'`oggenc.c oggenc.c: In function `main': oggenc.c:129: warning: `format' might be used uninitialized in this function source='audio.c' object='audio.o' libtool=no \ depfile='.deps/audio.Po' tmpdepfile='.deps/audio.TPo' \ depmode=gcc /bin/sh ../depcomp \ cc -DPACKAGE=\"vorbis-tools\" -DVERSION=\"1.0rc2\" -I. -I. -I../include -fno-common -O4 -Wall -fsigned-char -ffast-math -c `test -f audio.c || echo './'`audio.c source='encode.c' object='encode.o' libtool=no \ depfile='.deps/encode.Po' tmpdepfile='.deps/encode.TPo' \ depmode=gcc /bin/sh ../depcomp \ cc -DPACKAGE=\"vorbis-tools\" -DVERSION=\"1.0rc2\" -I. -I. -I../include -fno-common -O4 -Wall -fsigned-char -ffast-math -c `test -f encode.c || echo './'`encode.c source='platform.c' object='platform.o' libtool=no \ depfile='.deps/platform.Po' tmpdepfile='.deps/platform.TPo' \ depmode=gcc /bin/sh ../depcomp \ cc -DPACKAGE=\"vorbis-tools\" -DVERSION=\"1.0rc2\" -I. -I. -I../include -fno-common -O4 -Wall -fsigned-char -ffast-math -c `test -f platform.c || echo './'`platform.c /bin/sh ../libtool --mode=link cc -fno-common -O4 -Wall -fsigned-char -ffast-math -o oggenc oggenc.o audio.o encode.o platform.o -lvorbisenc -lvorbis -lm -logg ../share/libutf8.a ../share/libgetopt.a mkdir .libs cc -fno-common -O4 -Wall -fsigned-char -ffast-math -o oggenc oggenc.o audio.o encode.o platform.o -L/usr/local/lib -lvorbisenc -lvorbis -lm -logg ../share/libutf8.a ../share/libgetopt.a /usr/bin/ld: multiple definitions of symbol _getopt /usr/lib/libm.dylib(getopt.o) definition of _getopt ../share/libgetopt.a(getopt.o) definition of _getopt in section (__TEXT,__text) /usr/bin/ld: multiple definitions of symbol _optarg /usr/lib/libm.dylib(getopt.o) definition of _optarg ../share/libgetopt.a(getopt.o) definition of _optarg in section (__DATA,__common) /usr/bin/ld: multiple definitions of symbol _opterr /usr/lib/libm.dylib(getopt.o) definition of _opterr ../share/libgetopt.a(getopt.o) definition of _opterr in section (__DATA,__data) /usr/bin/ld: multiple definitions of symbol _optind /usr/lib/libm.dylib(getopt.o) definition of _optind ../share/libgetopt.a(getopt.o) definition of _optind in section (__DATA,__data) /usr/bin/ld: multiple definitions of symbol _optopt /usr/lib/libm.dylib(getopt.o) definition of _optopt ../share/libgetopt.a(getopt.o) definition of _optopt in section (__DATA,__data) make[2]: *** [oggenc] Error 1 make[1]: *** [all-recursive] Error 1 make: *** [all-recursive] Error 1 --- >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-dev-request@xiph.org' containing only the word 'unsubscribe' in the body. No subject is needed. Unsubscribe messages sent to the list will be ignored/filtered.
On 10/24/2001 at 5:59 PM Elifarley C.Coelho wrote:>Ok, I managed to compile the Ogg and Vorbis libs. Then, after modifying >the file audio_out.c as follows: > >original: #include <dlfcn.h> >modified: #include <win32/include/dlfcn.h>Do not make this modification. The header "win32/include/dlfnc.h" is only for windows. The location you want is "/usr/include/dlfnc.h" -- however if you look at the output of autoconf that you sent, you will find were it says "checking for dlfcn.h... no" -- I believe you must fix this problem first, What OS and version are you on? I see that the hardware is a ppc, so I guess it's some kind of Linux port to Apple... In any case, that header comes with the glibc-devel RPM, so make sure you have it: I would do this command "rpm -qa | grep "glibc-devel" if there is nothing there, go to your vendor to get it, or you can try: http://rpmfind.net and perform a search on "glibc-devel" choose the one that corresponds to your version of Linux and download and install it. If that RPM (glibc-devel) is already on your system, then try this command rpm -ql insure that "/usr/include/dlfcn.h" is listed, if not, complain to your vendor if it is listed, then try "ls -l /usr/include/dlfcn.h" if there is no listing, then your system is messed up -- try reinstalling glibc-devel. -Chris> >I was able to (finally!) compile libao. > >Then I tried to compile the module vorbis-tools, but uninvited problems >came to my party. > >[...] >> /usr/bin/ld: multiple definitions of symbol _getopt >> /usr/lib/libm.dylib(getopt.o) definition of _getopt >> ../share/libgetopt.a(getopt.o) definition of _getopt in section >> (__TEXT,__text) >[...] > >Can anyone help me on this ? > >The whole transcription follows: > >-------------- > >[localhost:ecc/Sources/vorbis-tools] root# ./autogen.sh >I am going to run ./configure with no arguments - if you wish >to pass any to it, please specify them on the ./autogen.sh command line. >Generating configuration files for vorbis-tools, please wait.... > aclocal > libtoolize --automake > automake --add-missing > autoconf >loading cache ./config.cache >checking for a BSD compatible install... /usr/bin/install -c >checking whether build environment is sane... yes >checking for mawk... no >checking for gawk... no >checking for nawk... no >checking for awk... awk >checking whether make sets ${MAKE}... yes >checking for gcc... no >checking for cc... cc >checking whether the C compiler (cc ) works... yes >checking whether the C compiler (cc ) is a cross-compiler... no >checking whether we are using GNU C... yes >checking whether cc accepts -g... yes >checking for style of include used by make... GNU >checking dependency style of cc... /Users/ecc/Sources/vorbis- >tools/conftest.dir >gcc >checking for Cygwin environment... no >checking for mingw32 environment... no >checking how to run the C preprocessor... cc -E -traditional-cpp >checking host system type... powerpc-apple-darwin1.4 >checking build system type... powerpc-apple-darwin1.4 >checking for ld used by GCC... /usr/bin/ld >checking if the linker (/usr/bin/ld) is GNU ld... no >checking for /usr/bin/ld option to reload object files... -r >checking for BSD-compatible nm... /usr/bin/nm -p >checking whether ln -s works... yes >checking how to recognise dependant libraries... file_magic Mach-O >dynamically linked shared library >checking for object suffix... o >checking for executable suffix... no >checking command to parse /usr/bin/nm -p output... ok >checking for dlfcn.h... no >checking for ranlib... ranlib >checking for strip... strip >checking for objdir... .libs >checking for cc option to produce PIC... -fno-common >checking if cc PIC flag -fno-common works... yes >checking if cc static flag -static works... no >checking if cc supports -c -o file.o... /Users/ecc/Sources/vorbis- >tools/conftest >yes >checking if cc supports -c -o file.lo... yes >checking if cc supports -fno-rtti -fno-exceptions... yes >checking whether the linker (/usr/bin/ld) supports shared libraries... >yes >checking how to hardcode library paths into programs... unsupported >checking whether stripping libraries is possible... no >checking dynamic linker characteristics... darwin1.4 dyld >checking if libtool supports shared libraries... yes >checking whether to build shared libraries... yes >checking whether to build static libraries... yes >creating libtool >checking host system type... powerpc-apple-darwin1.4 >checking for Ogg... yes >checking for Vorbis... yes >checking for dlopen... no >checking for dlopen in -ldl... yes >checking for ao... yes >checking for socket in -lsocket... no >checking for gethostbyname in -lnsl... no >checking for iconv... no, consider installing GNU libiconv >checking if mmap works to get shared memory... no >checking for nl_langinfo and CODESET... no >updating cache ./config.cache >creating ./config.status >creating Makefile >creating include/Makefile >creating share/Makefile >creating oggenc/Makefile >creating oggenc/man/Makefile >creating ogg123/Makefile >creating vorbiscomment/Makefile >creating vcut/Makefile >creating ogginfo/Makefile >creating debian/Makefile > >[localhost:ecc/Sources/vorbis-tools] root# make >Making all in include >make[1]: Nothing to be done for `all'. >Making all in share >source='charset.c' object='charset.o' libtool=no \ >depfile='.deps/charset.Po' tmpdepfile='.deps/charset.TPo' \ >depmode=gcc /bin/sh ../depcomp \ >cc -DPACKAGE=\"vorbis-tools\" -DVERSION=\"1.0rc2\" -I. -I. >-I../include -fno-common -O4 -Wall -fsigned-char -ffast-math -c >`test -f charset.c || echo './'`charset.c >source='iconvert.c' object='iconvert.o' libtool=no \ >depfile='.deps/iconvert.Po' tmpdepfile='.deps/iconvert.TPo' \ >depmode=gcc /bin/sh ../depcomp \ >cc -DPACKAGE=\"vorbis-tools\" -DVERSION=\"1.0rc2\" -I. -I. >-I../include -fno-common -O4 -Wall -fsigned-char -ffast-math -c >`test -f iconvert.c || echo './'`iconvert.c >source='utf8.c' object='utf8.o' libtool=no \ >depfile='.deps/utf8.Po' tmpdepfile='.deps/utf8.TPo' \ >depmode=gcc /bin/sh ../depcomp \ >cc -DPACKAGE=\"vorbis-tools\" -DVERSION=\"1.0rc2\" -I. -I. >-I../include -fno-common -O4 -Wall -fsigned-char -ffast-math -c >`test -f utf8.c || echo './'`utf8.c >utf8.c: In function `convert_buffer': >utf8.c:261: warning: implicit declaration of function `charset_convert' >rm -f libutf8.a >ar cru libutf8.a charset.o iconvert.o utf8.o >ranlib libutf8.a >ranlib: file: libutf8.a(iconvert.o) has no symbols >source='getopt.c' object='getopt.o' libtool=no \ >depfile='.deps/getopt.Po' tmpdepfile='.deps/getopt.TPo' \ >depmode=gcc /bin/sh ../depcomp \ >cc -DPACKAGE=\"vorbis-tools\" -DVERSION=\"1.0rc2\" -I. -I. >-I../include -fno-common -O4 -Wall -fsigned-char -ffast-math -c >`test -f getopt.c || echo './'`getopt.c >source='getopt1.c' object='getopt1.o' libtool=no \ >depfile='.deps/getopt1.Po' tmpdepfile='.deps/getopt1.TPo' \ >depmode=gcc /bin/sh ../depcomp \ >cc -DPACKAGE=\"vorbis-tools\" -DVERSION=\"1.0rc2\" -I. -I. >-I../include -fno-common -O4 -Wall -fsigned-char -ffast-math -c >`test -f getopt1.c || echo './'`getopt1.c >rm -f libgetopt.a >ar cru libgetopt.a getopt.o getopt1.o >ranlib libgetopt.a >Making all in oggenc >Making all in man >make[2]: Nothing to be done for `all'. >source='oggenc.c' object='oggenc.o' libtool=no \ >depfile='.deps/oggenc.Po' tmpdepfile='.deps/oggenc.TPo' \ >depmode=gcc /bin/sh ../depcomp \ >cc -DPACKAGE=\"vorbis-tools\" -DVERSION=\"1.0rc2\" -I. -I. >-I../include -fno-common -O4 -Wall -fsigned-char -ffast-math -c >`test -f oggenc.c || echo './'`oggenc.c >oggenc.c: In function `main': >oggenc.c:129: warning: `format' might be used uninitialized in this >function >source='audio.c' object='audio.o' libtool=no \ >depfile='.deps/audio.Po' tmpdepfile='.deps/audio.TPo' \ >depmode=gcc /bin/sh ../depcomp \ >cc -DPACKAGE=\"vorbis-tools\" -DVERSION=\"1.0rc2\" -I. -I. >-I../include -fno-common -O4 -Wall -fsigned-char -ffast-math -c >`test -f audio.c || echo './'`audio.c >source='encode.c' object='encode.o' libtool=no \ >depfile='.deps/encode.Po' tmpdepfile='.deps/encode.TPo' \ >depmode=gcc /bin/sh ../depcomp \ >cc -DPACKAGE=\"vorbis-tools\" -DVERSION=\"1.0rc2\" -I. -I. >-I../include -fno-common -O4 -Wall -fsigned-char -ffast-math -c >`test -f encode.c || echo './'`encode.c >source='platform.c' object='platform.o' libtool=no \ >depfile='.deps/platform.Po' tmpdepfile='.deps/platform.TPo' \ >depmode=gcc /bin/sh ../depcomp \ >cc -DPACKAGE=\"vorbis-tools\" -DVERSION=\"1.0rc2\" -I. -I. >-I../include -fno-common -O4 -Wall -fsigned-char -ffast-math -c >`test -f platform.c || echo './'`platform.c >/bin/sh ../libtool --mode=link cc -fno-common -O4 -Wall -fsigned-char >-ffast-math -o oggenc oggenc.o audio.o encode.o platform.o >-lvorbisenc -lvorbis -lm -logg ../share/libutf8.a ../share/libgetopt.a >mkdir .libs >cc -fno-common -O4 -Wall -fsigned-char -ffast-math -o oggenc oggenc.o >audio.o encode.o platform.o -L/usr/local/lib -lvorbisenc -lvorbis -lm >-logg ../share/libutf8.a ../share/libgetopt.a >/usr/bin/ld: multiple definitions of symbol _getopt >/usr/lib/libm.dylib(getopt.o) definition of _getopt >../share/libgetopt.a(getopt.o) definition of _getopt in section >(__TEXT,__text) >/usr/bin/ld: multiple definitions of symbol _optarg >/usr/lib/libm.dylib(getopt.o) definition of _optarg >../share/libgetopt.a(getopt.o) definition of _optarg in section >(__DATA,__common) >/usr/bin/ld: multiple definitions of symbol _opterr >/usr/lib/libm.dylib(getopt.o) definition of _opterr >../share/libgetopt.a(getopt.o) definition of _opterr in section >(__DATA,__data) >/usr/bin/ld: multiple definitions of symbol _optind >/usr/lib/libm.dylib(getopt.o) definition of _optind >../share/libgetopt.a(getopt.o) definition of _optind in section >(__DATA,__data) >/usr/bin/ld: multiple definitions of symbol _optopt >/usr/lib/libm.dylib(getopt.o) definition of _optopt >../share/libgetopt.a(getopt.o) definition of _optopt in section >(__DATA,__data) >make[2]: *** [oggenc] Error 1 >make[1]: *** [all-recursive] Error 1 >make: *** [all-recursive] Error 1 > > >--- >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-dev-request@xiph.org' >containing only the word 'unsubscribe' in the body. No subject is needed. >Unsubscribe messages sent to the list will be ignored/filtered.--- >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-dev-request@xiph.org' containing only the word 'unsubscribe' in the body. No subject is needed. Unsubscribe messages sent to the list will be ignored/filtered.
On Wed, 24 Oct 2001, Elifarley C.Coelho wrote:> Ok, I managed to compile the Ogg and Vorbis libs. Then, after modifying > the file audio_out.c as follows: > > original: #include <dlfcn.h> > modified: #include <win32/include/dlfcn.h> > > I was able to (finally!) compile libao. > > Then I tried to compile the module vorbis-tools, but uninvited problems > came to my party. > > [...] > > /usr/bin/ld: multiple definitions of symbol _getopt > > /usr/lib/libm.dylib(getopt.o) definition of _getopt > > ../share/libgetopt.a(getopt.o) definition of _getopt in section > > (__TEXT,__text) > [...]Ick. Looks like more library madness. Can you build the ao_example.c file in ao/doc (after you rebuild using the correct header file, as some people here have suggested)? That program just plays a short sine wave, which would let you make sure libao is working before you try to get vorbis-tools to work (which no one has even tried, to my knowledge). --- Stan Seibert --- >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-dev-request@xiph.org' containing only the word 'unsubscribe' in the body. No subject is needed. Unsubscribe messages sent to the list will be ignored/filtered.
> Ick. Looks like more library madness. Can you build the ao_example.c > file in > ao/doc (after you rebuild using the correct header file, as some people > here > have suggested)?After compiling and installing dlcompat, uninstalling libao, rolling back my change and compiling/installing it again, and then compiling ao_example, I get: --- [localhost:~/Sources/ao/doc] ecc% ./ao_example libao example program Error opening device. ---- Any suggestions ? [ Elifarley C. Coelho http://www.geocities.com/elifarley/ --- >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-dev-request@xiph.org' containing only the word 'unsubscribe' in the body. No subject is needed. Unsubscribe messages sent to the list will be ignored/filtered.