[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [fluid-dev] New debian/ubuntu package available for testing
From: |
Pedro Lopez-Cabanillas |
Subject: |
Re: [fluid-dev] New debian/ubuntu package available for testing |
Date: |
Sun, 10 May 2009 21:14:08 +0200 |
User-agent: |
KMail/1.9.6 (enterprise 20070904.708012) |
On Sunday, May 10, 2009, address@hidden wrote:
> Quoting David Henningsson <address@hidden>:
> > Bernat Arlandis i Mañó skrev:
> >> but building the package gives these warnings:
> >>
> >> dpkg-shlibdeps: warning: dependency on libpthread.so.0 could be avoided
> >> if "debian/fluidsynth/usr/bin/fluidsynth" were not uselessly linked
> >> against it (they use none of its symbols).
> >
> > Since "ldd fluidsynth" displays a dependency on libpthread this issue
> > seems to be inherited from upstream. Is this a problem that can be fixed
> > by editing the autotools files? Josh, perhaps you know how to fix that?
>
> I lack some knowledge in the area of shared libraries. I notice that
> when running ldd on the fluidsynth executable, it comes up with a
> large list of dependencies, which aren't actually used in the
> fluidsynth application itself, but are instead dependencies of
> libfluidsynth. Perhaps ldd is recursively listing the dependencies
> though?
Yes, it is. But you can give -u and -r in the command line to avoid indirect
dependencies. This is what I got here:
$ ldd -u -r /usr/bin/fluidsynth
Unused direct dependencies:
/lib/libreadline.so.5
/lib/libncurses.so.5
/usr/local/lib/libjack.so.0
/usr/lib/libasound.so.2
/lib/libm.so.6
/lib/libdl.so.2
/lib/librt.so.1
/usr/lib/libpulse-simple.so.0
/usr/lib/libpulse.so.0
/lib/libpthread.so.0
(a lot of unused dependencies!)
> The src/Makefile.am is using "fluidsynth_LDADD = libfluidsynth.la" to
> link in the libfluidsynth library. This seems correct and I'm not
> sure where any other unnecessary linkage is occurring.
IMO, the easiest way to fix this would be to add a flag for the linker [1],
one of these lines in src/Makefile.am:
fluidsynth_LDFLAGS = -Wl,--as-needed
or
AM_LDFLAGS = -Wl,--as-needed
or set this environment variable before executing configure:
LDFLAGS=-Wl,--as-needed
Can you test for unwanted side effects?
Regards,
Pedro
[1] http://www.gentoo.org/proj/en/qa/asneeded.xml