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

Can't build on NixOS #5891

Closed
DADA30000 opened this issue May 5, 2024 · 15 comments
Closed

Can't build on NixOS #5891

DADA30000 opened this issue May 5, 2024 · 15 comments
Labels
bug Something isn't working

Comments

@DADA30000
Copy link

Hyprland Version

System/Version info
Hyprland, built from branch  at commit ed58cc4c31c21e09ee780d0df818afe935181cd9  ().
Date: 2024-05-01
Tag: , commits: @COMMITS@

flags: (if any)


System Information:
System name: Linux
Node name: nixos
Release: 6.8.7
Version: #1-NixOS SMP PREEMPT_DYNAMIC Wed Apr 17 09:23:43 UTC 2024


GPU information: 
	Flags: bus master, VGA palette snoop, 66MHz, medium devsel, latency 64, NUMA node 0, IOMMU group 11
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation TU117 [GeForce GTX 1650] [10de:1f82] (rev a1) (prog-if 00 [VGA controller])


os-release: ANSI_COLOR="1;34"
BUG_REPORT_URL="https://github.com/NixOS/nixpkgs/issues"
BUILD_ID="24.05.20240427.58a1abd"
DOCUMENTATION_URL="https://nixos.org/learn.html"
HOME_URL="https://nixos.org/"
ID=nixos
IMAGE_ID=""
IMAGE_VERSION=""
LOGO="nix-snowflake"
NAME=NixOS
PRETTY_NAME="NixOS 24.05 (Uakari)"
SUPPORT_URL="https://nixos.org/community.html"
VERSION="24.05 (Uakari)"
VERSION_CODENAME=uakari
VERSION_ID="24.05"


plugins:
  hyprexpo by Vaxry ver 1.0

Bug or Regression?

Bug

Description

I installed hyprland using flake, it can't build after new release.

How to reproduce

Install hyprland on NixOS unstable using flake

Crash reports, logs, images, videos

Build log

