Skip to content
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

Help building on Guix #23

Closed
Erudition opened this issue Dec 14, 2024 · 5 comments
Closed

Help building on Guix #23

Erudition opened this issue Dec 14, 2024 · 5 comments
Labels
documentation Improvements or additions to documentation question Further information is requested

Comments

@Erudition
Copy link

Erudition commented Dec 14, 2024

I'm close to getting sane-break to work on Guix. Since the dependencies are different in Guix, I basically just try to build the source, judge from the errors what deps are missing, and add them to the environment to see if it goes further. Here is what I have so far:

guix shell cmake qtmultimedia libxkbcommon layer-shell-qt vulkan-headers qtbase@6.7.2 qtwayland@6

However I'm getting a weird issue with a missing function that is supposedly in Qt::Widgets, though that module should already be provided in qtbase, and the Cmake List has a requirement check for that module that doesn't fail...

~/Software/sane-break/build [env]$ cmake ..
-- The C compiler identification is GNU 14.2.0
-- The CXX compiler identification is GNU 14.2.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /home/adroit/.guix-home/profile/bin/gcc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /home/adroit/.guix-home/profile/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE
-- Performing Test HAVE_STDATOMIC
-- Performing Test HAVE_STDATOMIC - Success
-- Found WrapAtomic: TRUE
-- Found OpenGL: /gnu/store/w7h1b7i1yn98rh2i8md77hr7k7hn8psz-profile/lib/libGL.so
-- Found WrapOpenGL: TRUE
-- Found XKB: /gnu/store/w7h1b7i1yn98rh2i8md77hr7k7hn8psz-profile/lib/libxkbcommon.so (Required is at least version "0.5.0")
-- Found WrapVulkanHeaders: /gnu/store/w7h1b7i1yn98rh2i8md77hr7k7hn8psz-profile/include
CMake Error at CMakeLists.txt:42 (qt_add_ui):
  Unknown CMake command "qt_add_ui".


-- Configuring incomplete, errors occurred!

Can't seem to find a package that fixes it, and there's nothing online on this particular error. What could cause qt_add_ui to be unavailable?

qt_add_ui(sane-break SOURCES src/pref-window.ui)

@AllanChain
Copy link
Owner

AllanChain commented Dec 15, 2024

Thank for the detailed report. I forgot to mention in README that currently Qt 6.8 is required. If Qt 6.8 is not available for you, I can try to find a backward-compatible way to build.

@AllanChain AllanChain added documentation Improvements or additions to documentation question Further information is requested labels Dec 15, 2024
@AllanChain
Copy link
Owner

You can try the latest commit 3ffab99

@Erudition
Copy link
Author

Ohh so that's what it was...
Yeah, 6.7 is as new as we've got right now.

I'll git pull and try again, thanks

@Erudition
Copy link
Author

Yup, that worked! Continuing through the errors, I got it to build with this final list of packages, including optional support stuff:

guix shell --container make cmake gcc-toolchain  libxkbcommon layer-shell-qt vulkan-headers qtbase@6 qtmultimedia qtwayland@6 wayland pkg-config libxscrnsaver libx11

That's run in a pure isolated container, so it's the minimal set of packages. Pretty soon I'll have a complete package recipe for Guix (which works on other distros btw).

@AllanChain
Copy link
Owner

Thanks for testing with Guix, and I have added instructions in README. Closing this issue as completed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation question Further information is requested
Projects
None yet
Development

No branches or pull requests

2 participants