My progress in Wayland compatibility layer

Is seems build server have no enough memory to compile webkit-gtk.

Maybe ask Haiku Inc. to purchase new HaikuPorts build server?

6 Likes

I fixed the problem when building webkit-gtk for the x86 architecture (the scripts had a hardcoded path to gcc). But it does not help to build it. The memory limit in Haiku x86 is 4 GB per process, but the compiler needs more when building some files. Regardless of the build method (UNIFIED_BUILD on or off). Now I’ll try to turn off unnecessary features and try again. If that doesn’t work, I will try the build of the previous 2.36.x branch. How else can it be done? Cross compilation? Build with clang?

1 Like

I’d be willing to throw a few $ at it

Cross compilation from a 64-bit system seems best. On the Amiga-like platforms, native compilation is becoming exceedingly rare because trying to run a competitively modern compiler on 32-bit addressing and especially signed 32-bit addressing is totally impractical.

Same problem on Linux with people trying to build it. I have seen others complain about not having enough RAM and compiling or linking stopping on them.

You can reduce to j1 up to j4 for make if problem is during compiling but linking will be very RAM intense too. Debug version requires lots of RAM.

Compiling debug version on 32-bit Haiku is not going to work with 4 GB process limit but it should work on 64-bit Haiku. You will need lots of RAM. Something like 24 to 32 GB should work or else make a really big swap file (virtual memory). Swap will slow down the build but should work. Try physical RAM + swap file = 32 GB. Try to upgrade the RAM on the build system later on.

Also, cross compiling should work on 64-bit Linux system but you will still run out of RAM on there too.

According to @waddlesplash , Ninja Build throttles back to fewer threads in low memory situations already. He changed 3 lines in the recipe to try that hypothesis. GnuMake is no longer used to build the package.

I agree with the other things said though. I built it on my system having 32GB of RAM on 8 threads and it barely exceeded 16GB during the build according to the resource monitor.

My build system is just a laptop i5 with 6GB of RAM, so I’m out of the picture trying to build it.
But when it’s somewhere possible I’m looking forward on seeing what it can be done with it. Kudos to all your hard work!

1 Like

I was able to successfully build webkit-gtk under Haiku x86 (32bit). For this, I switched the build to use clang 12. RAM using was minimal and did not exceed 5-6 GB in total, and I was building with eight jobs (-j8). But unfortunately the browser does not work.
When I start the process I get:
runtime_loader: Static TLS model is not supported.
runtime_loader: /boot/system/lib/x86/libwebkit2gtk-4.1.so.0.2.5: Troubles handling dynamic section

PS: TLS bug fixed, but WebProcess still crash

4 Likes

Haiku hrev56595 x86_gcc2, webkit-gtk 2.38.2, Epiphany

16 Likes

Is this going to be in the upcoming beta release? The reason I ask is do we really want to go ‘live’ with cool GTK/Wayland apps which aren’t themed in the same way as Haiku?

Yes, we want. It’s always better to have popular cross-platform apps without the native Haiku look than no apps at all.

3 Likes

Haiku gtk3 theme:

21 Likes

Wow!
I would say haiku-like application theming is a no-issue!

1 Like

no, wayland and gtk based wayland is third party software that can be installed later on via the software repository

That looks fabulous. Lovely!

Is this C++ or CSS ?

GitHub - B00merang-Project/Haiku: GTK theme based on the appearance of Haiku OS, based on BeOS with some fixes

3 Likes

where should I put the theme folder? There is a /boot/system/data/themes/Default/gtk-3.0 which is obviously read-only.
I tried putting the folder downloaded from the Github repo to /boot/home/config/non-packaged/data/themes/Haiku-master/gtk-3.0.
It doesn’t seem to kick in, though.

You also edit the file /boot/system/non-packaged/data/glib-2.0/schemas/00_org.gnome.desktop.interface.gschema.override
change
gtk-theme = 'Adwaita'
to
gtk-theme = 'Haiku'
and then run
glib-compile-schemas /boot/system/non-packaged/data/glib-2.0/schemas

1 Like

glib-compile-schemas fails with the following errors:

Warning: Schema “org.gnome.crypto.pgp” has path “/desktop/gnome/crypto/pgp/”.  Paths starting with “/apps/”, “/desktop/” or “/system/” are deprecated.
Warning: Schema “org.gnome.system.locale” has path “/system/locale/”.  Paths starting with “/apps/”, “/desktop/” or “/system/” are deprecated.
Warning: Schema “org.gnome.system.proxy” has path “/system/proxy/”.  Paths starting with “/apps/”, “/desktop/” or “/system/” are deprecated.
Warning: Schema “org.gnome.system.proxy.http” has path “/system/proxy/http/”.  Paths starting with “/apps/”, “/desktop/” or “/system/” are deprecated.
Warning: Schema “org.gnome.system.proxy.https” has path “/system/proxy/https/”.  Paths starting with “/apps/”, “/desktop/” or “/system/” are deprecated.
Warning: Schema “org.gnome.system.proxy.ftp” has path “/system/proxy/ftp/”.  Paths starting with “/apps/”, “/desktop/” or “/system/” are deprecated.
Warning: Schema “org.gnome.system.proxy.socks” has path “/system/proxy/socks/”.  Paths starting with “/apps/”, “/desktop/” or “/system/” are deprecated.

The file gschemas.compiled is empty.
I think this is regardless of the theme I installed.
I also tried to temporarily remove the offending files, I don’t get any error but gschemas.compiled is still empty.

What am I doing wrong?