Comments (6)
If I'm not mistaken, what's happening for you is:
- You try to build Data::Dumper on presumably a RedHat (or derived) system.
- This system has the annobin plugin configured for gcc.
- The system Perl is built with that.
- You use a Spack-built compiler, but Perl is an external.
- Perl remembers how it was built and uses the system compiler to build modules. This pulls in the compiler config.
- The actual compiler is overridden by Spack to be gcc 11.4.0. But this compiler was built without the additional annobin plugin.
Recommended solution:
Build Perl within Spack, don't use an external.
Alternative:
Use Perl as external, but also use the compiler that the system Perl was built with as an external.
Both should work.
Also, for reference, see here:
openhpc/ohpc#1364
from spack.
Ok, I'm running into a Perl build problem now:
==> Installing perl-5.38.0-6dnrlua6o45urlxv25cwqvblzjvcwxmo [10/11]
==> No binary for perl-5.38.0-6dnrlua6o45urlxv25cwqvblzjvcwxmo found: installing from source
==> Error: IndexError: list index out of range
/projects/cvz/bwibking/spack/var/spack/repos/builtin/packages/perl/package.py:481, in setup_build_environment:
478 env.set("BZIP2_LIB", spec["bzip2"].libs.directories[0])
479 env.set("BUILD_ZLIB", 0)
480 env.set("ZLIB_INCLUDE", spec["zlib-api"].prefix.include)
>> 481 env.set("ZLIB_LIB", spec["zlib-api"].libs.directories[0])
I'll open another issue for this.
from spack.
Perl builds fine for me. I'm on develop though.
With an external package, I think you have to spack uninstall
from the environment, then spack concretize -f
.
I think this might be the issue here.
from spack.
I had to spack uninstall zlib
to get it working. I wish Spack gave a more interpretable error message in this case.
from spack.
I agree. In general, this won't be easy, though. We're in package.py, so this is just some python code. Spack does not have very close control about how this is run - or so I think. Meaning Spack can catch this and get at the error and line number, but the interpretation of what that line wanted to do and why it failed is pretty hard. In this concrete case though - maybe we should use accessor methods instead of directly accessing the class members here, then it would be easier to check for this and to provide sensible error messages.
from spack.
Since this is not an error in perl-data-dumper, I'd close this now. Feel free to open another issue for either the less than helpful error or the way we go from externals to no-longer-externals and the associated help (or lack thereof) Spack gives here.
from spack.
Related Issues (20)
- Installation issue: gperftools when `build_system=cmake` HOT 9
- Avoid storing binary blobs as test files for sz compression HOT 4
- Installation issue: openmpi (Spack v0.21 & v0.22) with compiler [email protected] HOT 6
- Spec matrix: concretization failures when matrixing MPI dependency HOT 3
- Concretizer error for Python variant (+tkinter) HOT 2
- Installation issue: HIP package sets excessive environment variables in dependent package modulefiles
- cuda: `nvcc` is unable to find `-lcupti`
- Installation issue: [email protected]%[email protected]
- Installation issue: glibc iconv incomplete by default on fedora, needs libiconv HOT 11
- Environments: root specs are not always marked explicit HOT 5
- Add an option to shorten git.[commit] version in Spec.format() HOT 3
- Installation issue: `seacas 2022-10-14:2023-05-30` with `fmt@9` when `gcc` mixed with `apple-clang` HOT 5
- Installation issue: `vtk@9%gcc14` HOT 4
- Cannot use `config:shared_linking:bind:true` anymore HOT 1
- Cannot install musl HOT 2
- Installation issue: abinit
- Installation issue: gh
- Installation issue: kentutils HOT 1
- Spec syntax: semantic for `%` and `^` for compiler as deps
- Installation issue: [email protected] +cuda ~rocm fails to build
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 spack.