Hello, sorry for bothering the mailing list. But I am tring to package Castor on an Alpine Linux virtual machine, but cargo is failing to build. It looks like glibc is a hard requirement and cargo is trying to build against that. Here is the error log: Running `/home/joel/aports/testing/castor/src/castor-0.7.0/target/release/build/glib-sys-cc3e8d04de13526d/build-script-build` error: failed to run custom build command for `glib-sys v0.9.1` Caused by: process didn't exit successfully: `/home/joel/aports/testing/castor/src/castor-0.7.0/target/release/build/glib-sys-cc3e8d04de13526d/build-script-build` (exit code: 1) --- stderr `"pkg-config" "--libs" "--cflags" "glib-2.0" "glib-2.0 >= 2.42"` did not exit successfully: exit code: 1 --- stderr Package glib-2.0 was not found in the pkg-config search path. Perhaps you should add the directory containing `glib-2.0.pc' to the PKG_CONFIG_PATH environment variable Package 'glib-2.0', required by 'virtual:world', not found Package 'glib-2.0', required by 'virtual:world', not found >>> ERROR: castor: build failed I was just wondering if you had any advice or knowledge since I am quite new to building Rust packages. I can show you the build script I am using if you are interesting in it.
Hi Joel, I haven't tried building Castor on musl libc yet but from the trace you are missing the glib package which is used by GTK is not related to glibc https://pkgs.alpinelinux.org/package/edge/main/x86/glib Hope it helps, don't hesitate to ask questions if you need help.
Thanks Julien, castor is now compiling. I just need to figure out how to get the desktop files etc. installed. Speaking of which, is there a location for the default config to be installed to, like /etc/ or /usr/share? Also FYI, I was given a warning during compiling that you have used a deprecated feature in GTK: warning: use of deprecated item 'gtk::WidgetExt::override_background_color' --> src/main.rs:44:18 | 44 | content_view.override_background_color(gtk::StateFlags::NORMAL, Some(&color)); | ^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: `#[warn(deprecated)]` on by default I am compiling 0.7.0, so I am not update to date with the master. I just thought I would let you know in case it is still an issue.
Hi Joel, Regarding Castor files `make install` should take care of it and put everything where needed. Castor uses two files besides icons and desktop, ~/.config/castor/settings and ~/.local/share/castor/bookmarks. Just pushed 0.8.0 that fixes the deprecation warning among other things.
Hello Julien, Thank you for your continued support. The reason I was asking is because I am packaging Castor for Alpine Linux, and I don't think I can just use the makefile. I just wanted to say that the compile has gone well, but it appears that the tests are failing, which causes the build to fail. It is all rather inconsistant though, rerunning the job it will sometimes pass. Here are the jobs that were ran: https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/7562/pipelines Here is the build script that I wrote for Alpine Linux: https://gitlab.alpinelinux.org/alpine/aports/-/blob/d6f89e6706d131eb72c3098fa3dd777b5da4ba45/testing/castor/APKBUILD Any advice would be appreciated. Thanks!
Hey no problem :) In your build script you need to run the tests on a single thread just like in the Makefile with `cargo test -- --test-threads=1`.