While trying to install xmms and/or its new cousin audacious, I run into an undefined symbol while trying to load the CD plugin. The code compiles without error.
This is from cdaudio.h and cdaudio.c in audio/xmms and also in wip/audacious-plugins int read_audio_data(int fd, int pos, int num, void *buf); int read_audio_data(int fd, int pos, int num, void *buf) { int bs = CD_FRAMESIZE_RAW; if (ioctl(fd, CDRIOCSETBLOCKSIZE, &bs) == -1) return -1; if (pread(fd, buf, num * bs, (pos - 150) * bs) != num * bs) return -1; return num; } # nm cdaudio.o |grep read_audio U read_audio_data The same code in FreeBSD produces a defined symbol instead, but I don't see what make the difference. The code is surrounded by ifdefs which I eventually deleted out of pure desperation, but it made no difference. Can anyone make a guess?