[Pkg-alsa-devel] Bug#573881: alsa-lib: subsequent builds produce different library symbols
Andres Salomon
dilinger at queued.net
Sun Mar 14 17:48:19 UTC 2010
Package: alsa-lib
Version: 1.0.22-2
Severity: important
The first time kicking off an alsa-lib build on a squeeze machine results
in the following:
dilinger at droptest:~/alsa-lib-1.0.22$ objdump -T debian/libasound2/usr/lib/libasound.so.2|grep snd_pcm_hw_params_get_channels_min
0004ce50 g DF .text 0000003a ALSA_0.9.0rc4 snd_pcm_hw_params_get_channels_min
0004ce90 g DF .text 00000032 (ALSA_0.9) snd_pcm_hw_params_get_channels_min
0004ce50 g DF .text 0000003a ALSA_0.9 __snd_pcm_hw_params_get_channels_min
dilinger at droptest:~/alsa-lib-1.0.22$ objdump -T debian/libasound2/usr/lib/libasound.so.2|grep snd_pcm_hw_params_get_channels_min
0004c7c0 w DF .text 0000003a ALSA_0.9.0rc4 snd_pcm_hw_params_get_channels_min
0004c7c0 g DF .text 0000003a ALSA_0.9 __snd_pcm_hw_params_get_channels_min
This is benign, though slightly strange (and risky; what else has changed?).
However, doing two builds in a row on a lenny chroot, I get:
0004d680 g DF .text 0000003a ALSA_0.9.0rc4 snd_pcm_hw_params_get_channels_min
0004d6c0 g DF .text 00000032 (ALSA_0.9) snd_pcm_hw_params_get_channels_min
0004d680 g DF .text 0000003a ALSA_0.9 __snd_pcm_hw_params_get_channels_min
vs (for the second build):
0004cfe0 w DF .text 0000003a ALSA_0.9 snd_pcm_hw_params_get_channels_min
0004cfe0 g DF .text 0000003a ALSA_0.9 __snd_pcm_hw_params_get_channels_min
This is.. less nice. Note that the ALSA_0.9.0rc4 symbol has been dropped.
The main differences between the build logs is that in the second build,
distclean is run, and the following (this is the same across both squeeze
and lenny builds):
dpkg-source: info: building alsa-lib using existing ./alsa-lib_1.0.22.orig.tar.bz2
+dpkg-source: warning: ignoring deletion of file libtool
dpkg-source: warning: ignoring deletion of file config.guess
dpkg-source: warning: ignoring deletion of file config.sub
+dpkg-source: warning: ignoring deletion of file doc/doxygen.cfg
+dpkg-source: warning: ignoring deletion of file src/Versions
+dpkg-source: warning: ignoring deletion of file include/asoundlib.h
+dpkg-source: warning: ignoring deletion of file include/version.h
dpkg-source: warning: ignoring deletion of symlink include/alsa
...
checking for library version... major 1 minor 0 subminor 22 extrastr extraver 1000000
-checking for versioned symbols... yes
+checking for versioned symbols... grep: libtool: No such file or directory
+./configure: line 11083: test: too many arguments
+./configure: line 11086: test: -gt: unary operator expected
+broken libtool - use libtool v1.4+; no versions
checking for symbolic-functions... no
...
make[4]: Entering directory `/home/dilinger/alsa-lib-1.0.22/include'
+Updating version.h
make[4]: Leaving directory `/home/dilinger/alsa-lib-1.0.22/include'
Note that during distclean, things like alsa-lib-1.0.22/libtool are
removed. This is what causes the autoconf screw-up. I'm not sure
if that's the reason for the differences in symbols or not.
I'll keep poking at it to try and narrow down the cause.
More information about the Pkg-alsa-devel
mailing list