|
From: Rafael L. <ra...@la...> - 2022-11-30 12:06:02
|
Dear PLplot developers,
When building the plplot package for Debian, using the latest version
of gfortran:
$ gfortran --version | head -n1
GNU Fortran (Debian 12.2.0-9) 12.2.0
The CMake configuration fails to detect the NaN capability:
-- Check if isnan function is available in fortran
-- Check for isnan in fortran - not found
I see the following in CMakeFiles/CMakeError.log:
Determining if fortran has isnan function failed with the following output:
Change Dir: [path]/plplot/obj-x86_64-linux-gnu/CMakeFiles/CMakeTmp
Run Build Command(s):/usr/bin/gmake -f Makefile cmTC_58c30/fast && gmake[2]: Entering directory '[path]/plplot/obj-x86_64-linux-gnu/CMakeFiles/CMakeTmp'
/usr/bin/gmake -f CMakeFiles/cmTC_58c30.dir/build.make CMakeFiles/cmTC_58c30.dir/build
gmake[3]: Entering directory '[path]/plplot/obj-x86_64-linux-gnu/CMakeFiles/CMakeTmp'
Building Fortran object CMakeFiles/cmTC_58c30.dir/TestFortranIsnan.f.o
/usr/bin/gfortran -g -O2 -ffile-prefix-map=[path]/plplot=. -fstack-protector-strong -fvisibility=hidden -c [path]/plplot/cmake/modules/TestFortran
Isnan.f -o CMakeFiles/cmTC_58c30.dir/TestFortranIsnan.f.o
[path]/plplot/cmake/modules/TestFortranIsnan.f:5:19:
5 | if (isnan(0.0/0.0)) then
| 1
Error: Division by zero at (1)
[path]/plplot/cmake/modules/TestFortranIsnan.f:7:9:
7 | endif
| 1
Error: Expecting END PROGRAM statement at (1)
gmake[3]: *** [CMakeFiles/cmTC_58c30.dir/build.make:78: CMakeFiles/cmTC_58c30.dir/TestFortranIsnan.f.o] Error 1
The patch attached to this message fixes the problem. I think that the
problems arises because the gfortran compiler is trying to do the
computation "0.0/0.0" at compile-time.
Best,
Rafael Laboissière
|