[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#783236: fails to build stage1 cross compiler: "libcc1plugin.so not found"



Source: gcc-5
Version: 5-20150321-1
Tags: patch
User: helmutg@debian.org
Usertags:rebootstrap

The libcc1 issue did not go away entirely yet. Even though it is no
longer installed for cross compilers to use the native libcc1 instead,
the stage1 compiler still tries to install it (even though I can hardly
come up with a way of using it there). Long story short, the symptom is:

| DH_COMPAT=2 dh_movefiles -pgcc-5-aarch64-linux-gnu usr/bin/aarch64-linux-gnu-{gcc,gcov,gcov-tool}-5 usr/bin/aarch64-linux-gnu-gcc-{ar,ranlib,nm}-5 usr/share/man/man1/aarch64-linux-gnu-gcc-{ar,nm,ranlib}-5.1 usr/lib/gcc-cross/aarch64-linux-gnu/5/{collect2,lto1,lto-wrapper}  usr/lib/gcc-cross/aarch64-linux-gnu/5/plugin/libcc1plugin.so{,.0,.0.0.0} usr/lib/gcc-cross/aarch64-linux-gnu/5/include 
| dh_movefiles: Compatibility levels before 5 are deprecated (level 2 in use)
|         rm -f debian/movelist
|         (cd debian/tmp >/dev/null ; find usr/bin/aarch64-linux-gnu-gcc-5 ! -type d -print || true) >> debian/movelist
|         (cd debian/tmp >/dev/null ; find usr/bin/aarch64-linux-gnu-gcov-5 ! -type d -print || true) >> debian/movelist
|         (cd debian/tmp >/dev/null ; find usr/bin/aarch64-linux-gnu-gcov-tool-5 ! -type d -print || true) >> debian/movelist
|         (cd debian/tmp >/dev/null ; find usr/bin/aarch64-linux-gnu-gcc-ar-5 ! -type d -print || true) >> debian/movelist
|         (cd debian/tmp >/dev/null ; find usr/bin/aarch64-linux-gnu-gcc-ranlib-5 ! -type d -print || true) >> debian/movelist
|         (cd debian/tmp >/dev/null ; find usr/bin/aarch64-linux-gnu-gcc-nm-5 ! -type d -print || true) >> debian/movelist
|         (cd debian/tmp >/dev/null ; find usr/share/man/man1/aarch64-linux-gnu-gcc-ar-5.1 ! -type d -print || true) >> debian/movelist
|         (cd debian/tmp >/dev/null ; find usr/share/man/man1/aarch64-linux-gnu-gcc-nm-5.1 ! -type d -print || true) >> debian/movelist
|         (cd debian/tmp >/dev/null ; find usr/share/man/man1/aarch64-linux-gnu-gcc-ranlib-5.1 ! -type d -print || true) >> debian/movelist
|         (cd debian/tmp >/dev/null ; find usr/lib/gcc-cross/aarch64-linux-gnu/5/collect2 ! -type d -print || true) >> debian/movelist
|         (cd debian/tmp >/dev/null ; find usr/lib/gcc-cross/aarch64-linux-gnu/5/lto1 ! -type d -print || true) >> debian/movelist
|         (cd debian/tmp >/dev/null ; find usr/lib/gcc-cross/aarch64-linux-gnu/5/lto-wrapper ! -type d -print || true) >> debian/movelist
| dh_movefiles: debian/tmp/usr/lib/gcc-cross/aarch64-linux-gnu/5/plugin/libcc1plugin.so not found (supposed to put it in gcc-5-aarch64-linux-gnu)
| dh_movefiles: debian/tmp/usr/lib/gcc-cross/aarch64-linux-gnu/5/plugin/libcc1plugin.so.0 not found (supposed to put it in gcc-5-aarch64-linux-gnu)
| dh_movefiles: debian/tmp/usr/lib/gcc-cross/aarch64-linux-gnu/5/plugin/libcc1plugin.so.0.0.0 not found (supposed to put it in gcc-5-aarch64-linux-gnu)
|         (cd debian/tmp >/dev/null ; find usr/lib/gcc-cross/aarch64-linux-gnu/5/include ! -type d -print || true) >> debian/movelist
|         (cd debian/tmp >/dev/null ; tar --create --files-from=/tmp/buildd/gcc_1/gcc-5-5.1~rc1/debian/movelist --file -) | (cd debian/gcc-5-aarch64-linux-gnu >/dev/null ;tar xpf -)
|         (cd debian/tmp >/dev/null ; tr '\n' '\0' < /tmp/buildd/gcc_1/gcc-5-5.1~rc1/debian/movelist | xargs -0 rm -f)
|         rm -f debian/movelist
| debian/rules.d/binary-gcc.mk:75: recipe for target 'stamps/08-binary-stamp-gcc' failed
| make[1]: *** [stamps/08-binary-stamp-gcc] Error 1
| make[1]: Leaving directory '/tmp/buildd/gcc_1/gcc-5-5.1~rc1'
| debian/rules:100: recipe for target 'binary' failed
| make: *** [binary] Error 2
| dpkg-buildpackage: error: fakeroot dpkg-architecture -f -Aarm64 -c ./debian/rules binary gave error exit status 2

Looking a bit up in the build log reveals where it really went:

| libtool: install: /usr/bin/install -c .libs/libcc1plugin.so.0.0.0 /tmp/buildd/gcc_1/gcc-5-5.1~rc1/debian/tmp/usr/lib/gcc/aarch64-linux-gnu/5/plugin/libcc1plugin.so.0.0.0
| libtool: install: (cd /tmp/buildd/gcc_1/gcc-5-5.1~rc1/debian/tmp/usr/lib/gcc/aarch64-linux-gnu/5/plugin && { ln -s -f libcc1plugin.so.0.0.0 libcc1plugin.so.0 || { rm -f libcc1plugin.so.0 && ln -s libcc1plugin.so.0.0.0 libcc1plugin.so.0; }; })
| libtool: install: (cd /tmp/buildd/gcc_1/gcc-5-5.1~rc1/debian/tmp/usr/lib/gcc/aarch64-linux-gnu/5/plugin && { ln -s -f libcc1plugin.so.0.0.0 libcc1plugin.so || { rm -f libcc1plugin.so && ln -s libcc1plugin.so.0.0.0 libcc1plugin.so; }; })

To me it seems that the simplest way to fix this build failure is to
simply update cross-install-location.diff and have it install the unused
libcc1plugin.so. Do you agree?

Helmut
diff -u gcc-5-5-20150321/debian/changelog gcc-5-5-20150321/debian/changelog
--- gcc-5-5-20150321/debian/changelog
+++ gcc-5-5-20150321/debian/changelog
@@ -1,3 +1,10 @@
+gcc-5 (5-20150321-1.1) UNRELEASED; urgency=low
+
+  * Non-maintainer upload.
+  * Update cross-install-location for libcc1. (Closes: #-1)
+
+ -- Helmut Grohne <helmut@subdivi.de>  Sun, 22 Mar 2015 07:41:14 +0100
+
 gcc-5 (5-20150321-1) experimental; urgency=medium
 
   * Update to SVN 20150321.
diff -u gcc-5-5-20150321/debian/patches/cross-install-location.diff gcc-5-5-20150321/debian/patches/cross-install-location.diff
--- gcc-5-5-20150321/debian/patches/cross-install-location.diff
+++ gcc-5-5-20150321/debian/patches/cross-install-location.diff
@@ -357,0 +358,26 @@
+Index: b/src/libcc1/Makefile.am
+===================================================================
+--- a/src/libcc1/Makefile.am
++++ b/src/libcc1/Makefile.am
+@@ -35,7 +35,7 @@
+ 	    $(Wc)$(libiberty_normal)))
+ libiberty_dep = $(patsubst $(Wc)%,%,$(libiberty))
+ 
+-plugindir = $(libdir)/gcc/$(target_noncanonical)/$(gcc_version)/plugin
++plugindir = $(libdir)/gcc-cross/$(target_noncanonical)/$(gcc_version)/plugin
+ cc1libdir = $(libdir)/$(libsuffix)
+ 
+ if ENABLE_PLUGIN
+Index: b/src/libcc1/Makefile.in
+===================================================================
+--- a/src/libcc1/Makefile.in
++++ b/src/libcc1/Makefile.in
+@@ -262,7 +262,7 @@
+ 	    $(Wc)$(libiberty_normal)))
+ 
+ libiberty_dep = $(patsubst $(Wc)%,%,$(libiberty))
+-plugindir = $(libdir)/gcc/$(target_noncanonical)/$(gcc_version)/plugin
++plugindir = $(libdir)/gcc-cross/$(target_noncanonical)/$(gcc_version)/plugin
+ cc1libdir = $(libdir)/$(libsuffix)
+ @ENABLE_PLUGIN_TRUE@plugin_LTLIBRARIES = libcc1plugin.la
+ @ENABLE_PLUGIN_TRUE@cc1lib_LTLIBRARIES = libcc1.la

Reply to: