Skip to content

Required environment variable CPPFLAGS not found on risc-v while using EESSI-extend #1508

Closed

Description

@hugomeiland

Trying to build HPL through EESSI-extend, but failing with:

== processing EasyBuild easyconfig /cvmfs/dev.eessi.io/riscv/versions/2025.06-001/software/linux/riscv64/generic/software/EasyBuild/5.3.0/easybuild/easyconfigs/h/HPL/HPL-2.3-foss-2025b.eb
== building and installing HPL/2.3-foss-2025b...
  >> installation prefix: /home/ubuntu/eessi/versions/2025.06-001/software/linux/riscv64/generic/software/HPL/2.3-foss-2025b
== fetching files and verifying checksums...
== Running pre-fetch hook...
  >> sources:
  >> /tmp/ubuntu/easybuild/sources/h/HPL/hpl-2.3.tar.gz [SHA256: 32c5c17d22330e6f2337b681aded51637fb6008d3f0eb7c277b163fadd612830]
  >> patches:
  >> /cvmfs/dev.eessi.io/riscv/versions/2025.06-001/software/linux/riscv64/generic/software/EasyBuild/5.3.0/easybuild/easyconfigs/h/HPL/HPL_parallel-make.patch [SHA256: 2a5bf9c4f328049828ddecec7ba3f05a9e25d236f4212747c53bd22fea80c5e6]
== ... (took < 1 sec)
== creating build dir, resetting environment...
  >> build dir: /tmp/ubuntu/easybuild/build/HPL/2.3/foss-2025b
== Running post-ready hook...

WARNING: Deprecated functionality, will no longer work in EasyBuild v6.0: Easyconfig parameter 'parallel' is deprecated, use 'max_parallel' or the parallel property instead.; see https://docs.easybuild.io/deprecated-functionality/ for more information

== ... (took < 1 sec)
== unpacking...
  >> running shell command:
        tar xzf /tmp/ubuntu/easybuild/sources/h/HPL/hpl-2.3.tar.gz
        [started at: 2026-05-28 06:02:28]
        [working dir: /tmp/ubuntu/easybuild/build/HPL/2.3/foss-2025b]
        [output and state saved to /tmp/eb-_rp9ofw5/run-shell-cmd-output/tar-d0y3_hk0]
  >> command completed: exit 0, ran in < 1s
== ... (took < 1 sec)
== patching...
  >> applying patch HPL_parallel-make.patch
== ... (took < 1 sec)
== preparing...
== Running pre-prepare hook...
== Updated rpath_override_dirs (to allow overriding MPI family OpenMPI): 
/cvmfs/dev.eessi.io/riscv/host_injections/2025.06-001/software/linux/riscv64/generic/rpath_overrides/OpenMPI/system/lib:/cvmfs/dev.eessi.io/riscv/host_injections/2025.06-001/software/linux/riscv64/generic/rpath_overrides/OpenMPI/system/lib64
  >> loading toolchain module: foss/2025b
  >> defining build environment for foss/2025b toolchain
== Running post-prepare hook...
== Resetting rpath_override_dirs to original value: None
== ... (took 3 secs)
== configuring...
== Running pre-configure hook...
  >> running shell command:
        /bin/bash make_generic
        [started at: 2026-05-28 06:02:32]
        [working dir: /tmp/ubuntu/easybuild/build/HPL/2.3/foss-2025b/hpl-2.3/setup]
        [output and state saved to /tmp/eb-_rp9ofw5/run-shell-cmd-output/bash-hvzqsmwt]
  >> command completed: exit 0, ran in < 1s
== ... (took < 1 sec)
== building...
== ... (took < 1 sec)
== FAILED: Installation ended unsuccessfully: Required environment variable CPPFLAGS not found (no toolchain used?). (took 5 secs)
== Results of the build can be found in the log file(s) /tmp/eb-_rp9ofw5/easybuild-HPL-2.3-20260528.060227.yvonl.log
== Running post-easyblock hook...
== Summary:
   * [FAILED]  HPL/2.3-foss-2025b



ERROR: Installation of HPL-2.3-foss-2025b.eb failed: Required environment variable CPPFLAGS not found (no toolchain used?).

building without EESSI-extend works fine...

