[Pkg-alsa-devel] Re: [Alsa-devel] 1.0.13rc3: relocation error:
mocp: symbol snd_pcm_hw_params_get_channels_min ..
Jaroslav Kysela
perex at suse.cz
Wed Sep 27 18:55:57 UTC 2006
On Wed, 27 Sep 2006, Elimar Riesebieter wrote:
> On Wed, 27 Sep 2006 the mental interface of
> Takashi Iwai told:
>
> > At Tue, 26 Sep 2006 17:03:29 -0400,
> > Lee Revell wrote:
> > >
> > > On Tue, 2006-09-26 at 22:40 +0200, Elimar Riesebieter wrote:
> > > > On Tue, 26 Sep 2006 the mental interface of
> > > > Lee Revell told:
> > > >
> > > > > On Tue, 2006-09-26 at 22:13 +0200, Elimar Riesebieter wrote:
> > > > > > Hi all,
> > > > > >
> > > > > > I am testing 1.0.13rc3 (lib/driver/utils) on PPC/2.6.18
> > > > > >
> > > > > > Starting a soundapp like moc gives:
> > > > > >
> > > > > > "relocation error: mocp: symbol snd_pcm_hw_params_get_channels_min,
> > > > > > version ALSA_0.9.0rc4 not defined in file libasound.so.2 with link
> > > > > > time reference"
> > > > > >
> > > > > > Any hints?
> > > > > >
> > > > >
> > > > > Application was compiled against a different alsa-lib version than is
> > > > > present.
> > > >
> > > > This was my idea as well, but apps compiled with versions << 1.0.12
> > > > are running with 1.0.13rc2?
> > >
> > > It's not guaranteed that using a wrong library version won't work.
> >
> > The backward compatibility is guaranteed.
> > That's the very reason that such a versioned symbol was introduced.
> > (And it was a big failure...)
> >
> > Please don't mix up the things about config files and the library ABI
> > compatibility. In a very rare case, the configuration file doesn't
> > match with the driver version. This happend once on emu10k1 (and
> > people now think that it's a frequent case, unforunately, although
> > we've tried to keep the compatibility of config stuff since then).
> > But, the ABI is kept backward-compatible for many years.
> >
> > So, you don't have to use the same version of alsa-lib. In general,
> > the newer version is always better. The newer one includes more
> > bugfixes and new features.
> >
> >
> > BTW, the problem here looks like a build of alsa-lib with versioned
> > symbols. Or, the app isn't linked to libasound at compile time, so it
> > couldn't resolve the versioned symbols properly. It's a common
> > problem with versioned symbols.
>
> The libs where build as follows:
>
> ../configure --prefix=/usr \
> --mandir=\$${prefix}/share/man \
> --infodir=\$${prefix}/share/info \
> --datadir=\$${prefix}/share \
> --host=$(DEB_HOST_GNU_TYPE) \
> --enable-static --disable-maintainer-mode
>
> where --enable-shared[=PKGS] build shared libraries
> points by default to yes
I would follow this paragraph from the INSTALL file:
Compilation of static library
-----------------------------
If you would like to use the static ALSA library, you need to use these
options for the configure script:
./configure --enable-shared=no --enable-static=yes
Unfortunately, due to bug in the libtool script, the shared and static
library cannot be built together.
Jaroslav
-----
Jaroslav Kysela <perex at suse.cz>
Linux Kernel Sound Maintainer
ALSA Project, SUSE Labs
More information about the Pkg-alsa-devel
mailing list