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

Bug#783241: fails to build cross compiler: "debian/tmp/usr/include/c++/5 not found"



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

Since the cxx_inc_dir removal in gcc-5, the full cross compiler build
fails:

| DH_COMPAT=2 dh_movefiles -plibstdc++-5-dev-arm64-cross usr/include/c++/5 usr/lib/gcc-cross/aarch64-linux-gnu/5/libstdc++.{a,so} usr/lib/gcc-cross/aarch64-linux-gnu/5/libsupc++.a
| dh_movefiles: Compatibility levels before 5 are deprecated (level 2 in use)
|         rm -f debian/movelist
| dh_movefiles: debian/tmp/usr/include/c++/5 not found (supposed to put it in libstdc++-5-dev-arm64-cross)
|         (cd debian/tmp >/dev/null ; find usr/lib/gcc-cross/aarch64-linux-gnu/5/libstdc++.a ! -type d -print || true) >> debian/movelist
|         (cd debian/tmp >/dev/null ; find usr/lib/gcc-cross/aarch64-linux-gnu/5/libstdc++.so ! -type d -print || true) >> debian/movelist
|         (cd debian/tmp >/dev/null ; find usr/lib/gcc-cross/aarch64-linux-gnu/5/libsupc++.a ! -type d -print || true) >> debian/movelist
|         (cd debian/tmp >/dev/null ; tar --create --files-from=/tmp/buildd/gcc_3/gcc-5-5.1~rc1/debian/movelist --file -) | (cd debian/libstdc++-5-dev-arm64-cross >/dev/null ;tar xpf -)
|         (cd debian/tmp >/dev/null ; tr '\n' '\0' < /tmp/buildd/gcc_3/gcc-5-5.1~rc1/debian/movelist | xargs -0 rm -f)
|         rm -f debian/movelist
| debian/rules.d/binary-libstdcxx.mk:377: recipe for target 'stamps/08-binary-stamp-libstdcxx-dev' failed
| make[1]: *** [stamps/08-binary-stamp-libstdcxx-dev] Error 1
| make[1]: Leaving directory '/tmp/buildd/gcc_3/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

The path it tries to install looks suspiciously native and thus wrong.
And really the path gcc installed to was
"debian/tmp/usr/aarch64-linux-gnu/include/c++/5".

Looking at recent changes, you replaced $(cxx_inc_dir) with $(PF), but
formerly $(cxx_inc_dir) contained $(TARGET_ALIAS) for DEB_CROSS, which
is not covered anymore. Thus I suggest to replace two occurrences of
$(PF) with $(PFL) and have the build succeed.

Helmut
diff -u a/debian/rules.d/binary-libstdcxx.mk b/debian/rules.d/binary-libstdcxx.mk
--- a/debian/rules.d/binary-libstdcxx.mk
+++ b/debian/rules.d/binary-libstdcxx.mk
@@ -104,10 +104,10 @@
 	$(docdir)/$(p_base)/C++ \
 	$(usr_lib) \
 	$(gcc_lib_dir)/include \
-	$(PF)/include/c++
+	$(PFL)/include/c++
 
 files_dev = \
-	$(PF)/include/c++/$(BASE_VERSION) \
+	$(PFL)/include/c++/$(BASE_VERSION) \
 	$(gcc_lib_dir)/libstdc++.{a,so} \
 	$(gcc_lib_dir)/libsupc++.a
 

Reply to: