在 2024/3/12 下午12:55, Bo YU 写道:
Hi! On Tue, Mar 12, 2024 at 11:03 AM zhangdandan <zhangdandan@loongson.cn> wrote:Hi, Thanks for your feedback on loong64's compilation errors.Package: src:gcc-14 Version: 14-20240121-1 Severity: important Tags: sid trixie ftbfs X-Debbugs-CC: debian-loongarch@lists.debian.org gcc-14 ftbfs on loong64: ...The remaining build failure is now: https://buildd.debian.org/status/fetch.php?pkg=gcc-14&arch=loong64&ver=14-20240303-1&stamp=1709485913&raw=0 ... dh_installdirs -plibgcc-s1 usr/share/doc/libgcc-s1 usr/lib/loongarch64-linux-gnu mv debian/tmp/usr/lib/loongarch64-linux-gnu/libgcc_s.so.1 debian/libgcc-s1/usr/lib/loongarch64-linux-gnu/. mv: cannot stat 'debian/tmp/usr/lib/loongarch64-linux-gnu/libgcc_s.so.1': No such file or directory make[1]: *** [debian/rules.d/binary-libgcc.mk:291: stamps/08-binary-stamp-libgcc] Error 1- For the compilation error raised by Matthias Klose. It is because the linux header file linux-libc-dev lacks loong64 support. The Debian kernel-team has merged the loong64's patch, please see https://salsa.debian.org/kernel-team/linux/-/merge_requests/879. - I have reproduced the gcc-14 compilation error locally from Adrian Bunk. The compilation error is consistent with the feedback from Adrian Bunk. For gcc-14, the loong64's multilib modification is not included in gcc-multilib-multiarch. Please consider the following patch. If you have any questions, you can contact me at any time. ``` --- a/src/gcc/config/loongarch/t-linux +++ b/src/gcc/config/loongarch/t-linux @@ -16,9 +16,9 @@ # along with GCC; see the file COPYING3. If not see # <http://www.gnu.org/licenses/>. -MULTIOSDIR_lp64d := ../lib64$(call if_multiarch,:loongarch64-linux-gnu) -MULTIOSDIR_lp64f := ../lib64/f32$(call if_multiarch,:loongarch64-linux-gnuf32) -MULTIOSDIR_lp64s := ../lib64/sf$(call if_multiarch,:loongarch64-linux-gnusf) +MULTIOSDIR_lp64d := ../lib$(call if_multiarch,:loongarch64-linux-gnu) +MULTIOSDIR_lp64f := ../lib/f32$(call if_multiarch,:loongarch64-linux-gnuf32) +MULTIOSDIR_lp64s := ../lib/sf$(call if_multiarch,:loongarch64-linux-gnusf) # Don't define MULTILIB_OSDIRNAMES if multilib is disabled. ifeq ($(filter LA_DISABLE_MULTILIB,$(tm_defines)),) ```Maybe debdiff should be attached here for GCC maintainer with conveniently.
Patch attached. Thanks.
BTW, the gcc-14 source package was compiled successfully on my local loong64 rootfs environment, for examples, ``` ...... dh_installdirs -plibgcc-s1 usr/share/doc/libgcc-s1 usr/lib/loongarch64-linux-gnu mv debian/tmp/usr/lib/loongarch64-linux-gnu/libgcc_s.so.1 debian/libgcc-s1/usr/lib/loongarch64-linux-gnu/. debian/dh_doclink -plibgcc-s1 gcc-14-base ...... dpkg-deb: building package 'libgfortran-14-dev' in '../libgfortran-14-dev_14-20240201-3_loong64.deb'. dpkg-deb: building package 'g++-14-loongarch64-linux-gnu' in '../g++-14-loongarch64-linux-gnu_14-20240201-3_loong64.deb'. dpkg-deb: building package 'gccrs-14-loongarch64-linux-gnu-dbgsym' in '../gccrs-14-loongarch64-linux-gnu-dbgsym_14-20240201-3_loong64.deb'. dpkg-deb: building package 'gcc-14-loongarch64-linux-gnu-dbgsym' in '../gcc-14-loongarch64-linux-gnu-dbgsym_14-20240201-3_loong64.deb'. ...... make[1]: Leaving directory '/home/zdd/gcc-14/gcc-14-14-20240201' dpkg-genbuildinfo --build=binary -O../gcc-14_14-20240201-3_loong64.buildinfo dpkg-genchanges --build=binary -O../gcc-14_14-20240201-3_loong64.changes ``` thanks, Dandan Zhang
diff --git a/src/gcc/config/loongarch/t-linux b/src/gcc/config/loongarch/t-linux index 23e1fb9..4475600 100644 --- a/src/gcc/config/loongarch/t-linux +++ b/src/gcc/config/loongarch/t-linux @@ -16,9 +16,9 @@ # along with GCC; see the file COPYING3. If not see # <http://www.gnu.org/licenses/>. -MULTIOSDIR_lp64d := ../lib64$(call if_multiarch,:loongarch64-linux-gnu) -MULTIOSDIR_lp64f := ../lib64/f32$(call if_multiarch,:loongarch64-linux-gnuf32) -MULTIOSDIR_lp64s := ../lib64/sf$(call if_multiarch,:loongarch64-linux-gnusf) +MULTIOSDIR_lp64d := ../lib$(call if_multiarch,:loongarch64-linux-gnu) +MULTIOSDIR_lp64f := ../lib/f32$(call if_multiarch,:loongarch64-linux-gnuf32) +MULTIOSDIR_lp64s := ../lib/sf$(call if_multiarch,:loongarch64-linux-gnusf) # Don't define MULTILIB_OSDIRNAMES if multilib is disabled. ifeq ($(filter LA_DISABLE_MULTILIB,$(tm_defines)),)