Activity

  1. hugomeiland commented on May 28, 2026

    @hugomeiland
    Author

    env.sh:

    export CC=mpicc
    export CC_SEQ=gcc
    export CFLAGS='-O2 -ftree-vectorize -march=rv64imafdc_zaamo_zalrsc_zba_zbb_zca_zcd_zicntr_zicsr_zifencei_zihpm -fno-math-errno'
    export CMAKE_LIBRARY_PATH=/cvmfs/dev.eessi.io/riscv/versions/2025.06-001/software/linux/riscv64/generic/software/OpenSSL/3/lib64
    export CMAKE_PREFIX_PATH=/cvmfs/dev.eessi.io/riscv/versions/2025.06-001/software/linux/riscv64/generic/software/ScaLAPACK/2.2.2-gompi-2025b-fb:/cvmfs/dev.eessi.io/riscv/versions/2025.06-001/software/linux/riscv64/generic/software/FFTW.MPI/3.3.10-gompi-2025b:/cvmfs/dev.eessi.io/riscv/versions/2025.06-001/software/linux/riscv64/generic/software/FFTW/3.3.10-GCC-14.3.0:/cvmfs/dev.eessi.io/riscv/versions/2025.06-001/software/linux/riscv64/generic/software/FlexiBLAS/3.4.5-GCC-14.3.0:/cvmfs/dev.eessi.io/riscv/versions/2025.06-001/software/linux/riscv64/generic/software/OpenBLAS/0.3.30-GCC-14.3.0:/cvmfs/dev.eessi.io/riscv/versions/2025.06-001/software/linux/riscv64/generic/software/OpenMPI/5.0.8-GCC-14.3.0:/cvmfs/dev.eessi.io/riscv/versions/2025.06-001/software/linux/riscv64/generic/software/UCC/1.4.4-GCCcore-14.3.0:/cvmfs/dev.eessi.io/riscv/versions/2025.06-001/software/linux/riscv64/generic/software/PRRTE/3.0.11-GCCcore-14.3.0:/cvmfs/dev.eessi.io/riscv/versions/2025.06-001/software/linux/riscv64/generic/software/PMIx/5.0.8-GCCcore-14.3.0:/cvmfs/dev.eessi.io/riscv/versions/2025.06-001/software/linux/riscv64/generic/software/libfabric/2.1.0-GCCcore-14.3.0:/cvmfs/dev.eessi.io/riscv/versions/2025.06-001/software/linux/riscv64/generic/software/UCX/1.19.0-GCCcore-14.3.0:/cvmfs/dev.eessi.io/riscv/versions/2025.06-001/software/linux/riscv64/generic/software/libevent/2.1.12-GCCcore-14.3.0:/cvmfs/dev.eessi.io/riscv/versions/2025.06-001/software/linux/riscv64/generic/software/OpenSSL/3:/cvmfs/dev.eessi.io/riscv/versions/2025.06-001/software/linux/riscv64/generic/software/hwloc/2.12.1-GCCcore-14.3.0:/cvmfs/dev.eessi.io/riscv/versions/2025.06-001/software/linux/riscv64/generic/software/libpciaccess/0.18.1-GCCcore-14.3.0:/cvmfs/dev.eessi.io/riscv/versions/2025.06-001/software/linux/riscv64/generic/software/libxml2/2.14.3-GCCcore-14.3.0:/cvmfs/dev.eessi.io/riscv/versions/2025.06-001/software/linux/riscv64/generic/software/numactl/2.0.19-GCCcore-14.3.0:/cvmfs/dev.eessi.io/riscv/versions/2025.06-001/software/linux/riscv64/generic/software/GCCcore/14.3.0:/cvmfs/dev.eessi.io/riscv/versions/2025.06-001/software/linux/riscv64/generic/software/EasyBuild/5.3.0
    export COLUMNS=254
    export CPATH=/cvmfs/dev.eessi.io/riscv/versions/2025.06-001/software/linux/riscv64/generic/software/libxml2/2.14.3-GCCcore-14.3.0/include/libxml2
    export CPLUS_INCLUDE_PATH=/cvmfs/dev.eessi.io/riscv/versions/2025.06-001/software/linux/riscv64/generic/software/FFTW.MPI/3.3.10-gompi-2025b/include:/cvmfs/dev.eessi.io/riscv/versions/2025.06-001/software/linux/riscv64/generic/software/FFTW/3.3.10-GCC-14.3.0/include:/cvmfs/dev.eessi.io/riscv/versions/2025.06-001/software/linux/riscv64/generic/software/FlexiBLAS/3.4.5-GCC-14.3.0/include/flexiblas:/cvmfs/dev.eessi.io/riscv/versions/2025.06-001/software/linux/riscv64/generic/software/FlexiBLAS/3.4.5-GCC-14.3.0/include:/cvmfs/dev.eessi.io/riscv/versions/2025.06-001/software/linux/riscv64/generic/software/OpenMPI/5.0.8-GCC-14.3.0/include:/cvmfs/dev.eessi.io/riscv/versions/2025.06-001/software/linux/riscv64/generic/software/GCCcore/14.3.0/include
    export CXX=mpicxx
    export CXXFLAGS='-O2 -ftree-vectorize -march=rv64imafdc_zaamo_zalrsc_zba_zbb_zca_zcd_zicntr_zicsr_zifencei_zihpm -fno-math-errno'
    export CXX_SEQ=g++
    export C_INCLUDE_PATH=/cvmfs/dev.eessi.io/riscv/versions/2025.06-001/software/linux/riscv64/generic/software/FFTW.MPI/3.3.10-gompi-2025b/include:/cvmfs/dev.eessi.io/riscv/versions/2025.06-001/software/linux/riscv64/generic/software/FFTW/3.3.10-GCC-14.3.0/include:/cvmfs/dev.eessi.io/riscv/versions/2025.06-001/software/linux/riscv64/generic/software/FlexiBLAS/3.4.5-GCC-14.3.0/include/flexiblas:/cvmfs/dev.eessi.io/riscv/versions/2025.06-001/software/linux/riscv64/generic/software/FlexiBLAS/3.4.5-GCC-14.3.0/include:/cvmfs/dev.eessi.io/riscv/versions/2025.06-001/software/linux/riscv64/generic/software/OpenMPI/5.0.8-GCC-14.3.0/include:/cvmfs/dev.eessi.io/riscv/versions/2025.06-001/software/linux/riscv64/generic/software/GCCcore/14.3.0/include
    
    
  2. bedroge commented on May 28, 2026

    @bedroge
    Collaborator

    The error is raised here: https://github.com/easybuilders/easybuild-easyblocks/blob/develop/easybuild/easyblocks/h/hpl.py#L89. That seems related to our EasyBuild CPP search path setting in EESSI-extend, and the HPL easyblock does not seem to support that. We recently switched that setting back to the default, though, so I was surprised why it still doesn't work for you. But then I figured that we haven't rebuilt the EESSI-extend module in the RISC-V repo yet, so it's still using the non-default value. We can fix that by rebuilding EESSI-extend for RISC-V, but it would also be good to fix the easyblock and take the different values for this setting into account there.

  3. hugomeiland commented on May 29, 2026

    @hugomeiland
    Author
  4. bedroge commented on May 29, 2026

    @bedroge
    Collaborator

    Will this work: EESSI/dev.eessi.io-riscv#124?

    I wasn't completely sure (we usually deploy EESSI-extend from the software-layer-scripts repo: https://github.com/EESSI/software-layer-scripts), but gave it a try anyway, and it failed:

    == FAILED: Installation ended unsuccessfully: Module is already loaded 
    (EBROOTEESSIMINEXTEND is set), installation cannot continue. (took 2 secs)
    

    Instead, we should make a small change to https://github.com/EESSI/software-layer-scripts/blob/main/EESSI-extend-easybuild.eb, and then trigger a build from the corresponding PR in that repo. Or we can combine it with for instance EESSI/software-layer-scripts#235 and make sure that gets built for the RISC-V repo as well. Let me already trigger a build there so we won't forget about it.

  5. julianmorillo commented on May 29, 2026

    @julianmorillo
    Contributor

    I'm getting the same error in EESSI/dev.eessi.io-riscv#125:

    == building...
    == ... (took 1 secs)
    == FAILED: Installation ended unsuccessfully: Required environment variable
    CPPFLAGS not found (no toolchain used?). (took 10 secs)
    == Results of the build can be found in the log file(s)
    /tmp/eb-bh074w6z/eb-5l_9sjgn/easybuild-HPL-2.3-20260529.121133.gBZxi.log
    == Running post-easyblock hook...
    == Summary:
       * [FAILED]  HPL/2.3-foss-2025b
    
    
    ERROR: Installation of HPL-2.3-foss-2025b.eb failed: Required environment variable CPPFLAGS not found (no toolchain used?).
    

    I'm just trying to install HPL on the RISC-V (generic) report, so no use of EESSI-extend here.

  6. hugomeiland commented on May 29, 2026

    @hugomeiland
    Author

    I'm getting the same error in EESSI/dev.eessi.io-riscv#125:

    == building...
    == ... (took 1 secs)
    == FAILED: Installation ended unsuccessfully: Required environment variable
    CPPFLAGS not found (no toolchain used?). (took 10 secs)
    == Results of the build can be found in the log file(s)
    /tmp/eb-bh074w6z/eb-5l_9sjgn/easybuild-HPL-2.3-20260529.121133.gBZxi.log
    == Running post-easyblock hook...
    == Summary:
       * [FAILED]  HPL/2.3-foss-2025b
    
    
    ERROR: Installation of HPL-2.3-foss-2025b.eb failed: Required environment variable CPPFLAGS not found (no toolchain used?).
    

    I'm just trying to install HPL on the RISC-V (generic) report, so no use of EESSI-extend here.

    but if this is through the bot: it uses EESSI-extend; so that error is to be expected at this moment....

  7. bedroge commented on May 29, 2026

    @bedroge
    Collaborator
  8. bedroge commented on Jun 2, 2026

    @bedroge
    Collaborator

    #240 has been ingested, I've triggered a new build in EESSI/dev.eessi.io-riscv#125 to check if HPL can be built now.

  9. hugomeiland commented on Jun 2, 2026

    @hugomeiland
    Author

    confirmed this works now!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions