#14842: Error building bootstraping libicuio while cross-compiling ARM on Ubuntu
18.04
----------------------------+----------------------------
Reporter: pemdp | Owner: bonefish
Type: bug | Status: new
Priority: normal | Milestone: Unscheduled
Component: Build System | Version: R1/Development
Resolution: | Keywords:
Blocked By: | Blocking:
Has a Patch: 0 | Platform: arm
----------------------------+----------------------------
Comment (by adamfowleruk):
Hi all, I've done some investigation here for the libicu problem and have
gotten past that (to hit another error, predictably!). At least I think I
have gotten past it. I certainly now have gcc_bootstrap,
gcc_bootstrap_syslibs gcc_bootstrap_syslibs_devel and gcc_bootstrap_source
hpkgs... I'm assuming icu gets compiled in to gcc as I can't find any
other built artefacts but do get a new error message.
The linking issue with libicu appears to be because although the gcc 4.7
compiler correctly uses the -no-pie flag, the linker does not. As a test I
modified the 3rdparty/docker/bootstrap/Makefile to include the -e LDFLAGS
="-no-pie" flag, and this allowed it to compile.
This is where I found the hint from:-
https://github.com/rust-lang/rust/issues/47037
I then went on to find:-
https://nanxiao.me/en/gccs-enable-enable-default-pie-option-make-you-
stuck-at-relocation-r_x86_64_32s-against-error/
With this revealing text:-
"A caveat you must pay attention to is if your static library has assembly
code object which is not position independent, you must specify “-no-pie”
option **during link stage** of generating final executable binary. This
issue let me spend half day to debug, so it is a really good habit to
check critical packages’ change log, such as your compiler."
I am now on another issue whereby
"libsolv_boostrap-0.3.0_haiku_2014_12_22-1-source.hpkg does not have a
cross-level package defined". But at least we're further along. Shall I
log a separate issue for this?
--
Ticket URL: <https://dev.haiku-os.org/ticket/14842#comment:20>
Haiku <https://dev.haiku-os.org>
The Haiku operating system.