[cmake-developers] [CMake 0015460]: PGI Fortran compiler does not recognise -fPIE
Mantis Bug Tracker
mantis at public.kitware.com
Thu Mar 19 11:02:36 EDT 2015
The following issue has been SUBMITTED.
======================================================================
http://www.cmake.org/Bug/view.php?id=15460
======================================================================
Reported By: Tiago Quintino
Assigned To:
======================================================================
Project: CMake
Issue ID: 15460
Category: CMake
Reproducibility: always
Severity: major
Priority: normal
Status: new
======================================================================
Date Submitted: 2015-03-19 11:02 EDT
Last Modified: 2015-03-19 11:02 EDT
======================================================================
Summary: PGI Fortran compiler does not recognise -fPIE
Description:
By selecting POSITION_INDEPENDENT_CODE the PGI compiler settings add
automatically the flag -fPIE.
This flag does not exist for PGI Fortran Compiler.
I have checked this with pgf77, pgf90 and pgfortran.
The only workaround I found is to set the flag:
-DCMAKE_Fortran_FLAGS="-noswitcherror"
This turns off the check for flag validity in the compiler, but obviously is not
a long-term solution, since now any test to compiler flags will pass
irrespectively if the flag is recognised or not.
The solution I think is changing Modules/Platform/Linux-PGI.cmake to:
set(CMAKE_${lang}_COMPILE_OPTIONS_PIE "")
Note that the flag -fPIE also does not exist for PGI C and C++ compilers.
Steps to Reproduce:
Build the attached CMakeLists.txt project with
cmake -DCMAKE_Fortran_COMPILER=pgf90 ..
Additional Information:
I am using CMake 3.1.2 and PGI Fortran 14.4.
The man page of compiler does not reference this flag whatsoever.
This is the output I get:
-- The C compiler identification is GNU 4.8.1
-- Check for working C compiler: /usr/bin/gcc
-- Check for working C compiler: /usr/bin/gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- The Fortran compiler identification is PGI
-- Check for working Fortran compiler: /usr/local/apps/pgi/14.4/bin/pgf90
-- Check for working Fortran compiler: /usr/local/apps/pgi/14.4/bin/pgf90 --
broken
CMake Error at
/usr/local/apps/cmake/3.1.2/share/cmake-3.1/Modules/CMakeTestFortranCompiler.cmake:54
(message):
The Fortran compiler "/usr/local/apps/pgi/14.4/bin/pgf90" is not able to
compile a simple test program.
It fails with the following output:
Change Dir: /home/ma/matq/git/cmake-test/pgi-pie/build/CMakeFiles/CMakeTmp
Run Build Command:"/usr/bin/gmake" "cmTryCompileExec951442437/fast"
gmake: Warning: File `Makefile' has modification time 1.9 s in the future
/usr/bin/gmake -f CMakeFiles/cmTryCompileExec951442437.dir/build.make
CMakeFiles/cmTryCompileExec951442437.dir/build
gmake[1]: Entering directory
`/home/ma/matq/git/cmake-test/pgi-pie/build/CMakeFiles/CMakeTmp'
gmake[1]: Warning: File
`CMakeFiles/cmTryCompileExec951442437.dir/flags.make' has modification time
1.9 s in the future
/usr/local/apps/cmake/3.1.2/bin/cmake -E cmake_progress_report
/home/ma/matq/git/cmake-test/pgi-pie/build/CMakeFiles/CMakeTmp/CMakeFiles 1
Building Fortran object
CMakeFiles/cmTryCompileExec951442437.dir/testFortranCompiler.f.o
/usr/local/apps/pgi/14.4/bin/pgf90 -Mpreprocess -Kieee -fPIE -c
/home/ma/matq/git/cmake-test/pgi-pie/build/CMakeFiles/CMakeTmp/testFortranCompiler.f
-o CMakeFiles/cmTryCompileExec951442437.dir/testFortranCompiler.f.o
pgf90-Error-Unknown switch: -fPIE
gmake[1]: ***
[CMakeFiles/cmTryCompileExec951442437.dir/testFortranCompiler.f.o] Error 1
gmake[1]: Leaving directory
`/home/ma/matq/git/cmake-test/pgi-pie/build/CMakeFiles/CMakeTmp'
gmake: *** [cmTryCompileExec951442437/fast] Error 2
CMake will not be able to correctly generate this project.
Call Stack (most recent call first):
CMakeLists.txt:7 (enable_language)
======================================================================
Issue History
Date Modified Username Field Change
======================================================================
2015-03-19 11:02 Tiago Quintino New Issue
2015-03-19 11:02 Tiago Quintino File Added: CMakeLists.txt
======================================================================
More information about the cmake-developers
mailing list