Subject: Error when installing package, CMAKE_Fortran_COMPILER could be found

From: Pierre Clouzet <[email-masked]>
Date: Thu, 23 Nov 2023 17:21:19 +0100 (CET)

Hello, 
I'm trying to install a package with the command: 

guix package --install-from-file=gmsh-try.scm 

the gmsh-try.csm looks like this: 

(use-modules (guix packages) 
(guix download) 
(guix licenses) 
(guix build-system cmake)) 
(package 
(name "mygmsh") 
(version "3.0.6") 
(source (origin 
(method url-fetch) 
(uri (string-append "https://gmsh.info/src/gmsh-3.0.6-source.tgz")) 
(sha256 
(base32 
"0ywqhr0zmdhn8dvi6l8z1vkfycyv67fdrz6b95mb39np832bq04p")))) 
(build-system cmake-build-system) 
(arguments 
`(#:configure-flags '("-DENABLE_BUILD_LIB=1" 
"-DCMAKE_INSTALL_PREFIX=/opt/nextsim_gnu/gmsh-3.0.6" 
"-DENABLE_MMG3D=FALSE"))) 
(synopsis "3D finite element grid generator") 
(description "Gmsh is a 3D finite element grid generator with a built-in 
CAD engine and post-processor. Its design goal is to provide a fast, light 
and user-friendly meshing tool with parametric input and advanced 
visualization capabilities. Gmsh is built around four modules: geometry, 
mesh, solver and post-processing. The specification of any input to these 
modules is done either interactively using the graphical user interface or in 
ASCII text files using Gmsh's own scripting language.") 
(home-page "http://gmsh.info//") 
(license gpl2+)) 

When at some point, cmake tests things, this is what I get: 

-- The CXX compiler identification is GNU 11.3.0 
-- The C compiler identification is GNU 11.3.0 
-- Detecting CXX compiler ABI info 
-- Detecting CXX compiler ABI info - done 
-- Check for working CXX compiler: /gnu/store/5lqhcv91ijy82p92ac6g5xw48l0lwwz4-gcc-11.3.0/bin/c++ - skipped 
-- Detecting CXX compile features 
-- Detecting CXX compile features - done 
-- Detecting C compiler ABI info 
-- Detecting C compiler ABI info - done 
-- Check for working C compiler: /gnu/store/5lqhcv91ijy82p92ac6g5xw48l0lwwz4-gcc-11.3.0/bin/gcc - skipped 
-- Detecting C compile features 
-- Detecting C compile features - done 
-- Looking for sys/types.h 
-- Looking for sys/types.h - found 
-- Looking for stdint.h 
-- Looking for stdint.h - found 
-- Looking for stddef.h 
-- Looking for stddef.h - found 
-- Check size of void* 
-- Check size of void* - done 
-- Found 64Bit 
-- Performing Test STDCXX11 
-- Performing Test STDCXX11 - Success 
-- Found C++11 
-- The Fortran compiler identification is unknown 
CMake Error at CMakeLists.txt:421 (enable_language): 
No CMAKE_Fortran_COMPILER could be found. 

Tell CMake where to find the compiler by setting either the environment 
variable "FC" or the CMake cache entry CMAKE_Fortran_COMPILER to the full 
path to the compiler, or to the compiler name if it is in the PATH. 

-- Configuring incomplete, errors occurred! 
See also "/tmp/guix-build-mygmsh-3.0.6.drv-0/build/CMakeFiles/CMakeOutput.log". 
See also "/tmp/guix-build-mygmsh-3.0.6.drv-0/build/CMakeFiles/CMakeError.log". 
error: in phase 'configure': uncaught exception: 
%exception #<&invoke-error program: "cmake" arguments: ("../gmsh-3.0.6-source" "-DCMAKE_BUILD_TYPE=RelWithDebInfo" "-DCMAKE_INSTALL_PREFIX=/gnu/store/kvx8rfsa457xz9723zsyk8x41zscs63l-mygmsh-3.0.6" "-DCMAKE_INSTALL_LIBDIR=lib" "-DCMAKE_INSTALL_RPATH_USE_LINK_PATH=TRUE" "-DCMAKE_INSTALL_RPATH=/gnu/store/kvx8rfsa457xz9723zsyk8x41zscs63l-mygmsh-3.0.6/lib" "-DCMAKE_VERBOSE_MAKEFILE=ON" "-DENABLE_BUILD_LIB=1" "-DCMAKE_INSTALL_PREFIX=/opt/nextsim_gnu/gmsh-3.0.6" "-DENABLE_MMG3D=FALSE") exit-status: 1 term-signal: #f stop-signal: #f> 
phase `configure' failed after 0.8 seconds 
command "cmake" "../gmsh-3.0.6-source" "-DCMAKE_BUILD_TYPE=RelWithDebInfo" "-DCMAKE_INSTALL_PREFIX=/gnu/store/kvx8rfsa457xz9723zsyk8x41zscs63l-mygmsh-3.0.6" "-DCMAKE_INSTALL_LIBDIR=lib" "-DCMAKE_INSTALL_RPATH_USE_LINK_PATH=TRUE" "-DCMAKE_INSTALL_RPATH=/gnu/store/kvx8rfsa457xz9723zsyk8x41zscs63l-mygmsh-3.0.6/lib" "-DCMAKE_VERBOSE_MAKEFILE=ON" "-DENABLE_BUILD_LIB=1" "-DCMAKE_INSTALL_PREFIX=/opt/nextsim_gnu/gmsh-3.0.6" "-DENABLE_MMG3D=FALSE" failed with status 1 

It looks like cmake cant find fortran compiler. I'm very new to guix universe so I may have missed a step. 

Thanks in advance, 
Pierre