Bug#779579: installer broken: multipath-udeb depends on non-existent libgcc1 udeb
On 03/04/2015 01:02 AM, Mauricio Faria de Oliveira wrote: Hi Siresh, On 03/03/2015 08:32 AM, Mauricio Faria de Oliveira wrote: Sure, I can try and should send a patch soon. I've modified the build-arch target to build multipath-udeb first, and store its output in a different directory; and the install target to use that dir only for dh_install of multipath-udeb. May you please consider it for an upload? Thanks Mauricio. I've uploaded the package and raised an unblock request. Debian Bug #779701 Hopefully, this will be unblocked immediate. -- Ritesh Raj Sarraf | http://people.debian.org/~rrs Debian - The Universal Operating System signature.asc Description: OpenPGP digital signature
Bug#779579: installer broken: multipath-udeb depends on non-existent libgcc1 udeb
Mauricio Faria de Oliveira mauri...@linux.vnet.ibm.com (2015-03-03): (BTW, espeakup-udeb is broken too; that approach no longer works.) ~ # anna-install espeakup-udeb ~ # espeakup espeakup: error while loading shared libraries: libgcc_s.so.1: cannot open shared object file: No such file or directory (JFTR: espeakup certainly runs properly in the netboot-gtk mini.iso when selecting speech synthesis.) Mraw, KiBi. signature.asc Description: Digital signature
Bug#779579: installer broken: multipath-udeb depends on non-existent libgcc1 udeb
On 03/04/2015 06:43 AM, Cyril Brulebois wrote: Mauricio Faria de Oliveiramauri...@linux.vnet.ibm.com (2015-03-03): (BTW, espeakup-udeb is broken too; that approach no longer works.) (JFTR: espeakup certainly runs properly in the netboot-gtk mini.iso when selecting speech synthesis.) Ah, thanks for clarifying. I didn't know of that context/option; sorry. -- Mauricio Faria de Oliveira IBM Linux Technology Center -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Bug#779579: installer broken: multipath-udeb depends on non-existent libgcc1 udeb
Hi Ritesh, On 03/04/2015 06:12 AM, Ritesh Raj Sarraf wrote: Thanks Mauricio. I've uploaded the package and raised an unblock request. Debian Bug #779701 Hopefully, this will be unblocked immediate. Thanks! I just tested the package in incoming.d.o and it's OK. If you or Cyril could please educate me: For it to reach the d-i Packages file (so it's available for installs), does it require a d-i rebuild, or it's an automatic process? (I'm unsure; there's no multipath-udeb listed in d-i build log.) -- Mauricio Faria de Oliveira IBM Linux Technology Center -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Bug#779579: installer broken: multipath-udeb depends on non-existent libgcc1 udeb
On 03/04/2015 05:00 PM, Mauricio Faria de Oliveira wrote: Thanks! I just tested the package in incoming.d.o and it's OK. THank you very much for confirming with test results. If you or Cyril could please educate me: For it to reach the d-i Packages file (so it's available for installs), does it require a d-i rebuild, or it's an automatic process? d-i images are built weekly. So, if the unblock goes through, it'll migrate into testing, and then the next d-i weekly snapshot should include it. (I'm unsure; there's no multipath-udeb listed in d-i build log.) I'm not sure about this. Cyril should be able to provide more insight. He's part of the d-i team. -- Ritesh Raj Sarraf | http://people.debian.org/~rrs Debian - The Universal Operating System signature.asc Description: OpenPGP digital signature
Bug#779579: installer broken: multipath-udeb depends on non-existent libgcc1 udeb
On 03/04/2015 08:32 AM, Ritesh Raj Sarraf wrote: d-i images are built weekly. So, if the unblock goes through, it'll migrate into testing, and then the next d-i weekly snapshot should include it. Got it. Thanks. -- Mauricio Faria de Oliveira IBM Linux Technology Center -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Bug#779579: installer broken: multipath-udeb depends on non-existent libgcc1 udeb
Ritesh Raj Sarraf r...@debian.org (2015-03-04): On 03/04/2015 05:00 PM, Mauricio Faria de Oliveira wrote: Thanks! I just tested the package in incoming.d.o and it's OK. THank you very much for confirming with test results. Yep, definitely appreciated. If you or Cyril could please educate me: For it to reach the d-i Packages file (so it's available for installs), does it require a d-i rebuild, or it's an automatic process? d-i images are built weekly. So, if the unblock goes through, it'll migrate into testing, and then the next d-i weekly snapshot should include it. (I'm unsure; there's no multipath-udeb listed in d-i build log.) I'm not sure about this. Cyril should be able to provide more insight. He's part of the d-i team. For udebs that aren't used during the debian-installer build process (as in: source package going through build.debian.org like other packages, or being built daily -- see d-i.debian.org), they're either fetch from the installation image (CD/DVD/USB flash drive etc.) or from the network. That's the case for multipath-udeb, so you won't need a d-i (re)build, just the propagation of the relevant package to testing, and a subsequent installation image build, e.g. a weekly installation image build, or a full release. Mraw, KiBi. signature.asc Description: Digital signature
Bug#779579: installer broken: multipath-udeb depends on non-existent libgcc1 udeb
On 03/04/2015 09:25 AM, Cyril Brulebois wrote: For udebs that aren't used during the debian-installer build process (as in: source package going through build.debian.org like other packages, or being built daily -- see d-i.debian.org), they're either fetch from the installation image (CD/DVD/USB flash drive etc.) or from the network. That's the case for multipath-udeb, so you won't need a d-i (re)build, just the propagation of the relevant package to testing, and a subsequent installation image build, e.g. a weekly installation image build, or a full release. Very educational. Thanks, Cyril. -- Mauricio Faria de Oliveira IBM Linux Technology Center -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Bug#779579: installer broken: multipath-udeb depends on non-existent libgcc1 udeb
Control: tags -1 patch Hi Siresh, On 03/03/2015 08:32 AM, Mauricio Faria de Oliveira wrote: Sure, I can try and should send a patch soon. I've modified the build-arch target to build multipath-udeb first, and store its output in a different directory; and the install target to use that dir only for dh_install of multipath-udeb. May you please consider it for an upload? The solution ended up being to statically link to libgcc. I implemented Cyril's suggestion, adopted by espeakup-udeb, but unfortunately it didnt remove the references to libgcc. (verified with objdump runtime test). (BTW, espeakup-udeb is broken too; that approach no longer works.) ~ # anna-install espeakup-udeb ~ # espeakup espeakup: error while loading shared libraries: libgcc_s.so.1: cannot open shared object file: No such file or directory With the patch applied, the multipath command runs fine: ~ # multipath -l multipath: error while loading shared libraries: libgcc_s.so.1: cannot open shared object file: No such file or directory ~ # udpkg -i multipath-udeb_0.5.0-5mauricfo1_ppc64el.udeb (Reading database...) (Updating database...) ~ # multipath -l ~ # echo $? 0 Here's a check that changes are contained in the multipath-udeb package. The references to libgcc are gone, only libpthread remains (which is OK, as it exists in the installer). The nm/sed tests are based on Cyril's earlier statement (thanks). udeb (no libgcc): $ dpkg-deb -x multipath-udeb_0.5.0-5mauricfo1_ppc64el.udeb lib-udeb $ objdump -x lib-udeb/lib/libmultipath.so.0 | grep libgcc $ { nm -D lib-udeb/lib/libmultipath.so.0 | sed -n 's,^.*U ,,p'; nm -D /lib/powerpc64le-linux-gnu/libgcc_s.so.1 | sed -n 's,.*[^U] ,,p'; } | sort | uniq -d pthread_mutex_lock pthread_mutex_unlock ~ # find /lib -name 'libpthread*' /lib/libpthread.so.0 /lib/libpthread-2.19.so deb (no change; still references libgcc) $ dpkg-deb -x multipath-tools_0.5.0-5mauricfo1_ppc64el.deb lib-deb $ objdump -x lib-deb/lib/libmultipath.so.0 | grep libgcc NEEDED libgcc_s.so.1 required from libgcc_s.so.1: $ { nm -D lib-deb/lib/libmultipath.so.0 | sed -n 's,^.*U ,,p'; nm -D /lib/powerpc64le-linux-gnu/libgcc_s.so.1 | sed -n 's,.*[^U] ,,p'; } | sort | uniq -d __gcc_personality_v0 pthread_mutex_lock pthread_mutex_unlock _Unwind_Resume -- Mauricio Faria de Oliveira IBM Linux Technology Center diff -Nru multipath-tools-0.5.0/debian/changelog multipath-tools-0.5.0/debian/changelog --- multipath-tools-0.5.0/debian/changelog 2014-09-16 06:29:29.0 -0300 +++ multipath-tools-0.5.0/debian/changelog 2015-03-03 15:54:28.0 -0300 @@ -1,3 +1,9 @@ +multipath-tools (0.5.0-5mauricfo1) UNRELEASED; urgency=medium + + * Build multipath-udeb with static libgcc (Closes: #779579) + + -- Mauricio Faria de Oliveira mauri...@linux.vnet.ibm.com Tue, 03 Mar 2015 15:52:58 -0300 + multipath-tools (0.5.0-5) unstable; urgency=medium * [5f967eb] Better daemon status in init's status action. diff -Nru multipath-tools-0.5.0/debian/rules multipath-tools-0.5.0/debian/rules --- multipath-tools-0.5.0/debian/rules 2014-09-05 09:14:33.0 -0300 +++ multipath-tools-0.5.0/debian/rules 2015-03-03 15:50:32.0 -0300 @@ -27,7 +26,7 @@ build: build-arch build-indep -build-arch: build-stamp +build-arch: build-multipath-udeb-stamp build-stamp build-indep: build-stamp build-stamp: @@ -39,15 +38,30 @@ touch $@ +# multipath-udeb: build separately; don't reference dynamic libgcc at runtime (#779579) +build-multipath-udeb-stamp: + dh_testdir + + DEB_CFLAGS_MAINT_APPEND=-static-libgcc $(MAKE) $(OPTFLAGS) LIB=lib + + # store files for install target + mkdir -p $(CURDIR)/debian/tmp-multipath-udeb/sbin + $(MAKE) install INSTALL_PROGRAM=$(INSTALL_PROGRAM) DESTDIR=$(CURDIR)/debian/tmp-multipath-udeb LIB=lib + + $(MAKE) clean + + touch $@ + clean-tree: $(MAKE) clean clean: clean-tree dh_testdir - rm -f build-stamp + rm -f build-stamp build-multipath-udeb-stamp dh_prep debconf-updatepo rm -rf debian/*.debhelper.log + rm -rf debian/tmp-multipath-udeb install: dh_testdir @@ -58,7 +72,8 @@ mkdir -p $(CURDIR)/debian/tmp/sbin $(MAKE) install INSTALL_PROGRAM=$(INSTALL_PROGRAM) DESTDIR=$(CURDIR)/debian/tmp LIB=lib install -m 755 debian/dmsetup_env $(CURDIR)/debian/tmp/lib/udev/ - dh_install -X.rules --fail-missing --sourcedir=$(CURDIR)/debian/tmp + dh_install -X.rules --fail-missing -Nmultipath-udeb --sourcedir=$(CURDIR)/debian/tmp + dh_install -X.rules --fail-missing -pmultipath-udeb --sourcedir=$(CURDIR)/debian/tmp-multipath-udeb # initramfs stuff: install -D -m 755
Bug#779579: installer broken: multipath-udeb depends on non-existent libgcc1 udeb
Cyril, thanks for the /very clear/ pointers to the problem/solution. :) Ritesh, On 03/03/2015 04:26 AM, Ritesh Raj Sarraf wrote: Will you be in a position to try out the changes that Cyril has proposed ? Sure, I can try and should send a patch soon. -- Mauricio Faria de Oliveira IBM Linux Technology Center -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Bug#779579: installer broken: multipath-udeb depends on non-existent libgcc1 udeb
Hi Ritesh, Thanks for looking into this. On 03/02/2015 04:40 PM, Ritesh Raj Sarraf wrote: libgcc1 package is available in the archive. I'm not sure why it isn't present in your install media. Can you point out the udeb? It's not listed in sid d-i Packages file, nor in the jessie CD ISO, at least: $ curl -s ftp://ftp.debian.org/debian/dists/sid/main/debian-installer/binary-amd64/Packages.xz | xzgrep '^Package: libgcc1' | wc -l 0 $ find jessie-rc-iso/pool/ -name 'libgcc*' jessie-rc-iso/pool/main/g/gcc-4.9/libgcc1_4.9.1-19_ppc64el.deb And there's no udeb in the gcc-4.9 pool dir: ftp://ftp.debian.org/debian/pool/main/g/gcc-4.9/ -- Mauricio Faria de Oliveira IBM Linux Technology Center -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Bug#779579: Processed: Re: Bug#779579: installer broken: multipath-udeb depends on non-existent libgcc1 udeb
Control: reassign -1 multipath-udeb 0.5.0-5 Control: severity -1 serious Debian Bug Tracking System ow...@bugs.debian.org (2015-03-02): Processing control commands: reassign -1 debian-installer Bug #779579 [src:multipath-tools] installer broken: multipath-udeb depends on non-existent libgcc1 udeb Bug reassigned from package 'src:multipath-tools' to 'debian-installer'. No longer marked as found in versions multipath-tools/0.5.0-5. Ignoring request to alter fixed versions of bug #779579 to the same values previously set Ritesh, this is all we got about your bug report. Please always cc the maintainers of the package you're reassigning bug reports to… After a local build one can see in the build tree: | $ objdump -x debian/multipath-udeb/lib/libmultipath.so.0 | … | Dynamic Section: | … | NEEDED libgcc_s.so.1 | … | Version References: | required from libgcc_s.so.1: | 0x0b792650 0x00 12 GCC_3.0 | 0x09265f61 0x00 11 GCC_3.3.1 | … Cross checking (on amd64) the undefined symbols in libmultipath.so.0 that are not undefined in libgcc_s.so (using nm -D), one can see: | __gcc_personality_v0 | pthread_mutex_lock | pthread_mutex_unlock | _Unwind_Resume The other udeb depending on libgcc1 is espeakup, and you might find the flags declared on top of debian/rules of some value to try and get multipath-udeb to build a udeb that works: | UDEB_CFLAGS ?= $(CFLAGS) -Os | UDEB_LDLIBS ?= /usr/lib/$(DEB_HOST_MULTIARCH)/libespeak.a /usr/lib/$(DEB_HOST_MULTIARCH)/libsonic.a /usr/lib/$(DEB_HOST_MULTIARCH)/libportaudio.a /usr/lib/$(DEB_HOST_MULTIARCH)/libjack.a -lm -lpthread -lasound -lrt | UDEB_LDFLAGS += -u _Unwind_Resume -u __gcc_personality_v0 -u _Unwind_ForcedUnwind -u _Unwind_GetCFA -u _Unwind_GetBSP -lgcc_s You'll probably need two separate builds anyway: one for the regular deb packages, and one of the udeb. Reassigning back, and bumping severity to serious. Mraw, KiBi. PS: The fact the libgcc1 package can't be installed by the resolver isn't fatal; it's actually ignored as one can see in the reporter's log; the reference to a missing library at runtime is the culprit. signature.asc Description: Digital signature
Bug#779579: installer broken: multipath-udeb depends on non-existent libgcc1 udeb
On 03/03/2015 02:46 AM, Mauricio Faria de Oliveira wrote: Hi Ritesh, Thanks for looking into this. Hello Mauricio, Will you be in a position to try out the changes that Cyril has proposed ? If you want, I can build the package with the changes he mentioned ? -- Ritesh Raj Sarraf | http://people.debian.org/~rrs Debian - The Universal Operating System signature.asc Description: OpenPGP digital signature
Bug#779579: installer broken: multipath-udeb depends on non-existent libgcc1 udeb
Package: src:multipath-tools Version: 0.5.0-5 During a multipath installation (disk-detect/multipath/enable=true), the multipath binary fails to run because libgcc is missing: ~ # grep 'multipath\|libgcc' /var/log/syslog | grep -v kernel | cut -d' ' -f5- anna-install: Installing multipath-udeb anna[3505]: DEBUG: resolver (libgcc1): package doesn't exist (ignored) anna[3505]: DEBUG: retrieving multipath-modules-3.16.0-4-powerpc64le-di 3.16.7-ckt4-3 anna[3505]: DEBUG: retrieving multipath-udeb 0.5.0-5 disk-detect: /sbin/multipath: error while loading shared libraries: libgcc_s.so.1: cannot open shared object file: No such file or directory disk-detect: No multipath devices detected main-menu[191]: (process:3777): multipath: error while loading shared libraries: libgcc_s.so.1: cannot open shared object file: No such file or directory [snip; repeat] This can be verified in d-i's Packages file [1]: Package: multipath-udeb Source: multipath-tools Version: 0.5.0-5 [...] Depends: [...], libgcc1, [...] which has no such package: $ curl -s ftp://ftp.debian.org/debian/dists/sid/main/debian-installer/binary-amd64/Packages.xz | xzgrep '^Package: libgcc1' | wc -l 0 [1] ftp://ftp.debian.org/debian/dists/sid/main/debian-installer/binary-amd64/ -- Mauricio Faria de Oliveira IBM Linux Technology Center -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Bug#779579: installer broken: multipath-udeb depends on non-existent libgcc1 udeb
Control: reassign -1 debian-installer On 03/02/2015 09:53 PM, Mauricio Faria de Oliveira wrote: Package: src:multipath-tools Version: 0.5.0-5 During a multipath installation (disk-detect/multipath/enable=true), the multipath binary fails to run because libgcc is missing: ~ # grep 'multipath\|libgcc' /var/log/syslog | grep -v kernel | cut -d' ' -f5- anna-install: Installing multipath-udeb anna[3505]: DEBUG: resolver (libgcc1): package doesn't exist (ignored) anna[3505]: DEBUG: retrieving multipath-modules-3.16.0-4-powerpc64le-di 3.16.7-ckt4-3 anna[3505]: DEBUG: retrieving multipath-udeb 0.5.0-5 libgcc1 package is available in the archive. I'm not sure why it isn't present in your install media. -- Ritesh Raj Sarraf | http://people.debian.org/~rrs Debian - The Universal Operating System signature.asc Description: OpenPGP digital signature