Bug#558642: Missing autoreconf to fix 554821 or similar bugs in the future

Peter Fritzsche peter.fritzsche at gmx.de
Sun Nov 29 01:40:07 UTC 2009


Source: wavpack
Version: 4.60.0-1
Severity: minor
User: peter.fritzsche at gmx.de
Usertags: missing-libtool-update

I did a rebuild of all packages which are affected by bug #554821. As it seems
your package doesnt do the needed autoreconf needed for libtool. When doing
autoreconf or the needed sequence of different autotools/libtool utilities the
package should be able to fix the problem automatically.
/usr/share/doc/autotools-dev/README.Debian.gz explains it in section "Basic
summary of packaging source that uses autotools".

The build was done in a cowbuild chroot with the patch from #554821 included in
/usr/share/aclocal/libtool.m4 and binutils-gold installed. All logs were then
greped for -export-symbols-regex and not including -version-script. This
should indicate that your package doesnt do the required autoreconf with
updating the libtools stuff.

A small extra test output "test-version-script" was added to libtool.m4 and
silent mode was disabled in global ltmain.sh so it is easier for me to decide if
it was really updated in case libtool doesnt output the ld command to stdout.
So if the output and "test-version-script" is missing then your program doesnt
update the files. I am sorry if this is still a false positive.

udev 147-5 for example fails completely due to new (unknown) symbols appearing
inside the .so, but `autoreconf -fi -I m4` (with libtool.m4 installed on my
system with the mentioned patch) fixes the problem. I had to remove a patch
with touches Makefile.in, but the rest worked out of the box. Maybe it is
better to copy all clean files into a extra directory, run autoreconf inside
the directory, build and install everything from that directory and in clean
remove that directory. This way the diff.gz should be clean and you still do
the necessary autoreconf. A package which does that is g3dviewer. Many other
packages like libupnp4 and compizconfig-python just ignore the fact that these
changes are included in debian.tar.gz/diff.gz

The interesting output inside the log of your program is:

/bin/bash ../libtool --tag=CC   --mode=link cc   -g -O2 -g -Wall -O2 -version-info 2:3:1 -export-symbols-regex '^Wavpack.*$' -no-undefined  -o libwavpack.la -rpath /usr/lib libwavpack_la-bits.lo libwavpack_la-float.lo libwavpack_la-metadata.lo libwavpack_la-unpack.lo libwavpack_la-unpack3.lo libwavpack_la-wputils.lo libwavpack_la-words.lo libwavpack_la-extra1.lo libwavpack_la-extra2.lo libwavpack_la-pack.lo libwavpack_la-tags.lo  -lm  
generating symbol list for `libwavpack.la'
/usr/bin/nm -B  .libs/libwavpack_la-bits.o .libs/libwavpack_la-float.o .libs/libwavpack_la-metadata.o .libs/libwavpack_la-unpack.o .libs/libwavpack_la-unpack3.o .libs/libwavpack_la-wputils.o .libs/libwavpack_la-words.o .libs/libwavpack_la-extra1.o .libs/libwavpack_la-extra2.o .libs/libwavpack_la-pack.o .libs/libwavpack_la-tags.o  | sed -n -e 's/^.*[ 	]\([ABCDGIRSTW][ABCDGIRSTW]*\)[ 	][ 	]*\([_A-Za-z][_A-Za-z0-9]*\)$/\1 \2 \2/p' | /bin/sed 's/.* //' | sort | uniq > .libs/libwavpack.exp
/bin/grep -E -e "^Wavpack.*$" ".libs/libwavpack.exp" > ".libs/libwavpack.expT"
mv -f ".libs/libwavpack.expT" ".libs/libwavpack.exp"
cc -shared  .libs/libwavpack_la-bits.o .libs/libwavpack_la-float.o .libs/libwavpack_la-metadata.o .libs/libwavpack_la-unpack.o .libs/libwavpack_la-unpack3.o .libs/libwavpack_la-wputils.o .libs/libwavpack_la-words.o .libs/libwavpack_la-extra1.o .libs/libwavpack_la-extra2.o .libs/libwavpack_la-pack.o .libs/libwavpack_la-tags.o  -lm  -Wl,-soname -Wl,libwavpack.so.1 -o .libs/libwavpack.so.1.1.3
(cd .libs && rm -f libwavpack.so.1 && ln -s libwavpack.so.1.1.3 libwavpack.so.1)
(cd .libs && rm -f libwavpack.so && ln -s libwavpack.so.1.1.3 libwavpack.so)
ar cru .libs/libwavpack.a  libwavpack_la-bits.o libwavpack_la-float.o libwavpack_la-metadata.o libwavpack_la-unpack.o libwavpack_la-unpack3.o libwavpack_la-wputils.o libwavpack_la-words.o libwavpack_la-extra1.o libwavpack_la-extra2.o libwavpack_la-pack.o libwavpack_la-tags.o
ranlib .libs/libwavpack.a
creating libwavpack.la
(cd .libs && rm -f libwavpack.la && ln -s ../libwavpack.la libwavpack.la)
make[2]: Leaving directory `/home/peter/rebuild/build/wavpack/wavpack-4.60.0/src'
...
dpkg-gensymbols: warning: some new symbols appeared in the symbols file: see diff output below
dpkg-gensymbols: warning: debian/libwavpack1/DEBIAN/symbols doesn't match completely debian/libwavpack1.symbols
--- debian/libwavpack1.symbols (libwavpack1 amd64)
+++ dpkg-gensymbolss9TZnS	2009-11-29 01:19:31.738333496 +0000
@@ -54,3 +54,77 @@
  WavpackUnpackSamples at Base 4.40.0
  WavpackUpdateNumSamples at Base 4.40.0
  WavpackWriteTag at Base 4.40.0