@nix { "action": "setPhase", "phase": "unpackPhase" }
Running phase: unpackPhase
unpacking source archive /nix/store/bpdvzzx9fn7vn95495qhnaygf05qh2pw-source
source root is source
@nix { "action": "setPhase", "phase": "patchPhase" }
Running phase: patchPhase
substituteStream(): WARNING: '--replace' is deprecated, use --replace-{fail,warn,quiet}. (file 'src/version.h')
@nix { "action": "setPhase", "phase": "updateAutotoolsGnuConfigScriptsPhase" }
Running phase: updateAutotoolsGnuConfigScriptsPhase
@nix { "action": "setPhase", "phase": "configurePhase" }
Running phase: configurePhase
fixing cmake files...
cmake flags: -GNinja -DCMAKE_FIND_USE_SYSTEM_PACKAGE_REGISTRY=OFF -DCMAKE_FIND_USE_PACKAGE_REGISTRY=OFF -DCMAKE_EXPORT_NO_PACKAGE_REGISTRY=ON -DCMAKE_BUILD_TYPE=RelWithDebInfo -DBUILD_TESTI
NG=OFF -DCMAKE_INSTALL_LOCALEDIR=/nix/store/l54jxsy1r1v2ynykpmv5k4pfbai3cj49-hyprland-0.40.0+date=2024-05-05_589f758/share/locale -DCMAKE_INSTALL_LIBEXECDIR=/nix/store/l54jxsy1r1v2ynykpmv5k
4pfbai3cj49-hyprland-0.40.0+date=2024-05-05_589f758/libexec -DCMAKE_INSTALL_LIBDIR=/nix/store/l54jxsy1r1v2ynykpmv5k4pfbai3cj49-hyprland-0.40.0+date=2024-05-05_589f758/lib -DCMAKE_INSTALL_DO
CDIR=/nix/store/l54jxsy1r1v2ynykpmv5k4pfbai3cj49-hyprland-0.40.0+date=2024-05-05_589f758/share/doc/Hyprland -DCMAKE_INSTALL_INFODIR=/nix/store/l54jxsy1r1v2ynykpmv5k4pfbai3cj49-hyprland-0.40
.0+date=2024-05-05_589f758/share/info -DCMAKE_INSTALL_MANDIR=/nix/store/3kcg0j5frr8h5wypmz8216inl5zh5r32-hyprland-0.40.0+date=2024-05-05_589f758-man/share/man -DCMAKE_INSTALL_OLDINCLUDEDIR=
/nix/store/23qikqa8i9kxzblwh89c5vvvnsqcsxdp-hyprland-0.40.0+date=2024-05-05_589f758-dev/include -DCMAKE_INSTALL_INCLUDEDIR=/nix/store/23qikqa8i9kxzblwh89c5vvvnsqcsxdp-hyprland-0.40.0+date=2
024-05-05_589f758-dev/include -DCMAKE_INSTALL_SBINDIR=/nix/store/l54jxsy1r1v2ynykpmv5k4pfbai3cj49-hyprland-0.40.0+date=2024-05-05_589f758/sbin -DCMAKE_INSTALL_BINDIR=/nix/store/l54jxsy1r1v2
ynykpmv5k4pfbai3cj49-hyprland-0.40.0+date=2024-05-05_589f758/bin -DCMAKE_INSTALL_NAME_DIR=/nix/store/l54jxsy1r1v2ynykpmv5k4pfbai3cj49-hyprland-0.40.0+date=2024-05-05_589f758/lib -DCMAKE_POL
ICY_DEFAULT_CMP0025=NEW -DCMAKE_OSX_SYSROOT= -DCMAKE_FIND_FRAMEWORK=LAST -DCMAKE_STRIP=/nix/store/k9pxn9rdy5d2081612zx4i177kzzyvkn-gcc-wrapper-13.2.0/bin/strip -DCMAKE_RANLIB=/nix/store/k9p
xn9rdy5d2081612zx4i177kzzyvkn-gcc-wrapper-13.2.0/bin/ranlib -DCMAKE_AR=/nix/store/k9pxn9rdy5d2081612zx4i177kzzyvkn-gcc-wrapper-13.2.0/bin/ar -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ 
-DCMAKE_INSTALL_PREFIX=/nix/store/l54jxsy1r1v2ynykpmv5k4pfbai3cj49-hyprland-0.40.0+date=2024-05-05_589f758 -DNO_XWAYLAND:BOOL=FALSE -DLEGACY_RENDERER:BOOL=FALSE -DNO_SYSTEMD:BOOL=FALSE 
-- The C compiler identification is GNU 13.2.0
-- The CXX compiler identification is GNU 13.2.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /nix/store/k9pxn9rdy5d2081612zx4i177kzzyvkn-gcc-wrapper-13.2.0/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: /nix/store/k9pxn9rdy5d2081612zx4i177kzzyvkn-gcc-wrapper-13.2.0/bin/g++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Gathering git info
fatal: not a git repository (or any parent up to mount point /)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
fatal: not a git repository (or any parent up to mount point /)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
fatal: not a git repository (or any parent up to mount point /)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
fatal: not a git repository (or any parent up to mount point /)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
fatal: not a git repository (or any parent up to mount point /)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
fatal: not a git repository (or any parent up to mount point /)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
fatal: not a git repository (or any parent up to mount point /)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
CMake Error at CMakeLists.txt:32 (add_subdirectory):
  The source directory

    /build/source/subprojects/udis86

  does not contain a CMakeLists.txt file.


