[haiku-bugs] Re: [Haiku] #14842: Error building bootstraping libicuio while cross-compiling ARM on Ubuntu 18.04

  • From: "Haiku" <trac@xxxxxxxxxxxx>
  • To: undisclosed-recipients: ;
  • Date: Fri, 29 Mar 2019 07:40:05 -0000

#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.

Other related posts: