#10815 closed bug (fixed)
Haiku x86_64 cannot build itself
Reported by: | Luposian | Owned by: | jessicah |
---|---|---|---|
Priority: | normal | Milestone: | R1/beta2 |
Component: | Build System | Version: | R1/Development |
Keywords: | Cc: | ||
Blocked By: | Blocking: | #12910, #14796, #15559 | |
Platform: | x86-64 |
Description
I downloaded the latest buildtools and source tree (today). Built the tools and ran jam -q haiku-image. A few minutes into the build, Jam quits on interrupts.o, as shown in the picture.
Attachments (1)
Change History (31)
by , 11 years ago
Attachment: | interrupts.o Jam quit.png added |
---|
comment:1 by , 10 years ago
Owner: | changed from | to
---|---|
Status: | new → assigned |
Summary: | interrupts.o causes JAM in Haiku x86_64 to quit. → Haiku x86_64 cannot build itself |
comment:2 by , 10 years ago
Milestone: | R1 → Unscheduled |
---|
x86_64 and buildtime only problem, moving out of R1.
The problem is the bootloader is built for a 32bit architecture but tries to use the compiler headers for a 64bit system. This can't work. We probably need a multilib compiler to do this cleanly.
comment:3 by , 10 years ago
It was building before. Why is it not building now? What changed and why?
comment:4 by , 9 years ago
Just looked at another ticket, opened/closed by jessicah, and she said something about building Haiku x86_64 on a gcc2h host. Does anyone know if Haiku gcc2h can build Haiku x86_64 successfully? That would be at least a work-around for this ticket.
comment:5 by , 8 years ago
Latest Revision (as of 8/8/16). It doesn't stop at interrupt.o anymore, but stops at boot_loader_bios_ia32, which I assume basically means the same thing? Shown below:
Welcome to the Haiku shell. ~> cd haiku/haiku ~/haiku/haiku> jam -q haiku-anyboot-image Starting build of type regular ... qrencode support not available on x86_64 /boot/home/haiku/haiku/src/add-ons/kernel/debugger/disasm/x86_64/Jamfile: No such file or directory /boot/home/haiku/haiku/src/bin/debug/ltrace/arch/x86_64/Jamfile: No such file or directory Skipping setjmp_test2.S test on non-x86 ...patience... ...patience... ...patience... ...patience... ...patience... ...patience... ...patience... ...patience... ...patience... ...patience... ...patience... ...patience... ...patience... ...patience... ...found 138005 target(s)... ...updating 12981 target(s)... MkDir1 /boot/home/haiku/haiku/generated/objects/haiku_host/x86_64/release/tools/anyboot C++ /boot/home/haiku/haiku/generated/objects/haiku_host/x86_64/release/tools/anyboot/anyboot.o Link /boot/home/haiku/haiku/generated/objects/haiku_host/x86_64/release/tools/anyboot/anyboot Chmod1 /boot/home/haiku/haiku/generated/objects/haiku_host/x86_64/release/tools/anyboot/anyboot BootLd /boot/home/haiku/haiku/generated/objects/haiku/x86_64/release/system/boot/boot_loader_bios_ia32 /boot/home/haiku/haiku/generated/objects/haiku/x86_64/release/system/boot/platform/bios_ia32/boot_platform_bios_ia32.o: In function `BIOSDrive::WriteAt(void*, long long, void const*, unsigned long)': (.text+0xf48): undefined reference to `__moddi3' /boot/home/haiku/haiku/generated/objects/haiku/x86_64/release/system/boot/platform/bios_ia32/boot_platform_bios_ia32.o: In function `BIOSDrive::WriteAt(void*, long long, void const*, unsigned long)': (.text+0xf79): undefined reference to `__divdi3' /boot/home/haiku/haiku/generated/objects/haiku/x86_64/release/system/boot/platform/bios_ia32/boot_platform_bios_ia32.o: In function `BIOSDrive::ReadAt(void*, long long, void*, unsigned long)': (.text+0x1128): undefined reference to `__moddi3' /boot/home/haiku/haiku/generated/objects/haiku/x86_64/release/system/boot/platform/bios_ia32/boot_platform_bios_ia32.o: In function `BIOSDrive::ReadAt(void*, long long, void*, unsigned long)': (.text+0x1143): undefined reference to `__divdi3' /boot/home/haiku/haiku/generated/objects/haiku/x86_64/release/system/boot/platform/bios_ia32/boot_platform_bios_ia32.o: In function `BIOSDrive::ReadAt(void*, long long, void*, unsigned long)': (.text+0x11b2): undefined reference to `__moddi3' /boot/home/haiku/haiku/generated/objects/haiku/x86_64/release/system/boot/platform/bios_ia32/boot_platform_bios_ia32.o: In function `BIOSDrive::ReadAt(void*, long long, void*, unsigned long)': (.text+0x11c8): undefined reference to `__divdi3' /boot/home/haiku/haiku/generated/objects/haiku/x86_64/release/system/boot/platform/bios_ia32/boot_platform_bios_ia32.o: In function `add_block_devices(DoublyLinkedList<Node, DoublyLinkedListStandardGetLink<Node> >*, bool) [clone .part.9]': devices.cpp:(.text+0x1c9c): undefined reference to `__moddi3' /boot/home/haiku/haiku/generated/objects/haiku/x86_64/release/system/boot/platform/bios_ia32/boot_platform_bios_ia32.o: In function `cpu_init': (.text+0x3434): undefined reference to `__udivdi3' /boot/home/haiku/haiku/generated/objects/haiku/x86_64/release/system/boot/loader/boot_partitions.a(efi_gpt.o): In function `efi_gpt_identify_partition(int, partition_data*, void**)': efi_gpt.cpp:(.text+0x2ce): undefined reference to `__divdi3' /boot/home/haiku/haiku/generated/objects/haiku/x86_64/release/system/boot/loader/boot_partitions.a(PartitionMap.o): In function `Partition::CheckLocation(long long) const': PartitionMap.cpp:(.text+0x56f): undefined reference to `__moddi3' PartitionMap.cpp:(.text+0x58f): undefined reference to `__moddi3' PartitionMap.cpp:(.text+0x5c5): undefined reference to `__moddi3' /boot/home/haiku/haiku/generated/objects/haiku/x86_64/release/system/boot/loader/boot_partitions.a(PartitionMap.o): In function `PrimaryPartition::GetPartitionDescriptor(partition_descriptor*) const': PartitionMap.cpp:(.text+0x8b1): undefined reference to `__divdi3' PartitionMap.cpp:(.text+0x8cb): undefined reference to `__divdi3' /boot/home/haiku/haiku/generated/objects/haiku/x86_64/release/system/boot/loader/boot_partitions.a(PartitionMap.o): In function `LogicalPartition::GetPartitionDescriptor(partition_descriptor*, bool) const': PartitionMap.cpp:(.text+0xcfa): undefined reference to `__divdi3' PartitionMap.cpp:(.text+0xd1a): undefined reference to `__divdi3' PartitionMap.cpp:(.text+0xd65): undefined reference to `__divdi3' /boot/home/haiku/haiku/generated/objects/haiku/x86_64/release/system/boot/loader/file_systems/bfs/boot_bfs.a(bfs.o):bfs.cpp:(.text+0xe8): more undefined references to `__divdi3' follow /boot/home/haiku/haiku/generated/objects/haiku/x86_64/release/system/boot/loader/file_systems/bfs/boot_bfs.a(Stream.o): In function `BFS::Stream::FindBlockRun(long long, BFS::block_run&, long long&)': Stream.cpp:(.text+0x766): undefined reference to `__moddi3' Stream.cpp:(.text+0x77a): undefined reference to `__divdi3' /boot/home/haiku/haiku/generated/objects/haiku/x86_64/release/system/boot/loader/file_systems/bfs/boot_bfs.a(Stream.o): In function `BFS::Stream::ReadAt(long long, unsigned char*, unsigned long*)': Stream.cpp:(.text+0x9b1): undefined reference to `__moddi3' /boot/home/haiku/haiku/generated/objects/haiku/x86_64/release/system/boot/loader/file_systems/bfs/boot_bfs.a(BPlusTree.o): In function `BFS::bplustree_header::IsValid() const [clone .part.7]': BPlusTree.cpp:(.text+0x21): undefined reference to `__moddi3' /boot/home/haiku/haiku/generated/objects/haiku/x86_64/release/system/boot/loader/file_systems/bfs/boot_bfs.a(BPlusTree.o): In function `BFS::CachedNode::InternalSetTo(BFS::Transaction*, long long)': BPlusTree.cpp:(.text+0x173): undefined reference to `__divdi3' /boot/home/haiku/haiku/generated/objects/haiku/x86_64/release/system/boot/loader/file_systems/bfs/boot_bfs.a(BPlusTree.o): In function `BFS::CachedNode::SetTo(long long, BFS::bplustree_node const**, bool)': BPlusTree.cpp:(.text+0x344): undefined reference to `__moddi3' /boot/home/haiku/haiku/generated/objects/haiku/x86_64/release/system/boot/loader/file_systems/fat/boot_fatfs.a(Volume.o): In function `FATFS::Volume::_ClusterAllocated(unsigned long) [clone .part.9]': Volume.cpp:(.text+0x2e): undefined reference to `__divdi3' Volume.cpp:(.text+0x5a): undefined reference to `__moddi3' /boot/home/haiku/haiku/generated/objects/haiku/x86_64/release/system/boot/loader/file_systems/fat/boot_fatfs.a(Volume.o): In function `FATFS::Volume::NextCluster(unsigned long, unsigned long)': Volume.cpp:(.text+0x646): undefined reference to `__moddi3' /boot/home/haiku/haiku/generated/objects/haiku/x86_64/release/system/boot/loader/file_systems/fat/boot_fatfs.a(Volume.o): In function `FATFS::Volume::_UpdateCluster(unsigned long, unsigned long)': Volume.cpp:(.text+0x79b): undefined reference to `__moddi3' /boot/home/haiku/haiku/generated/objects/haiku/x86_64/release/system/boot/loader/file_systems/fat/boot_fatfs.a(Directory.o): In function `FATFS::Directory::UpdateDirEntry(FATFS::Volume&, long long, unsigned long, unsigned long)': Directory.cpp:(.text+0x758): undefined reference to `__moddi3' /boot/home/haiku/haiku/generated/objects/haiku/x86_64/release/system/boot/loader/file_systems/fat/boot_fatfs.a(Directory.o): In function `FATFS::Directory::_AddEntry(FATFS::dir_entry&, long long&)': Directory.cpp:(.text+0xbf1): undefined reference to `__moddi3' /boot/home/haiku/haiku/generated/objects/haiku/x86_64/release/system/boot/loader/file_systems/fat/boot_fatfs.a(Stream.o): In function `FATFS::Stream::Stream(FATFS::Volume&, unsigned long, long long, char const*)': Stream.cpp:(.text+0x8f): undefined reference to `__divdi3' /boot/home/haiku/haiku/generated/objects/haiku/x86_64/release/system/boot/loader/file_systems/fat/boot_fatfs.a(Stream.o): In function `FATFS::Stream::_FindCluster(long long, unsigned long&)': Stream.cpp:(.text+0x2ba): undefined reference to `__divdi3' /boot/home/haiku/haiku/generated/objects/haiku/x86_64/release/system/boot/loader/file_systems/fat/boot_fatfs.a(Stream.o): In function `FATFS::Stream::_FindOrCreateCluster(long long, unsigned long&, bool&)': Stream.cpp:(.text+0x44d): undefined reference to `__divdi3' /boot/home/haiku/haiku/generated/objects/haiku/x86_64/release/system/boot/loader/file_systems/fat/boot_fatfs.a(Stream.o): In function `FATFS::Stream::FindBlock(long long, long long&, long long&)': Stream.cpp:(.text+0x59d): undefined reference to `__moddi3' Stream.cpp:(.text+0x5e6): undefined reference to `__moddi3' /boot/home/haiku/haiku/generated/objects/haiku/x86_64/release/system/boot/loader/file_systems/fat/boot_fatfs.a(Stream.o): In function `FATFS::Stream::ReadAt(long long, void*, unsigned long*, long long*)': Stream.cpp:(.text+0x6cb): undefined reference to `__moddi3' /boot/home/haiku/haiku/generated/objects/haiku/x86_64/release/system/boot/loader/file_systems/fat/boot_fatfs.a(Stream.o): In function `FATFS::Stream::WriteAt(long long, void const*, unsigned long*, long long*)': Stream.cpp:(.text+0xa34): undefined reference to `__moddi3' Stream.cpp:(.text+0xa90): undefined reference to `__moddi3' /boot/home/haiku/haiku/generated/objects/haiku/x86_64/release/system/boot/loader/boot_loader.a(DataIO.o): In function `BMallocIO::SetSize(long long)': DataIO.cpp:(.text+0x5c8): undefined reference to `__divdi3' /boot/home/haiku/haiku/generated/objects/haiku/x86_64/release/system/boot/boot_libroot.o: In function `number(Buffer&, unsigned long long, unsigned long, int, int, int)': kernel_vsprintf.cpp:(.text+0xdf3): undefined reference to `__umoddi3' kernel_vsprintf.cpp:(.text+0xe08): undefined reference to `__udivdi3' /boot/home/haiku/haiku/generated/objects/haiku/x86_64/release/system/boot/boot_libroot.o: In function `vsnprintf': (.text+0x14bf): undefined reference to `__umoddi3' /boot/home/haiku/haiku/generated/objects/haiku/x86_64/release/system/boot/boot_libroot.o: In function `vsnprintf': (.text+0x1897): undefined reference to `__umoddi3' /boot/home/haiku/haiku/generated/objects/haiku/x86_64/release/system/boot/boot_libroot.o: In function `vsnprintf': (.text+0x1903): undefined reference to `__umoddi3' /boot/home/haiku/haiku/generated/objects/haiku/x86_64/release/system/boot/boot_libroot.o: In function `vsnprintf': (.text+0x1916): undefined reference to `__udivdi3' /boot/home/haiku/haiku/generated/objects/haiku/x86_64/release/system/boot/boot_libroot.o: In function `vsnprintf': (.text+0x195d): undefined reference to `__umoddi3' /boot/home/haiku/haiku/generated/objects/haiku/x86_64/release/system/boot/boot_libroot.o: In function `vsnprintf': (.text+0x1973): undefined reference to `__udivdi3' ld -Bstatic --script=/boot/home/haiku/haiku/src/system/ldscripts/x86_64/boot_loader_bios_ia32.ld -o "/boot/home/haiku/haiku/generated/objects/haiku/x86_64/release/system/boot/boot_loader_bios_ia32" "/boot/home/haiku/haiku/generated/objects/haiku/x86_64/release/system/boot/platform/bios_ia32/boot_platform_bios_ia32.o" "/boot/home/haiku/haiku/generated/objects/haiku/x86_64/release/system/boot/arch/x86/boot_arch_x86.o" "/boot/home/haiku/haiku/generated/objects/haiku/x86_64/release/system/boot/loader/boot_loader.a" "/boot/home/haiku/haiku/generated/objects/haiku/x86_64/release/system/boot/loader/net/boot_net.a" "/boot/home/haiku/haiku/generated/objects/haiku/x86_64/release/system/boot/loader/boot_partitions.a" "/boot/home/haiku/haiku/generated/objects/haiku/x86_64/release/system/boot/loader/file_systems/bfs/boot_bfs.a" "/boot/home/haiku/haiku/generated/objects/haiku/x86_64/release/system/boot/loader/file_systems/amiga_ffs/boot_amiga_ffs.a" "/boot/home/haiku/haiku/generated/objects/haiku/x86_64/release/system/boot/loader/file_systems/tarfs/boot_tarfs.a" "/boot/home/haiku/haiku/generated/objects/haiku/x86_64/release/system/boot/loader/file_systems/fat/boot_fatfs.a" "/boot/home/haiku/haiku/generated/objects/haiku/x86_64/release/system/boot/loader/file_systems/packagefs/boot_packagefs.a" "/boot/home/haiku/haiku/generated/objects/haiku/x86_64/release/system/boot/loader/boot_loader.a" "/boot/home/haiku/haiku/generated/objects/haiku/x86_64/release/system/boot/loader/file_systems/tarfs/boot_zlib.a" "/boot/home/haiku/haiku/generated/objects/haiku/x86_64/release/system/boot/boot_libroot.o" /boot/system/develop/tools/bin/../lib/gcc/x86_64-unknown-haiku/5.4.0/libsupc++.a /boot/system/develop/tools/bin/../lib/gcc/x86_64-unknown-haiku/5.4.0/libgcc.a \ ...failed BootLd /boot/home/haiku/haiku/generated/objects/haiku/x86_64/release/system/boot/boot_loader_bios_ia32 ... BUILD FAILURE: ...failed updating 1 target(s)... ...skipped 4 target(s)... ...updated 3 target(s)... ~/haiku/haiku>
comment:6 by , 8 years ago
Since the build stops at a different point (though similar, I assume), I posted a new ticket for this issue. You can close this one.
comment:7 by , 8 years ago
Blocking: | 12910 added |
---|
(In #12910) Please don't reopen a ticket for an already existing issue. The problem is still the same as before.
comment:8 by , 8 years ago
My question is, if you can build Haiku x86-64 in another OS (which is bootable, since I download bootable versions (.iso and .raw) now and then), why can't you build a bootable version within Haiku x86-64 itself? Can't you just modify the code to make the build work within Haiku x86-64 itself?
How much would need to be donated to allow complete building of Haiku x86-64 from within Haiku x86-64 once again (which worked many years ago, because I was doing it)?
comment:9 by , 8 years ago
The problem is the lack of a "multilib" compiler running on Haiku.
On most Linux and other systems, the compiler can build both 32-bit and 64-bit executables (using the -m32 and -m64 command line switches). This is currently not available in Haiku. In theory, it would just be a matter of passing --enable-multilib when configuring GCC, however, we have some tricks later in the compiler build process that don't play so well with that (we are moving the libraries around manually, IIRC). The fix is not very complex, just reviewing our build scripts to handle the changed paths in the multilib case.
This is required currently, because the 64-bit Haiku boots from the BIOS, which is still a 32-bit thing (and even 16-bit at the early start). So, what happens when you boot is:
- The BIOS itself starts in 16-bit, 80286 compatible mode,
- The boot loader switches to 32-bit, 80386 compatible mode,
- The bootloader switches to 64-bit, Athlon64 compatible mode,
- Finally, the 64bit kernel is started.
This means most of the bootloader is actually 32bit. To compile the bootloader, you then need a compiler that generates 32-bit executables. The small 16-bit part is written in assembler, so fortunately we don't need a 16-bit C or C++ compiler.
There is another solution to avoid this: switch to a fully 64-bit environment, with UEFI used instead of the legacy BIOS. In that case, even the bootloader runs in 64-bit mode and there are no such problems. There has been some progress on this, but it requires some work, still. IIRC, the last status update is that we need to replace the VESA driver (which is part of the BIOS and not available in UEFI), and there is a crash that is yet unexplained during boot.
As far as I know, building an x86-64 Haiku from within Haiku has never been possible because of the mentionned problem with gcc. Unless you had a multilib gcc available at some point, in which case it would be very interesting to know how you compiled it.
comment:10 by , 8 years ago
Thank you for that extensive explanation. However, many moons ago, I was able to build 64-bit Haiku from within 64-Bit Haiku and the revisions I built were bootable, as I created .iso CD images. Go far back enough in the revision tree and you will see. Problem is, you have to download the source tree from that aged time point, not recent. This was obviously before Haiku had package management and might have had an early revision (working to some degree), Web Positive.
I can't say what revision nor year, but I was doing it. Google my handle ("Luposian") and Haiku x86_64. I'm sure I mentioned something about revisions I was building at that time. If I have some free time, I'll look into it myself. "Google is your friend". :-D
comment:11 by , 8 years ago
Gee, that was hard... ;-D
https://dev.haiku-os.org/ticket/9572
I knew I wasn't crazy... weird, maybe, but not crazy. :-D
comment:12 by , 8 years ago
Ok, last comment from ticket close, the exact revision I was having success with. Now, how do we get THAT revision's "buildability" put back into the recent revisions, since we now have proof such builds were possible.
comment:13 by , 8 years ago
I downloaded, burned to CD, and installed hrev45437 (just like I did 3 years ago). Downloaded the build/source tree. Then downloaded (updated/downgraded to?) that specific revision's sources and proceeded to JAM. And whaddayaknow... it BUILT (no surprise, really)!
I was not able to make a CD (.iso) or Anyboot image with that specific revision, but I was able to make a RAW image, which I simply installed to a second partition. WebPositive works, too.
So I have personally proved you CAN built Haiku x86_64 from within Haiku x86_64. The system I used was my Acer Aspire 5560 laptop (it's at least 4 yrs. old now). Seems that revision won't boot (I downloaded the CD .iso image) on anything else I have available right now. I believe it has something to do with SATA, concerning the CD drive. Needs to be in legacy IDE mode, to boot. But it works!
comment:15 by , 8 years ago
Due to an error I encountered in building, Jessicah and I found that gawk 4.1.4 has build breaking errors, but 4.1.0 works ok. The problem is that 4.1.4 is the version included in the repo and this cannot be fixed as it changes the hash and itself breaks the build.
ie: changing line 310 in haiku/build/jam/repositories/HaikuPorts/x86_64 from gawk-4.1.4-1 to gawk-4.1.0-2 breaks the build (which is already broken because gawk 4.1.4 is already included in the existing build and has to be replaced... using gawk 4.1.4 during build craps out on haiku/src/apps/devices/DevicePCI.cpp for me, results may vary)
comment:16 by , 8 years ago
Someone with commit access can downgrade this: 1) Permanently, with jam upload-packages + push to the repo 2) Locally, with jam build-remote-test-repository (see "jam help" for instructions)
alternatively, put your 4.1.0 package in generated/downloads, add the appropriate checksum file, and set HAIKU_NO_DOWNLOADS. This should allow the build to proceed.
follow-up: 18 comment:17 by , 8 years ago
It's nice to workaround the issue, it's nicer to solve the actual problem, be it in Haiku, at Haikuports or upstream. I mean gawk version 4.1.4 should come at a point in Linux distributions (or is it already there?), the cross build would then be broken too.
comment:18 by , 8 years ago
Replying to korli:
It's nice to workaround the issue, it's nicer to solve the actual problem, be it in Haiku, at Haikuports or upstream. I mean gawk version 4.1.4 should come at a point in Linux distributions (or is it already there?), the cross build would then be broken too.
Yes, fixing it would be good... looks like will have to resort to doing diffs across release tarballs, as they don't seem to have any good changelogs.
I have gawk 4.1.1 on my Ubuntu VM, and that doesn't have any issues, although I don't think I tested that particular build on Haiku.
comment:19 by , 8 years ago
Hmm, I've just built gawk outside of HaikuPorter, 4.1.0, and that has the same internal error.
Running make check, it fails on the localenl
test.
~/tests/gawk-4.1.0/test> localenl.sh LC_ALL=C passed LC_ALL=POSIX passed LC_ALL=en_US.ISO-8859-1 passed gawk: cmd. line:14: fatal error: internal error Abort ./localenl.sh: line 39: 2471 Done cat <<EOF line1 line2 line3 line4 line5 line6 line7 line8 line9 EOF 2472 Abort | $AWK --posix ' BEGIN { RS="\0"; } { if (match($0, /\n[^2\n]*2/)) { got2=1; } else { print "no match 2"; } if (match($0, /\n[^3\n]*3/)) { got3=1; } else { print "no match 3"; } if (match($0, /\n[^4\n]*4/)) { got4=1; } else { print "no match 4"; } if (match($0, /\n[^5\t]*5/)) { got5=1; } else { print "no match 5"; } if (match($0, /\n[^6\n]*6/)) { got6=1; } else { print "no match 6"; } if (match($0, /\n[a-z]*7\n/)){ got7=1; } else { print "no match 7"; } if (match($0, /\n[^8\n]*8/)) { got8=1; } else { print "no match 8"; } if (match($0, /8.[^9\n]+9/)) { got9=1; } else { print "no match 9"; } } END { exit(!(got2 && got3 && got4 && got5 && got6 && got7 && got8 && got9)); } ' LC_ALL=en_US.UTF-8 FAILED
With installed gawk:
~/tests/gawk-4.1.0/test> AWK=/boot/system/bin/gawk localenl.sh LC_ALL=C passed LC_ALL=POSIX passed LC_ALL=en_US.ISO-8859-1 passed LC_ALL=en_US.UTF-8 passed
comment:20 by , 8 years ago
The gawk problems should be resolved now :) It would still be nice to figure out how to make gcc build a static 32-bit libgcc.a with haikuporter though...
comment:21 by , 8 years ago
Just for information, when building with HAIKU_BOOT_PLATFORM=efi jam -q @release-raw
it now stops at Collator.o:
... C++ /Hub/haiku/generated.x86_64/objects/haiku/x86_64/release/kits/locale/Collator.o /Hub/haiku/src/kits/locale/Collator.cpp:8:30: fatal error: unicode/uversion.h: No such file or directory compilation terminated. ...
BTW, thanks to jessicah for haiku_loader.efi, it's really awesome.
follow-up: 23 comment:22 by , 8 years ago
This error looks like a failed package download during build. Delete generated/download/icu* and generated/build_packages/icu* and try again?
comment:23 by , 8 years ago
Replying to pulkomandy:
This error looks like a failed package download during build. Delete generated/download/icu* and generated/build_packages/icu* and try again?
Yep, that was it. Must have choked twice on the same package since I had removed the whole generated.x86_64 folder before posting to make sure it was not the downloaded packages or some old generated files...
comment:24 by , 8 years ago
It seems that some things are still missing (or maybe the build system doesn't know that those things are not needed for EFI):
/Hub/haiku/src/add-ons/kernel/debugger/disasm/x86_64/Jamfile: No such file or directory /Hub/haiku/src/bin/makebootable/platform/efi/Jamfile: No such file or directory /Hub/haiku/src/bin/debug/ltrace/arch/x86_64/Jamfile: No such file or directory /Hub/haiku/src/system/kernel/platform/efi/Jamfile: No such file or directory /Hub/haiku/src/tools/makebootable/platform/efi/Jamfile: No such file or directory
Resulting in:
AddHaikuImagePackages: package mesa_swrast not available! Skipping setjmp_test2.S test on non-x86 don't know how to make <build>makebootable don't know how to make kernel_platform_efi.o don't know how to make makebootable ...found 140291 target(s)... ...updating 5161 target(s)... ...can't find 3 target(s)... ...can't make 929 target(s)...
comment:25 by , 8 years ago
Some of these missing jamfiles are harmless and expected (missing support for some things but it shouldn't result in a build failure). I'm not sure about makebootable, I think with the EFI loader, it is not needed (makebootable is only a hack to load the bootloader from the partition, with EFI, the loader is in the boot partition and does not need to be loaded this way). Anyway, this issue is/was not about EFI. If this is the only problem left, then we can close it.
comment:26 by , 8 years ago
Not sure if it should be closed. When not building for EFI it stops at bios_ia32 and when building for EFI it does not produce an image file.
comment:27 by , 6 years ago
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
Yes, then this ticket should be closed. We should probably continue investigating providing a multilib GCC by default, but I think there's already a ticket for that at HaikuPorts.
comment:28 by , 6 years ago
Blocking: | 14796 added |
---|
comment:29 by , 5 years ago
Blocking: | 15559 added |
---|
comment:30 by , 5 years ago
Milestone: | Unscheduled → R1/beta2 |
---|
Assign tickets with status=closed and resolution=fixed within the R1/beta2 development window to the R1/beta2 Milestone
Jessica mentioned she knew how to fix this, reassigning to her so she can get around to that at some point.