Subject: pkg/10446: loading errors using XMMS's plugins
To: None <>
From: Brian de Alwis <>
List: netbsd-bugs
Date: 06/25/2000 20:24:10
>Number:         10446
>Category:       pkg
>Synopsis:       loading errors using XMMS's plugins
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    pkg-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sun Jun 25 20:25:00 PDT 2000
>Originator:     Brian de Alwis
>Release:        thorpej's May 26 snapshot of 1.4Z
System: NetBSD 1.4Z NetBSD 1.4Z (GENERIC) #12: Sat May 27 16:55:41 PDT 2000 root@swinger:/u1/snapshots/src/sys/arch/i386/compile/GENERIC i386
Package: audio/xmms; installs xmms-1.0.1

Running xmms `compiled out-of-the-box' produces the following output:

    $ xmms
    /usr/pkg/lib/xmms/Output/ Undefined PLT symbol "_oss_ioctl"
    (reloc type = 7, symnum = 26)
    /usr/pkg/lib/xmms/Input/ Undefined PLT symbol "_oss_ioctl"
    (reloc type = 7, symnum = 30)

This symbol is in /usr/lib/  Doing an `ldd' on, say
`' produces:

    $ pwd
    $ ldd .libs/
	     -lc.12 => /usr/lib/

No It turns out that our pkglibtool (pkglibtool-ELF-1.2p2)
doesn't specify prereq libraries when actually building a shared-library.
And since the xmms binary isn't linked against, the
shlib is not found at run-time, and there are unresolved symbols.

I'll note that we have other libraries which specify prereqs, like

Maybe this is a bug with XMMS's setup? That it should specify
certain libraries as essential? Or maybe it's a problem with configure,
that isn't realizing this requirement?

    $ cd /usr/pkgsrc/audio/xmms; make install
    $ /usr/pkg/bin/xmms
    <watch the PLT errors>

    Explicitly specify the dependent libraries? Linking by hand produces
    the right ldd results; I'm not quite sure how to modify libtool
    to do this though.