[Pkg-rust-maintainers] 1.7 nightly builds/tests ok but fails "binary" target
Ximin Luo
infinity0 at debian.org
Mon Jan 4 10:44:02 UTC 2016
I auto-generated source tarballs out of current git using the attached script. It builds fine but fails during "fakeroot debian/rules binary". I don't have time to debug it right now but I thought perhaps the error would be more easily recognised by someone else.
Packages are here: https://people.debian.org/~infinity0/apt/pool/contrib/r/rustc/
$ sudo cowbuilder --build rustc_1.7.0~~nightly.20160103+dfsg1-1.dsc
[..]
test result: ok. 40 passed; 0 failed; 0 ignored; 0 measured
summary of 49 test runs: 9737 passed; 0 failed; 85 ignored; 0 measured
make[2]: Leaving directory '/build/rustc-1.7.0~~nightly.20160103+dfsg1'
make[1]: Leaving directory '/build/rustc-1.7.0~~nightly.20160103+dfsg1'
fakeroot debian/rules binary
dh binary --parallel
dh_testroot
dh_prep
debian/rules override_dh_auto_install
make[1]: Entering directory '/build/rustc-1.7.0~~nightly.20160103+dfsg1'
dh_auto_install --destdir=/build/rustc-1.7.0~~nightly.20160103+dfsg1/debian/tmp
make -j1 install DESTDIR=/build/rustc-1.7.0\~\~nightly.20160103\+dfsg1/debian/tmp AM_UPDATE_INFO_DIR=no
make[2]: Entering directory '/build/rustc-1.7.0~~nightly.20160103+dfsg1'
cfg: version 1.7.0-nightly
cfg: build triple x86_64-unknown-linux-gnu
cfg: host triples x86_64-unknown-linux-gnu
cfg: target triples x86_64-unknown-linux-gnu
cfg: host for x86_64-unknown-linux-gnu is x86_64
cfg: os for x86_64-unknown-linux-gnu is unknown-linux-gnu
cfg: have good valgrind for x86_64-unknown-linux-gnu
cfg: using CC=gcc (CFG_CC)
cfg: enabling valgrind run-pass tests (CFG_ENABLE_VALGRIND_RPASS)
cfg: valgrind-rpass command set to "/usr/bin/valgrind" --error-exitcode=100 --fair-sched=try --quiet --soname-synonyms=somalloc=NONE --suppressions=/build/rustc-1.7.0~~nightly.20160103+dfsg1/src/etc/x86.supp --tool=memcheck --leak-check=full
cfg: including prepare rules
cfg: including dist rules
cfg: including install rules
make[3]: Entering directory '/build/rustc-1.7.0~~nightly.20160103+dfsg1'
[..]
make[3]: Leaving directory '/build/rustc-1.7.0~~nightly.20160103+dfsg1'
install: creating uninstall script at /build/rustc-1.7.0~~nightly.20160103+dfsg1/debian/tmp/usr/lib/rustlib/uninstall.sh
install: installing component 'rust-docs'
Rust documentation is installed.
install: creating uninstall script at /build/rustc-1.7.0~~nightly.20160103+dfsg1/debian/tmp/usr/lib/rustlib/uninstall.sh
install: installing component 'rust-std-x86_64-unknown-linux-gnu'
std is standing at the ready.
install: creating uninstall script at /build/rustc-1.7.0~~nightly.20160103+dfsg1/debian/tmp/usr/lib/rustlib/uninstall.sh
install: installing component 'rustc'
install: WARNING: failed to run ldconfig. this may happen when not installing as root. run with --verbose to see the error
Rust is ready to roll.
make[2]: Leaving directory '/build/rustc-1.7.0~~nightly.20160103+dfsg1'
mkdir -p /build/rustc-1.7.0~~nightly.20160103+dfsg1/debian/tmp/usr/lib/x86_64-linux-gnu/
mv /build/rustc-1.7.0~~nightly.20160103+dfsg1/debian/tmp/usr/lib/lib*.so /build/rustc-1.7.0~~nightly.20160103+dfsg1/debian/tmp/usr/lib/x86_64-linux-gnu/
# Replace duplicated compile-time/run-time dylibs with symlinks
ln -sf ../../../x86_64-linux-gnu/libarena-17a8ccbd.so /build/rustc-1.7.0~~nightly.20160103+dfsg1/debian/tmp/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libarena-17a8ccbd.so
[..]
ln -sf ../../../x86_64-linux-gnu/libtest-17a8ccbd.so /build/rustc-1.7.0~~nightly.20160103+dfsg1/debian/tmp/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libtest-17a8ccbd.so
# Brute force to remove privacy-breach-logo lintian warning.
# We could have updated the upstream sources but it would complexify
# the rebase
find /build/rustc-1.7.0~~nightly.20160103+dfsg1/debian/tmp \( -iname '*.html' -empty -o -name .lock -o -name '*.inc' \) -delete
make[1]: Leaving directory '/build/rustc-1.7.0~~nightly.20160103+dfsg1'
debian/rules override_dh_install
make[1]: Entering directory '/build/rustc-1.7.0~~nightly.20160103+dfsg1'
dh_install
dh_install -plibstd-rust-1.7.0~~nightly.201601 usr/lib/x86_64-linux-gnu/
chmod -x \
debian/rust-gdb/usr/share/rust-gdb/*.py \
debian/rust-lldb/usr/share/rust-lldb/*.py
make[1]: Leaving directory '/build/rustc-1.7.0~~nightly.20160103+dfsg1'
debian/rules override_dh_installdocs
make[1]: Entering directory '/build/rustc-1.7.0~~nightly.20160103+dfsg1'
dh_installdocs -X.tex -X.aux -X.log -X.out -X.toc
make[1]: Leaving directory '/build/rustc-1.7.0~~nightly.20160103+dfsg1'
debian/rules override_dh_installchangelogs
make[1]: Entering directory '/build/rustc-1.7.0~~nightly.20160103+dfsg1'
dh_installchangelogs RELEASES.md
make[1]: Leaving directory '/build/rustc-1.7.0~~nightly.20160103+dfsg1'
dh_installman
dh_lintian
dh_perl
dh_link
dh_strip_nondeterminism
debian/rules override_dh_compress
make[1]: Entering directory '/build/rustc-1.7.0~~nightly.20160103+dfsg1'
dh_compress -X.woff
make[1]: Leaving directory '/build/rustc-1.7.0~~nightly.20160103+dfsg1'
dh_fixperms
dh_strip
debian/rules override_dh_makeshlibs
make[1]: Entering directory '/build/rustc-1.7.0~~nightly.20160103+dfsg1'
dh_makeshlibs -V
# dh_makeshlibs doesn't support our "libfoo-version.so" naming
# structure, so we have to do this ourselves.
install -o 0 -g 0 -d debian/libstd-rust-1.7.0~~nightly.201601/DEBIAN
ls debian/libstd-rust-1.7.0~~nightly.201601/usr/lib/x86_64-linux-gnu/lib*.so | \
sed -n 's,^.*/\(lib.*\)-\(.\+\)\.so$,\1 \2,p' | \
while read name version; do \
echo "$name $version libstd-rust-1.7.0~~nightly.201601 (>= 1.7.0~~nightly.20160103+dfsg1)"; \
done > debian/libstd-rust-1.7.0~~nightly.201601/DEBIAN/shlibs
ls: cannot access debian/libstd-rust-1.7.0~~nightly.201601/usr/lib/x86_64-linux-gnu/lib*.so: No such file or directory
chmod 644 debian/libstd-rust-1.7.0~~nightly.201601/DEBIAN/shlibs
chown 0:0 debian/libstd-rust-1.7.0~~nightly.201601/DEBIAN/shlibs
make[1]: Leaving directory '/build/rustc-1.7.0~~nightly.20160103+dfsg1'
debian/rules override_dh_shlibdeps
make[1]: Entering directory '/build/rustc-1.7.0~~nightly.20160103+dfsg1'
dh_shlibdeps -- -xlibstd-rust-1.7.0~~nightly.201601
dpkg-shlibdeps: error: couldn't find library librustdoc-17a8ccbd.so needed by debian/rustc/usr/bin/rustdoc (ELF format: 'elf64-x86-64'; RPATH: '')
dpkg-shlibdeps: error: couldn't find library libstd-17a8ccbd.so needed by debian/rustc/usr/bin/rustdoc (ELF format: 'elf64-x86-64'; RPATH: '')
dpkg-shlibdeps: error: couldn't find library librustc_driver-17a8ccbd.so needed by debian/rustc/usr/bin/rustc (ELF format: 'elf64-x86-64'; RPATH: '')
dpkg-shlibdeps: error: couldn't find library libstd-17a8ccbd.so needed by debian/rustc/usr/bin/rustc (ELF format: 'elf64-x86-64'; RPATH: '')
dpkg-shlibdeps: error: cannot continue due to the errors listed above
Note: libraries are not searched in other binary packages that do not have any shlibs or symbols file.
To help dpkg-shlibdeps find private libraries, you might need to use -l.
dh_shlibdeps: dpkg-shlibdeps -Tdebian/rustc.substvars -xlibstd-rust-1.7.0~~nightly.201601 debian/rustc/usr/bin/rustc debian/rustc/usr/bin/rustdoc returned exit code 2
debian/rules:154: recipe for target 'override_dh_shlibdeps' failed
make[1]: *** [override_dh_shlibdeps] Error 2
make[1]: Leaving directory '/build/rustc-1.7.0~~nightly.20160103+dfsg1'
debian/rules:63: recipe for target 'binary' failed
make: *** [binary] Error 2
dpkg-buildpackage: error: fakeroot debian/rules binary gave error exit status 2
I: copying local configuration
E: Failed autobuilding of package
I: unmounting dev/pts filesystem
I: unmounting run/shm filesystem
I: unmounting proc/sys/fs/binfmt_misc filesystem
I: unmounting proc filesystem
-> Cleaning COW directory
forking: rm -rf /var/cache/pbuilder/build/cow.16495
1
--
GPG: 4096R/1318EFAC5FBBDBCE
git://github.com/infinity0/pubkeys.git
-------------- next part --------------
A non-text attachment was scrubbed...
Name: upgrade-rust.sh
Type: application/x-shellscript
Size: 2331 bytes
Desc: not available
URL: <http://lists.alioth.debian.org/pipermail/pkg-rust-maintainers/attachments/20160104/e3e6900c/attachment.bin>
More information about the Pkg-rust-maintainers
mailing list