Help with undefined library symbol?

walt wa1ter at myrealbox.com
Fri Feb 23 22:02:44 PST 2007


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?





More information about the Users mailing list