+ add_to_metadata at Base 4.60.0-1
+ bitmask at Base 4.60.0-1
+ bitset at Base 4.60.0-1
+ bs_close_read at Base 4.60.0-1
+ bs_close_write at Base 4.60.0-1
+ bs_open_read at Base 4.60.0-1
+ bs_open_write at Base 4.60.0-1
+ check_crc_error at Base 4.60.0-1
+ copy_metadata at Base 4.60.0-1
+ execute_mono at Base 4.60.0-1
+ execute_stereo at Base 4.60.0-1
+ exp2s at Base 4.60.0-1
+ float_values at Base 4.60.0-1
+ flush_word at Base 4.60.0-1
+ free_metadata at Base 4.60.0-1
+ free_stream3 at Base 4.60.0-1
+ free_tag at Base 4.60.0-1
+ get_sample_index3 at Base 4.60.0-1
+ get_version3 at Base 4.60.0-1
+ get_word at Base 4.60.0-1
+ get_words_lossless at Base 4.60.0-1
+ init_words at Base 4.60.0-1
+ init_wv_bitstream at Base 4.60.0-1
+ init_wvc_bitstream at Base 4.60.0-1
+ init_wvx_bitstream at Base 4.60.0-1
+ little_endian_to_native at Base 4.60.0-1
+ load_tag at Base 4.60.0-1
+ log2buffer at Base 4.60.0-1
+ log2s at Base 4.60.0-1
+ native_to_little_endian at Base 4.60.0-1
+ nbits_table at Base 4.60.0-1
+ nosend_word at Base 4.60.0-1
+ open_file3 at Base 4.60.0-1
+ pack_block at Base 4.60.0-1
+ pack_init at Base 4.60.0-1
+ process_metadata at Base 4.60.0-1
+ read_channel_info at Base 4.60.0-1
+ read_config_info at Base 4.60.0-1
+ read_decorr_samples at Base 4.60.0-1
+ read_decorr_terms at Base 4.60.0-1
+ read_decorr_weights at Base 4.60.0-1
+ read_entropy_vars at Base 4.60.0-1
+ read_float_info at Base 4.60.0-1
+ read_hybrid_profile at Base 4.60.0-1
+ read_int32_info at Base 4.60.0-1
+ read_metadata_buff at Base 4.60.0-1
+ read_sample_rate at Base 4.60.0-1
+ read_shaping_info at Base 4.60.0-1
+ read_wrapper_data at Base 4.60.0-1
+ restore_weight at Base 4.60.0-1
+ scan_float_data at Base 4.60.0-1
+ scan_word at Base 4.60.0-1
+ seek_sample3 at Base 4.60.0-1
+ send_float_data at Base 4.60.0-1
+ send_word at Base 4.60.0-1
+ send_words_lossless at Base 4.60.0-1
+ store_weight at Base 4.60.0-1
+ unpack_init at Base 4.60.0-1
+ unpack_samples3 at Base 4.60.0-1
+ unpack_samples at Base 4.60.0-1
+ valid_tag at Base 4.60.0-1
+ word_set_bitrate at Base 4.60.0-1
+ write_channel_info at Base 4.60.0-1
+ write_config_info at Base 4.60.0-1
+ write_decorr_samples at Base 4.60.0-1
+ write_decorr_terms at Base 4.60.0-1
+ write_decorr_weights at Base 4.60.0-1
+ write_entropy_vars at Base 4.60.0-1
+ write_float_info at Base 4.60.0-1
+ write_hybrid_profile at Base 4.60.0-1
+ write_int32_info at Base 4.60.0-1
+ write_metadata_block at Base 4.60.0-1
+ write_sample_rate at Base 4.60.0-1
+ write_shaping_info at Base 4.60.0-1





More information about the pkg-multimedia-maintainers mailing list