Riemann1D fails to compile on Kraken

Issue #634 closed
Ian Hinder created an issue

I'm unable to compile the Riemann1D utility on Kraken. It gives the following error message.

Creating Riemann1d in /nics/d/home/hinder/Cactus/EinsteinToolkit/exe/sim from /nics/d/home/hinder/Cactus/EinsteinToolkit/configs/sim/build/GRHydro/Riemann1d.o
/nics/d/home/hinder/Cactus/EinsteinToolkit/configs/sim/build/GRHydro/Riemann1d.o: In function `riemann1d':
/nics/d/home/hinder/Cactus/EinsteinToolkit/arrangements/EinsteinEvolve/GRHydro/src/util/Riemann1d.f90:10: undefined reference to `__kmpc_begin'
/nics/d/home/hinder/Cactus/EinsteinToolkit/arrangements/EinsteinEvolve/GRHydro/src/util/Riemann1d.f90:374: undefined reference to `__kmpc_end'
/usr/bin/ld: link errors found, deleting executable `/nics/d/home/hinder/Cactus/EinsteinToolkit/exe/sim/Riemann1d'
make[1]: *** [/nics/d/home/hinder/Cactus/EinsteinToolkit/exe/sim/Riemann1d] Error 1
make: *** [sim-utils] Error 2

I think that this needs an Intel library to be linked in, but I'm not sure which one or how to add it.

Keyword: GRHydro

Comments (5)

  1. Roland Haas
    • removed comment

    I think when I had this errror before I had to add -openmp to the LDFLAGS (yes linker flags, strange as is sounds).

  2. Erik Schnetter
    • removed comment

    Cactus does not know how to build executables that have a Fortran main program. (It does not collect this information while configuring.) Riemann1d is the only case where this information is necessary.

    F90FLAGS should already contain -openmp, and F90FLAGS should be used for linking in this case.

  3. Erik Schnetter
    • removed comment

    We should rewrite Riemann1d to use a C or C++ main program, and call the Fortran code in a subroutine.

  4. Roland Haas
    • changed status to resolved
    • removed comment

    No rewrite was required. It was sufficient to (programmatically) remove the -openmp flag from the utilities build command.

  5. Log in to comment