jacobwilliams / json-fortran

A Modern Fortran JSON API
https://jacobwilliams.github.io/json-fortran/
Other
333 stars 82 forks source link

Fails to build on PPC due to missing ieee_arithmetic in gfortran #530

Closed barracuda156 closed 1 year ago

barracuda156 commented 1 year ago
[ 38%] Building Fortran object CMakeFiles/jsonfortran-static.dir/src/json_string_utilities.F90.o
/opt/local/bin/gfortran -DINT32 -DREAL64 -I/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_fortran_fortran-json/fortran-json/work/build/include -I/opt/local/include -pipe -Os -m32 -fbacktrace -fno-omit-frame-pointer -mmacosx-version-min=10.6 -Jinclude -fcoarray=lib -c /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_fortran_fortran-json/fortran-json/work/json-fortran-8.3.0/src/json_string_utilities.F90 -o CMakeFiles/jsonfortran-static.dir/src/json_string_utilities.F90.o
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_fortran_fortran-json/fortran-json/work/json-fortran-8.3.0/src/json_string_utilities.F90:14:20:

     use,intrinsic :: ieee_arithmetic
                    1
Fatal Error: Can't find an intrinsic module named 'ieee_arithmetic' at (1)
compilation terminated.
[ 46%] Building Fortran object CMakeFiles/jsonfortran.dir/src/json_string_utilities.F90.o
/opt/local/bin/gfortran -DINT32 -DREAL64 -Djsonfortran_EXPORTS -I/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_fortran_fortran-json/fortran-json/work/build/include -I/opt/local/include -pipe -Os -m32 -fbacktrace -fno-omit-frame-pointer -mmacosx-version-min=10.6 -J. -fPIC -fcoarray=lib -c /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_fortran_fortran-json/fortran-json/work/json-fortran-8.3.0/src/json_string_utilities.F90 -o CMakeFiles/jsonfortran.dir/src/json_string_utilities.F90.o
make[2]: *** [CMakeFiles/jsonfortran-static.dir/src/json_string_utilities.F90.o] Error 1
make[2]: Leaving directory `/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_fortran_fortran-json/fortran-json/work/build'
make[1]: *** [CMakeFiles/jsonfortran-static.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_fortran_fortran-json/fortran-json/work/json-fortran-8.3.0/src/json_string_utilities.F90:14:20:

     use,intrinsic :: ieee_arithmetic
                    1
Fatal Error: Can't find an intrinsic module named 'ieee_arithmetic' at (1)
compilation terminated.
jacobwilliams commented 1 year ago

JSON-Fortran requires a modern Fortran compiler, so it needs to have that module (I think that's a Fortran 2003 feature).

barracuda156 commented 1 year ago

JSON-Fortran requires a modern Fortran compiler, so it needs to have that module (I think that's a Fortran 2003 feature).

@jacobwilliams It is not a Fortran standard issue at all, it is a platform issue. Not all platforms have ieee_arithmetic implemented at the moment. The latest upstream GCC does not have it for a number of platforms.