-- Setting up wlroots
-- Found PkgConfig: /nix/store/39nq7p6jcm9m3xqqm99skwmgsqw4pbbg-pkg-config-wrapper-0.29.2/bin/pkg-config (found version "0.29.2")
-- Found WaylandScanner at /nix/store/wfh7w6rfcsnscs7w745pllry2n3wjqcl-wayland-1.22.0-bin/bin/wayland-scanner
-- Found wayland-protocols at //nix/store/byysaxsxa8bgqdypczmnxr84yy1ynqjx-wayland-protocols-1.35/share/wayland-protocols
-- Configuring Hyprland in Release with CMake
-- Checking deps...
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE
-- Found OpenGL: /nix/store/qady90492hsb01i96amgb8z6q24bv9kd-libGL-1.7.0/lib/libOpenGL.so  found components: GLES3
-- Checking for modules 'xkbcommon;uuid;wayland-server;wayland-client;wayland-cursor;wayland-protocols;cairo;pango;pangocairo;pixman-1;libdrm;libinput;hwdata;libseat;libdisplay-info;libliftoff;libudev;gbm;hyprwayland-scanner>=0.3.4;hyprlang>=0.3.2;hyprcursor>=0.1.7'
--   Found xkbcommon, version 1.5.0
--   Found uuid, version 2.39.3
--   Found wayland-server, version 1.22.0
--   Found wayland-client, version 1.22.0
--   Found wayland-cursor, version 1.22.0
--   Found wayland-protocols, version 1.35
--   Found cairo, version 1.18.0
--   Found pango, version 1.51.2
--   Found pangocairo, version 1.51.2
--   Found pixman-1, version 0.43.4
--   Found libdrm, version 2.4.120
--   Found libinput, version 1.25.0
--   Found hwdata, version 0.381
--   Found libseat, version 0.8.0
--   Found libdisplay-info, version 0.1.1
--   Found libliftoff, version 0.4.1
--   Found libudev, version 255
--   Found gbm, version 24.0.5
--   Found hyprwayland-scanner, version 0.3.4
--   Found hyprlang, version 0.5.1
--   Found hyprcursor, version 0.1.7
Package libpcre2-8 was not found in the pkg-config search path.
Perhaps you should add the directory containing `libpcre2-8.pc'
to the PKG_CONFIG_PATH environment variable
Package 'libpcre2-8', required by 'glib-2.0', not found
Package libpcre2-8 was not found in the pkg-config search path.
Perhaps you should add the directory containing `libpcre2-8.pc'
to the PKG_CONFIG_PATH environment variable
Package 'libpcre2-8', required by 'glib-2.0', not found
Package libpcre2-8 was not found in the pkg-config search path.
Perhaps you should add the directory containing `libpcre2-8.pc'
to the PKG_CONFIG_PATH environment variable
Package 'libpcre2-8', required by 'glib-2.0', not found
Package libpcre2-8 was not found in the pkg-config search path.
Perhaps you should add the directory containing `libpcre2-8.pc'
to the PKG_CONFIG_PATH environment variable
Package 'libpcre2-8', required by 'glib-2.0', not found
-- Looking for execinfo.h
-- Looking for execinfo.h - found
-- Configuration supports execinfo
-- Looking for backtrace in execinfo
-- Looking for backtrace in execinfo - not found
-- Looking for sys/timerfd.h
-- Looking for sys/timerfd.h - found
-- Checking for module 'epoll-shim'
--   No package 'epoll-shim' found
-- XWAYLAND Enabled (NO_XWAYLAND not defined) checking deps...
-- Checking for modules 'xcb;xwayland;xcb-util;xcb-render;xcb-xfixes;xcb-icccm;xcb-composite;xcb-res;xcb-ewmh'
--   Found xcb, version 1.16
--   Found xwayland, version 23.2.6
--   Found xcb-util, version 0.4.1
--   Found xcb-render, version 1.16
--   Found xcb-xfixes, version 1.16
--   Found xcb-icccm, version 0.4.2
--   Found xcb-composite, version 1.16
--   Found xcb-res, version 1.16
--   Found xcb-ewmh, version 0.4.2
-- Checking for module 'xcb-errors'
--   Found xcb-errors, version 1.0.1
-- SYSTEMD support is requested (NO_SYSTEMD not defined)...
-- Setting precompiled headers
-- Setting link libraries
Could not open input file: No such file or directory
Could not open input file: No such file or directory
Could not open input file: No such file or directory
Could not open input file: No such file or directory
Couldn't load proto
-- Checking for module 'tomlplusplus'
--   Found tomlplusplus, version 3.4.0
-- Configuring incomplete, errors occurred!
@DADA30000 DADA30000 added the bug Something isn't working label May 5, 2024
@fufexan
Copy link
Member

fufexan commented May 5, 2024

Change the input url to inputs.hyprland.url = "git+https://github.com/hyprwm/Hyprland?submodules=1";.

@vaxerski
Copy link
Member

vaxerski commented May 5, 2024

I'll pin this for the time being

@carschandler
Copy link

Are there plans to update this so that the input URL doesn't need to be changed, or is this the URL that needs to be used from now on?

Asking for myself but also would be good information to have for all others seeing this moving forward.

@fufexan
Copy link
Member

fufexan commented May 26, 2024

