-
Notifications
You must be signed in to change notification settings - Fork 27
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Trying to package for NixOS: Zygote error #66
Comments
As far as I know, it should work with the generic CEF builds. The patches in AUR are to fix a compiler error caused by makepkg, and to make Your error message suggests that the fork() syscall failed, but it doesn't say what the error was. Something like strace might tell you. |
By the way, Bolt's licence is agpl3+, not gpl2+. |
Hey, thanks for the quick reply. I just updated the license. It seems to be related to a sandboxing issue? I disabled zygote and CEF's sandboxing and it seemed to work. I'm still having issues with libGL however:
Does that mean I incorrectly linked libGL? EDIT: I managed to successfully link libGL, which fixed my zygote issues. However, I'm getting a new error:
Any clue what that might be about? |
Yes. My understanding of Nix is that there's no standard location like |
I managed to make it work :) However, I'm still getting an error that it cannot find icudtl.dat. Is that supposed to be available at runtime, or is it a build-time thing where it's bundled with the application? openat(AT_FDCWD, "/nix/store/qavag7d0q4bslf85q61ika50h2prvk0y-cef-binary-121.3.13/lib/icudtl.dat", O_RDONLY) = -1 ENOENT (No such file |
icudtl.dat should be in your CEF package, in the Resources directory, and it should be installed in the same directory as #!/bin/sh -eu
cd "$(dirname "$0")/../../../opt/bolt-launcher"
exec ./bolt "$@" So either your CWD isn't set to the installation directory, or installation wasn't done correctly. |
Hey, quick update on the NixOS packaging status. We're almost done working on it, as there has been a few issues we ran into, but it should be ready soon enough. We had to patch a few of your cmake files to make it work, as downloading libcef under cef/dist does not work with how NixOS does things (it's not possible/very recommended against to download binaries as part of a build system). We were thinking of submitting a PR (as unobtrusive as possible to your build system) to allow us to use OS level libcef instead of the downloaded version. Ideally, this would just be a flag, and it would allow us and other atomic distributions to package your app more easily. Would that be fine by you? |
How do "OS level" CEF distributions vary from the ones Bolt expects? You should be able to point it to any distribution using the CEF_ROOT value, unless the internal structure of them is different? |
I looked into this today. Unfortunately, the libcef package on nixpkgs isn't really useful for anything. A normal CEF-based program would have all the libraries and the program itself in one directory, and in particular, CEF insists that The only package that uses nixpkgs libcef is "obs-studio", and that makes it work by symlinking all the stuff back to where it's supposed to be... |
Hey, I managed to fix it in the meantime. I got into a whole lot of issues since, like you said, libcef is broken on NixOS, but we managed to fix it by overriding the entire install process. See NixOS/nixpkgs/pull/338470 for more details. I should probably open an issue for it, to avoid other people to spend the amount of time we did on the issue because of a broken package. Thanks a lot for your time anyway! |
Okay interesting, so it looks like you did get nixpkgs libcef to work using
the same sort of method as obs-studio did?
Good to know that's done anyway, thanks for your work on it.
…On Thu, 31 Oct 2024, 05:41 Anthony, ***@***.***> wrote:
Hey, I managed to fix it in the meantime. I got into a whole lot of issues
since, like you said, libcef is broken on NixOS, but we managed to fix it
by overriding the entire install process.
See NixOS/nixpkgs#338470
<NixOS/nixpkgs#338470> for more details. I should
probably open an issue for it, to avoid other people to spend the amount of
time we did on the issue because of a broken package.
Thanks a lot for your time anyway!
—
Reply to this email directly, view it on GitHub
<#66 (comment)>, or
unsubscribe
<https://github.com/notifications/unsubscribe-auth/AHG6BIBS624S2KVQFMX7YO3Z6G7JXAVCNFSM6AAAAABNMY2POGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDINBZGA2DKOJZGM>
.
You are receiving this because you commented.Message ID:
***@***.***>
|
Yes exactly! I had to do something extremely similar (it made the whole derivation really ugly). From what I've seen, it looks like other apps use libcef in its current format without overriding, really unsure how it works for them (if it even does). |
Hello,
I'm trying to package your application for NixOS, but running into a Zygote issue and wondering if it's because I'm not using your CEF version. This is the error I'm getting:
I was wondering if you applied specific patches to your cef version, that might have been important in able to run the application, or if I forgot any flags. Here's my full nix file:
EDIT: I saw that you added two patches to your AUR package:
https://aur.archlinux.org/cgit/aur.git/tree/fmt.patch?h=bolt-launcher&id=55a7ee5368e80689837beb6a94ad7d46a7d85327
https://aur.archlinux.org/cgit/aur.git/tree/cef-no-fortify.patch?h=bolt-launcher&id=55a7ee5368e80689837beb6a94ad7d46a7d85327
Would forgetting to apply any of those result in that Zygote error?
The text was updated successfully, but these errors were encountered: