[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 16:49:20 -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):

 Replying to [comment:33 pulkomandy]:

the minimum profile failing is why we need to do a new bootstrap. The
 libraries it downloads are old and broken.
So, you fail to build most of the userland and probably also the kernel,
 and end up with the bootloader image generated (jam builds as much stuff
 as it can even if other parts are broken).

There is no way to fix the minimum-mmc (or -raw) profile without a new
 bootstrap and fresh, up to date packages to download. So, what we need
 working first is @bootstrap-raw.

 Gotcha. I thought that jam -q would quit on the first error. Ah well
 that's what I get for trusting jam's help info.

 So now I've built some other stuff because of trying (and failing) to
 build minimum-mmc with downloads enabled, the only error left in building
 @bootstrap-raw (with downloads disabled) is this:-

 {{{
 ../src/haiku/src/system/boot/platform/u-boot/uimage.cpp: In function 'void
 dump_uimage(image_header*)':
 ../src/haiku/src/system/boot/platform/u-boot/uimage.cpp:21:25: error:
 'ntohl' was not declared in this scope
   dprintf("magic: %x\n", ntohl(image->ih_magic));
                          ^~~~~
 ../src/haiku/src/system/boot/platform/u-boot/uimage.cpp: In function 'bool
 image_multi_getimg(image_header*, uint32, uint32*, uint32*)':
 ../src/haiku/src/system/boot/platform/u-boot/uimage.cpp:53:11: warning:
 comparison between signed and unsigned integer expressions [-Wsign-
 compare]
    if (idx == i) {
        ~~~~^~~~
 ../src/haiku/src/system/boot/platform/u-boot/uimage.cpp:55:12: error:
 'ntohl' was not declared in this scope
     *size = ntohl(sizes[i]);
             ^~~~~
 ../src/haiku/src/system/boot/platform/u-boot/uimage.cpp:58:12: error:
 'ntohl' was not declared in this scope
    base += (ntohl(sizes[i]) + 3) & ~3;
             ^~~~~
 In file included from
 ../src/haiku/headers/os/interface/InterfaceDefs.h:9:0,
                  from ../src/haiku/headers/os/interface/Alignment.h:8,
                  from ../src/haiku/headers/os/interface/View.h:10,
                  from ../src/haiku/headers/os/interface/Window.h:11,
                  from ../src/haiku/headers/os/interface/Alert.h:11,
                  from ../src/haiku/src/bin/screenmode/screenmode.cpp:14:

 }}}

 And the failure message is this:-

 {{{
 haiku_cross_devel_sysroot_stage0_arm.hpkg: Removing and re-creating
 package contents dir ...
 haiku_cross_devel_sysroot_stage0_arm.hpkg: Collecting package contents ...
 haiku_cross_devel_sysroot_stage0_arm.hpkg: mimeset'ing package contents
 ...
 haiku_cross_devel_sysroot_stage0_arm.hpkg: Creating the package ...
 /work/generated.arm/objects/haiku/arm/packaging/repositories
 /HaikuPortsCross-
 build/packages/libsolv_bootstrap_source-0.3.0_haiku_2014_12_22-1-source.hpkg
 does not have a cross-devel package defined!
 /work/generated.arm/objects/haiku/arm/packaging/repositories
 /HaikuPortsCross-build/packages/zlib_bootstrap_source-1.2.11-1-source.hpkg
 does not have a cross-devel package defined!

 BUILD FAILURE:

 }}}

 Running this gives the same output: jam -qdc -sHAIKU_NO_DOWNLOADS=0
 @bootstrap-raw

 So I'm left with the missing ntohl issue. I'll look at that next.

 There doesn seem to be a number of things wrong with the default build
 process for arm.

-- 
Ticket URL: <https://dev.haiku-os.org/ticket/14842#comment:35>
Haiku <https://dev.haiku-os.org>
The Haiku operating system.

Other related posts: