[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