Comments (8)
You could use system.replaceRuntimeDependencies
to only replace the final package.
Do you know the command that is being executed? Can you run strace on it?
from nix-ld.
You wouldn't override /lib64/ld-linux-x86-64.so.2
because this is not your libc. Instead, you would set NIX_LD to a glibc with debug symbols.
from nix-ld.
The crash also happens actually in glibc and not in nix-ld as you can see from the stacktrace.
from nix-ld.
I have not added yet support to make nix-ld
an executable - it's only a library, so the way you are trying to start will not work yet. For now you have to manually replace /lib64/ld-linux-x86-64.so.2
in your script with the actual glibc link loader.
from nix-ld.
I have not added yet support to make
nix-ld
an executable - it's only a library, so the way you are trying to start will not work yet. For now you have to manually replace/lib64/ld-linux-x86-64.so.2
in your script with the actual glibc link loader.
Ah yes! This is it. I didn't realize the script 1 actually calls ld-linux-x86-64.so.2 --library-path … exe
instead of LD_LIBRARY_PATH=… exe
. I'll try to find out if that behaviour can be controlled somehow. I think I should be able to hack $PATH for this specific use-case to prefer glibc instead of nix-ld.
Would it be hard to make nix-ld executable standalone by putting the arguments into (NIX_?)LD_LIBRARY_PATH
and calling into glibc? Or alternatively (as nix-ld's functionality is not required here) just forwarding to ${glibc}/…/ld-linux-x86-64.so.2
?
Footnotes
-
Which unfortunately isn't mine, but JetBrains'. AFAICS an attempt to be able to deploy IDEs to arbitary "linux" hosts over ssh without incurring remote dependencies by shipping some .so files with it — which faceplants on systems like NixOS. To add insult to injury it all happens in some temporary folders which disappear after the processes crash, but I'll try to preserve them somehow, or find the source of this script. ↩
from nix-ld.
Not so hard, it would be another execve
to $NIX_LD, if it detects that it is not called as a library.
from nix-ld.
so musl libc detect this by checking if aux[AT_BASE]
is set:
from nix-ld.
fixed in #47
from nix-ld.
Related Issues (20)
- Don't allow NIX_LD on setuid binaries
- Library in system-wide base libraries not found by executable from python venv HOT 1
- Executing binary with link loader SIGSEVs HOT 2
- LD_LIBRARY_PATH is set within VSCode integrated terminal HOT 6
- Dynamic linking for `boot.binfmt.emulatedSystems` HOT 1
- Docker image support HOT 8
- fail to start VSCode Remote (Node) when using nushell HOT 2
- Can nix-ld be used in docker image created with nix2container? HOT 1
- Possible to enable nix-ld on a per-project basis? HOT 6
- Build is broken for 32 bit targets HOT 1
- Whitelist/Blacklist paths that can use nix-ld HOT 11
- Discussion: An Idea for fixing the child inheritance problem HOT 3
- arm64 non-NixOS support on amd64? HOT 1
- The existence of this project is depressing HOT 1
- Dropped NixOS module HOT 2
- Dependencies failed to build HOT 1
- Dependency Dashboard
- Dependencies failed to build
- Failed to build as part of system flake
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from nix-ld.