My progress on Haiku compatibility layer for Linux

the one on my system is 13.2:

$ /usr/bin/gcc --version
gcc (Ubuntu 13.2.0-4ubuntu3) 13.2.0
Copyright (C) 2023 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

i added the buildtool path to my path so it its 11.3
export PATH=/home/ubu/src/haiku/generated.x86_64/cross-tools-x86_64/bin/:bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin

$ gcc --version
gcc (GCC) 11.3.0
Copyright (C) 2021 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

but the i get:

~/src/haiku/generated.x86_64$ time jam -q -j3 @nightly-anyboot
Starting build of type regular …
Building Haiku Nightly
Asked for bios_ia32 target boot platform
Unknown path to handle adding to image
Asked for pxe_ia32 target boot platform
Unknown path to handle adding to image
…patience…
…patience…
…patience…
…patience…
…patience…
…patience…
…patience…
…patience…
…patience…
…patience…
…patience…
…found 106370 target(s)…
…updating 16350 target(s)…
C++ objects/linux/x86_64/release/build/libroot/atomic.o
C++ objects/linux/x86_64/release/build/libroot/byteorder.o
C++ objects/linux/x86_64/release/build/libroot/find_directory.o
In file included from ./…/headers/build/BeOSBuildCompatibility.h:21,
from :
…/headers/build/os/support/Errors.h:9:10: fatal error: errno.h: No such file or directory
9 | #include <errno.h> /* build-specific overrides errno /
| ^~~~~~~~~
compilation terminated.
In file included from ./…/headers/build/BeOSBuildCompatibility.h:21,
from :
…/headers/build/os/support/Errors.h:9:10: fatal error: errno.h: No such file or directory
9 | #include <errno.h> /
build-specific overrides errno /
| ^~~~~~~~~
In file included from ./…/headers/build/BeOSBuildCompatibility.h:21,
from :
…/headers/build/os/support/Errors.h:9:10: fatal error: errno.h: No such file or directory
9 | #include <errno.h> /
build-specific overrides errno */
| ^~~~~~~~~
compilation terminated.
compilation terminated.

I doubt that you should do this. When cross-compiling Haiku on Linux, the build system expects the gcc on $PATH to be a system native (Linux) compiler. The one from buildtools, however, is a cross-compiler for Haiku.

I once did have issues when building with 13.x. However, support for GCC 13 should have been recently added:

#if __GNUC__ == 2
#	define B_HAIKU_ABI					B_HAIKU_ABI_GCC_2_HAIKU
#elif (__GNUC__ >= 4 && __GNUC__ <= 13) || defined(__TINYC__)
#	define B_HAIKU_ABI					B_HAIKU_ABI_GCC_4
#else
#	error Unsupported compiler!
#endif

Can you create a simple C file on Linux, do a printf("%i", __GNUC__);, and see what the result is?

feat: Initial arm64 support · trungnt2910/hyclone@b759b73 (github.com)

Kinda nice to see hyclone successfully built for arm64 - it was (although a bit carelessly) designed to be easily portable. Generally, the current published instructions should work.

Now it’s just the server and some packages. We can’t get into a shell on $HPREFIX yet, not even a “Hello World”, since there are still some critical stubs in runtime_loader. HyClone is a “clone” after all - it can’t get far ahead of the official arm64 Haiku.

Also, for the latest news and quick support on HyClone, please join our Discord server!

Or, if you prefer Matrix, you can join it here.

9 Likes

Please do not use Discord because some people such as me can’t access it. I was banned immediately after registration and feedback did not work. Matrix is a free better alternative that is not under control of some corporation.

4 Likes

Probably because there is literally “danger” in your email :sweat_smile:

If there is enough interest and a free solution I might set up a Matrix room with a Discord bridge.

1 Like

9 posts were split to a new topic: Discord and Matrix

Wow how interesting.!!!

Very cool, this will be as Cosmoe should be :3 very cool.

1 Like