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
Feature/update and fix pulumi #81879
Conversation
backport: b719c46 |
@@ -17,9 +17,10 @@ in stdenv.mkDerivation { | |||
installPhase = '' | |||
mkdir -p $out/bin | |||
cp * $out/bin/ | |||
wrapProgram $out/bin/pulumi --set LD_LIBRARY_PATH "${stdenv.cc.cc.lib}/lib" |
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.
Since we already have autoPatchelfHook
, it probably would have been enough to just include stdenv.cc.cc
in the buildInputs
.
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.
I tried that but it didn't work. Maybe I was doing something wrong but when I ran "ldd" against the binary it didn't show libstdc++. The error happened at runtime while running it against a python project. It looked like it was trying to load the library at that stage. Not sure though, no expert on Nix nor Pulumi 😅
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.
It might do dlopen
.
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.
@Mic92 I imagine, working with libstdc++ using dlopen
would be quite difficult because of the mangling.
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.
It could dlopen
a c++ shared library that in turn require libstdc++
.
Anyway using LD_DEBUG=libs
as environment variable would show where it is loaded.
Motivation for this change
Pulumi was outdated and had an issue because it requires libstdc++ at runtime. I updated pulumi and it's plugins to the latest versions and fixed the libstdc++ issue.
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)