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
-
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