Wrong / Missing paths when installing 'globally' when using Nix? #4335
doronbehar
started this conversation in
General
Replies: 1 comment
-
Oh, I see that without |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Nix is a purely functional package manager that installs every package into it's own prefix. Nix' packages' builds produce trees like the following (for libdaemon):
When one specifies a dependency for a package, Nix' build scripts set environment variables such as
PYTHONPATH
andPKG_CONFIG_PATH
so that the dependency's include directory etc will be found. For standard C packages and purely python packages it works very well.Reading pybind's
setup.py
files, I tried to buildpybind11
on Nix with thePYBIND11_GLOBAL_SDIST=1
environment variable, and it created the following tree:This tree doesn't include the python files, available when that environment variable is turned off:
Is this behavior on purpose? I also noticed that setting
PYBIND11_GLOBAL_PREFIX
to the/nix/store/....
prefix, creates an even more messed up tree:Note how the
/nix/store/....
path is injected twice. Perhaps I misunderstood the intention ofPYBIND11_GLOBAL_PREFIX
?This issue is a followup to scipy/scipy#16783 (comment) . It'd be nice to help Nix somehow get that
pybind11.pc
file with absoluteprefix
andincludedir
paths written in it, installed at/nix/store/...-pybind11/share/pkgconfig/pybind11.pc
.Beta Was this translation helpful? Give feedback.
All reactions