@carschandler the url is gonna stay like this as long as we're using git submodules. If we ever switch back there will be an announcement and a pinned issue detailing the change.

@dev-null-undefined
Copy link

dev-null-undefined commented May 27, 2024

Change the input url to inputs.hyprland.url = "git+https://github.com/hyprwm/Hyprland?submodules=1";.

Another possible way to write that (with same effect) would be:

    hyprland = {
      type = "git";
      url = "https://github.com/hyprwm/Hyprland";
      submodules = true;
    };

I would say that it looks much better but that's just me :D

Munsio added a commit to Munsio/dotfiles that referenced this issue May 27, 2024
Hyprland wouldn't build without git submodules: hyprwm/Hyprland#5891
Munsio added a commit to Munsio/dotfiles that referenced this issue May 27, 2024
Hyprland wouldn't build without git submodules: hyprwm/Hyprland#5891
@olafkfreund
Copy link

so what about the plugins then ? I can build any because for the none matching headers. Or am I wrong ( that could be )

Munsio added a commit to Munsio/dotfiles that referenced this issue May 27, 2024
Hyprland wouldn't build without git submodules: hyprwm/Hyprland#5891
Munsio added a commit to Munsio/dotfiles that referenced this issue May 27, 2024
Hyprland wouldn't build without git submodules: hyprwm/Hyprland#5891
@fufexan
Copy link
Member

fufexan commented May 28, 2024

Change the input url to inputs.hyprland.url = "git+https://github.com/hyprwm/Hyprland?submodules=1";.

Another possible way to write that (with same effect) would be:

    hyprland = {
      type = "git";
      url = "https://github.com/hyprwm/Hyprland";
      submodules = true;
    };

I would say that it looks much better but that's just me :D

That works as well. I gave the inline url as that also works in the CLI.

@olafkfreund plugins should work just fine as long as you're following the instructions in the hyprland-plugins readme (I can't comment on other plugins). If they don't, they probably need to be updated to the latest hyprland version.

Munsio added a commit to Munsio/dotfiles that referenced this issue May 28, 2024
Hyprland wouldn't build without git submodules: hyprwm/Hyprland#5891
Munsio added a commit to Munsio/dotfiles that referenced this issue May 28, 2024
Hyprland wouldn't build without git submodules: hyprwm/Hyprland#5891
Munsio added a commit to Munsio/dotfiles that referenced this issue May 28, 2024
Hyprland wouldn't build without git submodules: hyprwm/Hyprland#5891
@Dregorio1
Copy link

@fufexan Sorry for stupid question, but now, how I can specific the version of the release? I am on nixpkgs-unstable, I did what you posted, but still I am on the old version:

Hyprland, built from branch  at commit cba1ade848feac44b2eda677503900639581c3f4  ().
Date: 2024-05-04
Tag: , commits: @COMMITS@

@OahzEgroeg
Copy link

@fufexan Sorry for stupid question, but now, how I can specific the version of the release? I am on nixpkgs-unstable, I did what you posted, but still I am on the old version:

Hyprland, built from branch  at commit cba1ade848feac44b2eda677503900639581c3f4  ().
Date: 2024-05-04
Tag: , commits: @COMMITS@

Use inputs.hyprland.url = "git+https://github.com/hyprwm/Hyprland?ref=v0.41.0&submodules=1"; if you want to use release instead of master

@Dregorio1
Copy link

@OahzEgroeg I have still the same commit :(

@OahzEgroeg
Copy link

@OahzEgroeg I have still the same commit :(

Run nix flake metadata and check hyprland section see if it's using correct url?

@Dregorio1
Copy link

@OahzEgroeg I had to restart computer. hyprctl reload was not enough. Works, thank you

@LelouBil
Copy link

I am trying to build Hyprland with nix but not using NixOS. I cloned the repository and did nix build '.?submodules=1' but I still have the udis86 error.

@LelouBil
Copy link

Okay based on this issue in nix NixOS/nix#6633
You currently need nix build '.?submodules=1#', but it's a workaround for a bug, the versino without the # was supposed to work

@fufexan
Copy link
Member

fufexan commented Jul 15, 2024

@LelouBil depends which Nix version you have. I've tried 2.20/21 and its CLI parameters (?submodules=1) support was borked. I'm sticking with pkgs.nix as it's working fine.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

9 participants