Opened 9 years ago

Closed 9 years ago

#12000 closed bug (no change required)

Cross-building Haiku with Haiku host issues

Reported by: jessicah Owned by: nobody
Priority: normal Milestone: Unscheduled
Component: - General Version: R1/Development
Keywords: Cc:
Blocked By: Blocking:
Platform: All

Description (last modified by jessicah)

When trying to build an x86_64 Haiku image on a gcc2h Haiku host, I end up with an image that can't be booted by the haiku_loader. The error reported is "Version mismatch between boot loader and kernel!". I'm failing to see anything obvious in the jam logs that would indicate a problem with how the files are compiled. In order to build on Haiku, I use setarch x86 and run all commands in the gcc4 environment.

setarch x86
configure --build-cross-tools x86_64 ../buildtools --use-gcc-pipe -j4
jam -q -j4 @minimum-anyboot

I am also attaching a copy of the log generated by jam.

Change History (4)

comment:1 by korli, 9 years ago

Description: modified (diff)

What about #8730?

in reply to:  1 comment:2 by bonefish, 9 years ago

Replying to korli:

What about #8730?

That isn't related. It's about the build tools (rc, xres, addattr,...) being built directly against the build platform's libroot headers and libraries. This is a problem when the checked out source tree expects an API incompatible with that of the build platform. The usual case is a newly introduced libroot function that is made use of also by the build tools and that is not available on the build platform. In that case the build would fail, though. And it is hard to imagine an API change that results in broken images but only when the target is x86-64.

@jessicah: It seems you forgot to attach the build log. To narrow down the cause of the problem you could try to replace the boot loader package, the haiku package, or just the kernel with matching versions from a nightly image.

comment:3 by jessicah, 9 years ago

Description: modified (diff)

I've found out the problem. The two trees I have (one for the OS image, one for the UEFI bootloader) were slightly different. The arch_kernel_args struct changed size!

And it seems that cross-building Haiku on Haiku works very well afterall :D

I'm currently using NetSurf, and I can't close the ticket (forms are all broken), so please close if I don't get to it first.

comment:4 by jessicah, 9 years ago

Description: modified (diff)
Resolution: no change required
Status: newclosed
Note: See TracTickets for help on using tickets.