amd64->armv7 cross build: devel/llvm90 build blocked by math/z3 build failure: can't create dynamic relocation R_ARM_MOVW_ABS_NC against symbol: __stack_chk_guard in readonly segment
Mark Millard
marklmi at yahoo.com
Tue Aug 6 00:50:40 UTC 2019
On 2019-Aug-5, at 14:48, Mark Millard <marklmi at yahoo.com> wrote:
[Note: Targeting aarch64 instead did not have this problem.]
>
> [00:03:02] [02] [00:00:00] Building math/z3 | z3-4.8.5_1
> . . .
> [00:06:31] [02] [00:03:29] Saved math/z3 | z3-4.8.5_1 wrkdir to: /usr/local/poudriere/data/wrkdirs/FBSDFSSDjailArmV7-default/default/z3-4.8.5_1.tar
> [00:06:31] [02] [00:03:29] Finished math/z3 | z3-4.8.5_1: Failed: build
> . . .
> [00:06:35] [02] [00:03:33] Skipping devel/llvm90 | llvm90-9.0.0.r1: Dependent port math/z3 | z3-4.8.5_1 failed
>
> The specific first errors for math/z3 were:
>
> ld: error: can't create dynamic relocation R_ARM_MOVW_ABS_NC against symbol: __stack_chk_guard in readonly segment; recompile object files with -fPIC or pass '-Wl,-z,notext' to allow text relocations
> in the output
>>>> defined in /lib/libc.so.7
>>>> referenced by install_tactic.cpp:97 (../src/api/dll/install_tactic.cpp:97)
>>>> api/dll/install_tactic.o:(install_tactics(tactic_manager&))
>
> ld: error: can't create dynamic relocation R_ARM_MOVT_ABS against symbol: __stack_chk_guard in readonly segment; recompile object files with -fPIC or pass '-Wl,-z,notext' to allow text relocations in the output
>>>> defined in /lib/libc.so.7
>>>> referenced by install_tactic.cpp:97 (../src/api/dll/install_tactic.cpp:97)
>>>> api/dll/install_tactic.o:(install_tactics(tactic_manager&))
>
> ld: error: can't create dynamic relocation R_ARM_MOVW_ABS_NC against symbol: .L.str in readonly segment; recompile object files with -fPIC or pass '-Wl,-z,notext' to allow text relocations in the output
>>>> defined in api/dll/install_tactic.o
>>>> referenced by install_tactic.cpp:98 (../src/api/dll/install_tactic.cpp:98)
>>>> api/dll/install_tactic.o:(install_tactics(tactic_manager&))
>
>
> Is the default:
>
> STATIC=on: Build static z3 library
>
> inappropriate for armv7?
>
Even with:
. . . -Wl,-znotext -Wl,-soname,libz3.so.0
via:
# svnlite diff /usr/ports/math/z3
Index: /usr/ports/math/z3/Makefile
===================================================================
--- /usr/ports/math/z3/Makefile (revision 508197)
+++ /usr/ports/math/z3/Makefile (working copy)
@@ -36,6 +36,7 @@
GMP_LIB_DEPENDS= libgmp.so:math/gmp
LDFLAGS_i386= -Wl,-znotext
+LDFLAGS_armv7= -Wl,-znotext
BUILD_WRKSRC= ${WRKSRC}/build
INSTALL_WRKSRC= ${WRKSRC}/build
I get some of the errors:
ld: error: relocation R_ARM_MOVW_ABS_NC cannot be used against symbol __stack_chk_guard; recompile with -fPIC
>>> defined in /lib/libc.so.7
>>> referenced by install_tactic.cpp:97 (../src/api/dll/install_tactic.cpp:97)
>>> api/dll/install_tactic.o:(install_tactics(tactic_manager&))
. . .
ld: error: relocation R_ARM_MOVT_ABS cannot be used against symbol __stack_chk_guard; recompile with -fPIC
>>> defined in /lib/libc.so.7
>>> referenced by gparams_register_modules.cpp:93 (../src/api/dll/gparams_register_modules.cpp:93)
>>> api/dll/gparams_register_modules.o:(gparams_register_modules())
ld: error: relocation R_ARM_MOVW_ABS_NC cannot be used against symbol g_z3_log_enabled; recompile with -fPIC
>>> defined in api/api_log.o
>>> referenced by api_log_macros.h:11 (../src/api/api_log_macros.h:11)
>>> api/api_algebraic.o:(Z3_algebraic_is_value)
. . .
Currently building llvm90 on/for armv7 is blocked by needing
to build math/z3 first.
(For FreeBSD to switch from clang 8 to clang 9 as the system
compiler might require adding z3 to FreeBSD?)
===
Mark Millard
marklmi at yahoo.com
( dsl-only.net went
away in early 2018-Mar)
More information about the freebsd-ports
mailing list