[haiku-bugs] [Haiku] #12910: Haiku x86-64 build won't build itself

  • From: "Luposian" <trac@xxxxxxxxxxxx>
  • Date: Fri, 12 Aug 2016 18:57:31 -0000

#12910: Haiku x86-64 build won't build itself
--------------------------+------------------------------
 Reporter:  Luposian      |        Owner:  bonefish
     Type:  bug           |       Status:  new
 Priority:  normal        |    Milestone:  R1
Component:  Build System  |      Version:  R1/Development
 Keywords:                |   Blocked By:
 Blocking:                |  Has a Patch:  0
 Platform:  x86-64        |
--------------------------+------------------------------
 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?

 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 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)?

 Relevant output 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>

--
Ticket URL: <https://dev.haiku-os.org/ticket/12910>
Haiku <https://dev.haiku-os.org>
Haiku - the operating system.

Other related posts: