-
-
Notifications
You must be signed in to change notification settings - Fork 14.1k
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
cmake/setup-hook.sh: Don't skip build-RPATH #108496
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This needs to go through staging.
👍 Currently stuck at building bluez with this anyway. |
Darwin stdenv still builds with this fyi |
Thanks for the heads up. I'll try to figure out what was my issue with the bluez build then we can move this forward. |
I marked this as stale due to inactivity. → More info |
After #123011 was merged I can build bluez and continue with this. |
405e616
to
7affe0c
Compare
For reference. The last attempt was reverted because of #15881 |
cc @ttuegel You once tried to drop the SKIP_BUILD_RPATH in 8ec5adc, which had to be reverted in d5d4606 because of a broken Darwin stdenv. I tried nixpkgs-review on this, but it requires downloading 128GB of stuff, so I just rebuilt the projects on a best effort basis and everything seems to work fine on x86_64-linux. |
Bisect says f7414e2
|
Metis hasnt been updated in nixpkgs since 2015 so either lets mark it broken or try updating it or set the cmake flag removed here for it @danshapero also @jtojnar due to him having created an issue in https://github.com/KarypisLab/METIS |
KarypisLab/METIS@521a2c3 fixed it |
Bisect says f7414e2
|
I can confirm that |
A few more RPATH-related failures:
|
files which still set LD_LIBRARY_PATH to pwd
|
Skimming through
A few mor will probably pop up when qt fixes will get grabbed by hydra. |
A few more RPATH-related failures from
|
|
My program ( I don't know if this bug happens with other programs. How should I work around this problem? Notice how the Nixpkgs commit e1e0d5d (after this patch was merged):
Nixpkgs commit de1ff46 (before this patch was merged):
|
@strager sorry to hear that, I don't see why this change should have broken that. For now, you can manually revert to the old behavior on a per-package basis, which seems to fix the rpath: --- a/pkgs/development/tools/quick-lint-js/default.nix
+++ b/pkgs/development/tools/quick-lint-js/default.nix
@@ -15,6 +15,10 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ cmake ninja ];
doCheck = true;
+ cmakeFlags = [
+ "-DCMAKE_SKIP_BUILD_RPATH=ON"
+ ]; Turning on |
i tried
then added
Looking in to finding a proper fix |
Our Nix builds are broken due to upstream changes [1]. Disable the failing code for now to make CI green again. [1] NixOS/nixpkgs#108496
Our Nix builds are broken due to upstream changes [1]. Disable the failing code for now to make CI green again. [1] NixOS/nixpkgs#108496
quick-lint-js fails to run after installation: $ quick-lint-js --version quick-lint-js: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory Cause: NixOS#108496 (comment) Work around this error.
quick-lint-js fails to run after installation: $ quick-lint-js --version quick-lint-js: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory Cause: NixOS/nixpkgs#108496 (comment) Work around this error. This workaround has landed in Nixpkgs upstream: NixOS/nixpkgs#190091
Motivation for this change
This should simplify using
nix-shell -A
ornix develop
to developCMake based projects. CMake features a mechanism to use a different
RPATH for all executables in the build directory and only rewrite these
RPATHs on installation. This makes it possible to run executables
already from the build directory without having to set LD_LIBRARY_PATH.
This should simplify the checkPhase for cmake based projects and
hopefully not break anything.
Fixes: #22060
Things done
sandbox
innix.conf
on non-NixOS linux)nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
./result/bin/
)nix path-info -S
before and after)