Curt Sampson
2004-Sep-10  16:47 UTC
[Flac-users] Undefined PLT symbol "FLAC__plugin_common__init_dither_context"
Well, I've rebuilt flac from the original source, without using the NetBSD
package system, and I'm still seeing the same problem with the XMMS FLAC
plugin:
/usr/pkg/lib/xmms/Input/libxmms-flac.so: Undefined PLT symbol
"FLAC__plugin_common__init_dither_context" (symnum = 30)
I can see that the symbol is defined in the common library:
$ nm src/plugin_common/libplugin_common.a  | grep init_dither_context
00000880 T FLAC__plugin_common__init_dither_context
But it's never copied out of that library and linked into the xmms plugin:
$ nm src/plugin_xmms/.libs/libxmms-flac.so   | grep init_dither_context
         U FLAC__plugin_common__init_dither_context
Any idea what I should be doing to fix this? Would it be better to post
this question on the developers' list?
cjs
-- 
Curt Sampson  <cjs@cynic.net>   +81 90 7737 2974   http://www.NetBSD.org
    Don't you know, in this new Dark Age, we're all light.  --XTC
Curt Sampson
2004-Sep-10  16:47 UTC
[Flac-users] Undefined PLT symbol "FLAC__plugin_common__init_dither_context"
Here seems to be the source of my XMMS plugin problems. I've attached
the messages when I make just the plugin, and as we can see it's
definitely not linking in the routines from several other libraries.
I'me not familiar with libtool, so I don't know what needs to be changed
to get this to happen.
cjs
-- 
Curt Sampson  <cjs@cynic.net>   +81 90 7737 2974   http://www.NetBSD.org
    Don't you know, in this new Dark Age, we're all light.  --XTC
../../libtool-disable-static --mode=link gcc  -I../.. -I./include
-I../../include -O3 -DNDEBUG -fomit-frame-pointer -funroll-loops
-finline-functions -Wall -W -Winline -DFLaC__INLINE=__inline__ -g -O2 
-I/usr/pkg/include -I/usr/pkg/include/xmms -I/usr/pkg/include/gtk-1.2
-I/usr/pkg/include/glib/glib-1.2 -I/usr/pkg/lib/glib/include
-I/usr/X11R6/include   -o libxmms-flac.la -rpath /usr/pkg/lib/xmms/Input -module
-avoid-version charset.lo configure.lo plugin.lo wrap_id3.lo fileinfo.lo
../../src/plugin_common/libplugin_common.a ../../src/share/grabbag/libgrabbag.a
../../src/share/gain_analysis/libgain_analysis.a ../../src/share/utf8/libutf8.a
../../src/libFLAC/libFLAC.la -L../../src/libFLAC/.libs -L/usr/pkg/lib
-L/usr/pkg/lib -Wl,-R/usr/pkg/lib -Wl,-R/usr/X11R6/lib -L/usr/X11R6/lib
-L/usr/X11R6/lib -lgtk -lgdk -lgmodule -lglib -lintl -lXi -lXext -lX11 -lm
-lxmms
mkdir .libs
*** Warning: This library needs some functionality provided by
../../src/plugin_common/libplugin_common.a.
*** I have the capability to make that library automatically link in when
*** you link to this library.  But I can only do this if you have a
*** shared version of the library, which you do not appear to have.
*** Warning: This library needs some functionality provided by
../../src/share/grabbag/libgrabbag.a.
*** I have the capability to make that library automatically link in when
*** you link to this library.  But I can only do this if you have a
*** shared version of the library, which you do not appear to have.
*** Warning: This library needs some functionality provided by
../../src/share/gain_analysis/libgain_analysis.a.
*** I have the capability to make that library automatically link in when
*** you link to this library.  But I can only do this if you have a
*** shared version of the library, which you do not appear to have.
*** Warning: This library needs some functionality provided by
../../src/share/utf8/libutf8.a.
*** I have the capability to make that library automatically link in when
*** you link to this library.  But I can only do this if you have a
*** shared version of the library, which you do not appear to have.
rm -fr .libs/libxmms-flac.la .libs/libxmms-flac.* .libs/libxmms-flac.*
gcc -shared -nodefaultlibs  charset.lo configure.lo plugin.lo wrap_id3.lo
fileinfo.lo  -Wl,--rpath -Wl,/usr/local/src/flac-1.1.0/src/libFLAC/.libs
-Wl,--rpath -Wl,/usr/pkg/lib -Wl,--rpath -Wl,/usr/local/lib -Wl,--rpath
-Wl,/usr/pkg/lib  ../../src/libFLAC/.libs/libFLAC.so
-L/usr/local/src/flac-1.1.0/src/libFLAC/.libs -L/usr/pkg/lib -L/usr/X11R6/lib
/usr/pkg/lib/libgtk.so /usr/pkg/lib/libgdk.so /usr/pkg/lib/libgmodule.so
/usr/pkg/lib/libglib.so -lintl -lXi -lXext -lX11 -lm /usr/pkg/lib/libxmms.so 
-Wl,-R/usr/pkg/lib -Wl,-R/usr/X11R6/lib -Wl,-soname -Wl,libxmms-flac.so -o
.libs/libxmms-flac.so
creating libxmms-flac.la
(cd .libs && rm -f libxmms-flac.la && ln -s ../libxmms-flac.la
libxmms-flac.la)