frr icon indicating copy to clipboard operation
frr copied to clipboard

crosscompile mips64 issue

Open lucize opened this issue 3 years ago • 5 comments

frr: 8.1.0

crosscompile will fail on mips64 target with

Description:

error output from compile.txt in ../snapshot/faillogs/mips64_octeonplus/packages/frr
CC yang/ietf/ietf-bgp-types.yang.lo
CC yang/frr-module-translator.yang.lo
CCLD lib/libfrrcares.la
OpenWrt-libtool: link: warning: library `/builder/shared-workdir/build/sdk/staging_dir/toolchain-mips64_octeonplus_64_gcc-11.2.0_musl/lib/libatomic.la' was moved.
/builder/shared-workdir/build/sdk/tmp/ccgPNQVD.s: Assembler messages:
/builder/shared-workdir/build/sdk/tmp/ccgPNQVD.s:19: Error: PC-relative reference to a different section
/builder/shared-workdir/build/sdk/tmp/ccgPNQVD.s:20: Error: PC-relative reference to a different section
lto-wrapper: fatal error: /builder/shared-workdir/build/sdk/staging_dir/toolchain-mips64_octeonplus_64_gcc-11.2.0_musl/bin/mips64-openwrt-linux-musl-gcc returned 1 exit status
compilation terminated.
/builder/shared-workdir/build/sdk/staging_dir/toolchain-mips64_octeonplus_64_gcc-11.2.0_musl/bin/../lib/gcc/mips64-openwrt-linux-musl/11.2.0/../../../../mips64-openwrt-linux-musl/bin/ld: error: lto-wrapper failed
collect2: error: ld returned 1 exit status
make[5]: *** [Makefile:6939: lib/libfrrcares.la] Error 1
make[5]: Leaving directory '/builder/shared-workdir/build/sdk/build_dir/target-mips64_octeonplus_64_musl/frr-c18235d5b1e33fad9d3181aa29fefa48b8c6ff3f'
make[4]: *** [Makefile:5542: all] Error 2
make[4]: Leaving directory '/builder/shared-workdir/build/sdk/build_dir/target-mips64_octeonplus_64_musl/frr-c18235d5b1e33fad9d3181aa29fefa48b8c6ff3f'
make[3]: *** [Makefile:247: /builder/shared-workdir/build/sdk/build_dir/target-mips64_octeonplus_64_musl/frr-c18235d5b1e33fad9d3181aa29fefa48b8c6ff3f/.built] Error 2

using this patch seems to compile (not run tested)

--- a/lib/xref.h        2022-02-16 01:21:54.124672806 +0200
+++ b/lib/xref.h        2022-02-17 05:29:12.773492817 +0200
@@ -122,7 +122,7 @@
 extern void xref_block_add(struct xref_block *block);
 extern void xref_gcc_workaround(const struct xref *xref);

-#ifndef HAVE_SECTION_SYMS
+#if !defined(HAVE_SECTION_SYMS) || defined(__mips64)
 /* we have a build system patch to use GNU ld on Solaris;  if that doesn't
  * work we end up on Solaris ld which doesn't support the section start/end
  * symbols.

lucize avatar Feb 17 '22 03:02 lucize

@eqvinox do you agree with this patch?

donaldsharp avatar Feb 17 '22 12:02 donaldsharp

This issue is stale because it has been open 180 days with no activity. Comment or remove the autoclose label in order to avoid having this issue closed.

github-actions[bot] avatar Aug 17 '22 02:08 github-actions[bot]

This issue will be automatically closed in the specified period unless there is further activity.

frrbot[bot] avatar Aug 17 '22 02:08 frrbot[bot]

this is still an issue, I'll propose a PR, maybe it will get more traction

lucize avatar Aug 17 '22 06:08 lucize

This issue will no longer be automatically closed.

frrbot[bot] avatar Aug 17 '22 06:08 frrbot[bot]

The problem still exists, the patch just turns off xref.

FRR: 8.5

edsky avatar Nov 23 '22 07:11 edsky