[vorbis-dev] building under NetBSD and using /dev/audio

Jeremy C. Reed reed at reedmedia.net
Wed Feb 28 12:04:12 PST 2001



Another followup :)

Should I stop? Is there any interest in building under NetBSD? (I assume
there is, especially since the license change.)

> But ogg123 (or ao_get_driver_id) still thinks that oss is not a device and
> is using "null" as the default.

I added a bunch of printf's to the library code. This helped me track down
which routines are working. I changed src/audio_out.c so I could find out
why the plugin_file wasn't recognized. dlerror() reported:

  /usr/local/lib/ao/liboss.so: Undefined PLT symbol
  "_oss_ioctl" (reloc type = 7, symnum = 13)

This problem at build time went away when I used dlopen(plugin_file,
DL_LAZY), and "oss" was finally recognized. But then this error ocurrs at
run time.

I believe this is caused because liboss.so is not linked against
libossaudio.so. My src/plugins/oss/Makefile only has -lossaudio used once
for ESD_LIBS. (This makes no sense -- why would this have references to
ESD_ which are not even used?) I tried adding -lossaudio to LIBS and 
CFLAGS, but it made no difference. The relevant part of my make follows:

/bin/sh ../../../libtool --mode=compile gcc
-DPACKAGE=\"libao\" -DVERSION=\"0.6.
0\" -DSIZEOF_SHORT=2 -DSIZEOF_INT=4 -DSIZEOF_LONG=4 -DHAVE_SOUNDCARD_H=1
-DHAVE_
SOUNDCARD_H=1  -I. -I. -I../../.. -I../../../include    -O20
-D__NO_MATH_INLINES
 -fsigned-char -DAO_PLUGIN_PATH=\"/usr/local/lib/ao\" -c ao_oss.c
gcc -DPACKAGE=\"libao\" -DVERSION=\"0.6.0\" -DSIZEOF_SHORT=2
-DSIZEOF_INT=4 -DSI
ZEOF_LONG=4 -DHAVE_SOUNDCARD_H=1 -DHAVE_SOUNDCARD_H=1
-I. -I. -I../../.. -I../..
/../include -O20 -D__NO_MATH_INLINES -fsigned-char
-DAO_PLUGIN_PATH=\"/usr/local
/lib/ao\" -c ao_oss.c  -fPIC -DPIC -o ao_oss.lo
/bin/sh ../../../libtool --mode=link gcc  -O20 -D__NO_MATH_INLINES
-fsigned-char
 -DAO_PLUGIN_PATH=\"/usr/local/lib/ao\"  -o liboss.la -rpath
/usr/local/lib/ao -
export-dynamic -avoid-version ao_oss.lo  
rm -fr .libs/liboss.la .libs/liboss.* .libs/liboss.*
(cd . && ln -s ao_oss.lo ao_oss.o)
/usr/bin/ld -Bshareable  ao_oss.lo   -o .libs/liboss.so.0.0
(cd .libs && rm -f liboss.so.0 && ln -s liboss.so.0.0 liboss.so.0)
(cd .libs && rm -f liboss.so && ln -s liboss.so.0.0 liboss.so)
(cd .libs && rm -f liboss.so && ln -s liboss.so.0.0 liboss.so)
creating liboss.la
(cd .libs && rm -f liboss.la && ln -s ../liboss.la liboss.la)

How can I get the Makefile to add the necessary shared library
dependency?

By the way, I also receive:
  /usr/local/lib/ao/libesd.so: Undefined PLT symbol
  "esd_play_stream" (reloc type = 7, symnum = 8)

   Jeremy C. Reed
   http://www.reedmedia.net/

--- >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 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-dev mailing list