Subject: Re: xmms-flac plugin broken?
To: Johnny C. Lam <jlam@netbsd.org>
From: Ron Roskens <roskens@elfin.net>
List: tech-pkg
Date: 08/24/2003 15:02:36
Johnny & Curt,

I looked at this and I've got a couple of patches which modify the
makefiles to build the libraries as libtool libraries. The original
makefiles would use libtool to compile the objects, but would build the
static libraries using ${AR}. My patches are available at:

    http://www.elfin.net/netbsd/xmms-flac-patches.tar.gz

Copy them into ${LOCALPATCHES}/audio/xmms-flac/ and re-install xmms-flac.

On Sun, 24 Aug 2003, Johnny C. Lam wrote:

> Hi, Curt:
>
> Could you send a pkg PR with this information included?  I think that
> either we modify xmms to not build using "libtool-disable-static", or
> we also build those static archives that the libtool is tripping over
> as shared libraries too, or we take all of the *.lo objects that are
> created by libtool as part of creating those static archives and
> explicitly link them into libxmms-flac.la.  The log you've posted
> here, plus an inspection of the xmmx-flac code, should provide enough
> information for whoever looks at the PR to determine the correct fix.
>
> 	Cheers,
>
> 	-- Johnny Lam <jlam@netbsd.org>
>
> On Sun, Aug 24, 2003 at 03:23:06PM +0900, Curt Sampson wrote:
> > I've got a bit more information on the audio/xmms-flac plugin being broken.
> > I've tried downloading the source and compiling it outside of the package
> > system, and I still have the same problem. But I see this when I compile:
> >
> > ../../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)
> >
> > It seems that libtool is not pulling functions out of some other
> > libraries and inserting them into the libxmms-flac.so library. I'm not
> > very familiar with libtool, unfortunately. Does anybody know how to get
> > it to do the right thing?
> >
> > 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
>