Open ADKaster opened 5 months ago
Further evidence that the issue is actually in the host tool gn
:
andrew@fedora:~/Source/ladybird$ /home/andrew/Source/ladybird/Build/ladybird/vcpkg_installed/arm64-linux/tools/gn/gn --help
<jemalloc>: Unsupported system page size
<jemalloc>: Unsupported system page size
<jemalloc>: Unsupported system page size
<jemalloc>: Unsupported system page size
<jemalloc>: Unsupported system page size
Aborted (core dumped)
It looks like gn is simply downloaded from chromium's infra servers?
Is the solution then for vcpkg to bug chromium to ship a 16 KiB Page-aware version of gn, or to build gn from source?
@nico :pray:
You can try to build gn
yourself, and add it to the PATH
.
Even with gn
in $PATH, it still uses vcpkg-gn:arm64-linux@2024-02-22
and vcpkg-tool-gn:arm64-linux@2024-02-22
to build.
https://gist.github.com/ADKaster/a67e9ddbac746d7333364a5aa39ceead
If I do this it works, but I'm guessing that's not exactly... the right way to do such things.
sudo cp $(which gn) vcpkg/installed/arm64-linux/tools/gn/gn
Are there docs on how to replace/override host tools that I missed in my search?
I see, vcpkg-tool-gn
is bias towards the main platforms, with binaries from Google.
One thing to try is to pre-set the GN
cmake variable, either in a custom triplet file, or via vcpkg's --cmake-args=-DGN=/your/path/to/GN
.
There is no exact documentation for the next recommendation: to make an overlay port which builds gn
from source and put it into ${CURRENT_PACKAGES_DIR}/tools/gn/
.
(We might integrate such a recipe into the regular port for the platforms not supplied with binaries from Google.)
Package: skia[core,fontconfig,freetype,gl,harfbuzz,icu]:arm64-linux@124
Host Environment
To Reproduce
vcpkg install --no-print-usage
Failure logs
/home/andrew/Source/ladybird/Toolchain/Tarballs/vcpkg/buildtrees/skia/generate-arm64-linux-dbg-err.log
```Additional context
vcpkg.json
``` { "builtin-baseline": "f7423ee180c4b7f40d43402c2feb3859161ef625", "dependencies": [ { "name": "fontconfig", "platform": "linux | freebsd | openbsd" }, "icu", "libjpeg-turbo", { "name": "libpng", "features": [ "apng" ] }, "skia", "sqlite3", "woff2" ], "overrides": [ { "name": "fontconfig", "version": "2.14.2#1" }, { "name": "icu", "version": "74.2#2" }, { "name": "libjpeg-turbo", "version": "3.0.2" }, { "name": "libpng", "version": "1.6.43#1" }, { "name": "skia", "version": "124#0" }, { "name": "sqlite3", "version": "3.45.3" }, { "name": "woff2", "version": "1.0.2#4" } ] } ```Additional Information:
This is on Asahi Fedora Remix 40, with 16 KiB Pages.
The failure talking about jemalloc seems to be talking about the host tool
gn
, used to create the build for skia.Presumably jemalloc as used by gn needs to be told to do the usual Asahi workarounds when building on such a platform.