Open JBlaschke opened 11 months ago
Re-tagged as "build-error" since it seems more an issue with software recipes, than with core Spack.
Likely this problem can be traced back to what I reported in https://github.com/spack/spack/issues/39563#issuecomment-1777590993.
Can you @JBlaschke try with an older version of libluv
? In particular, something <=1.43.
@JBlaschke in case, feel free to review also the PR mentioned above. 😉
@albestro this makes sense. I'm traveling without my work computer (my only Apple device) until Nov 1st. I can check then.
Out of curiosity, how does one install a spack package while limiting the version of a dependency (without editing the package.py)? I.e. using the spec?
@JBlaschke no worries. In the meanwhile I got some suggestions and it ends up that there is a fix. If you test #40716 it should work even without constraining libluv
.
Anyway, FIY, you can constrain dependency using ^
caret operator, e.g. spack install neovim ^ libluv@1.43
Steps to reproduce
This is a combination of building Neovim 0.9 on mac, and loading it via modules. I have lmod set up to ignore implicit modules, and
libluv
is an implicit package (it's installed as a dependency forneovim
, but I don't runspack install libluv
-- so a module is never generated for it).spack install neovim
libluv
spack module lmod refresh
neovim
module:ml load neovim
nvim
This will crash with the error
dyld[46837]: Library not loaded: 'libluv.1.dylib'
. Note also that the module file generated forneovim/0.9
does not include thelibluv
:A workaround is running
spack install libluv
followed byspack module lmod refresh
-- this generates alibluv
module and includes it as a dependency inneovim/0.9
:I don't know what the "right" solution is here. You could make all runtime dependency modules be generated. But I think that would be wrong. I think the real problem is that
libluv
is not being linked via RPATHs. Therefore tagging @albestro @trws as neovim maintainers.Error message
Dynamic linker error:
Information on your system
I have spack set up to exclude implici modules:
spack debug report:
General information
spack debug report
and reported the version of Spack/Python/Platform