[CMake] fortran compiler failed to compile simple test program

Ette, Anthony (CDS) Anthony.R.Ette at controlsdata.com
Mon Jun 15 15:08:21 EDT 2015


> Is the compiler hosted natively on that platform or are you cross-compiling to it?
Hosted natively.  I wouldn't normally try to use a toolchain file to overcome this because I'm not really cross-compiling here, but it one of the mechanisms that I though *may* work.  I don't want to go against the grain though and have something break in future release (see below).

> That would be useful, thanks.  Version information should also be made available via preprocessor macros.
I will report back with what I find from the developers.

> Okay.  If -lrt is the default for the compiler why might "rt" not be found?
This is the million dollar question.  I'm assuming some system lib is not in the path, or ldpath, or something?  Actually, I'm not even convinced that cf77 is responsible for throwing the flag...any chance I could be forcing that flag (say if one of my CMakeFiles.txt had "SET(CMAKE_CXX_LINK_FLAGS "-lrt")") or are my CMakeFiles.txt not considered as part of building a simple test program?

> A toolchain file is normally used for true cross-compiling.
> You may be able to use one here too, but if you want to skip the compiler checks then you need to use the CMakeForceCompiler module's helpers within the toolchain file.  First I think we should > identify why the compiler doesn't work for the simple test case though.  Maybe some other fix is needed.
So, in order of appropriateness, is it:  1) fix simple test case 2) use toolchain file, then 3) force compiler using CMakeForceCompiler?  Assuming we can't get the test program to compile, what is the officially recommended way forward for compilers not currently supported by Cmake?

> Does building a simple test program by hand work?
Yes this works no problem.  I need to figure out how to turn on verbose to see if -lrt is being thrown or not (I suspect not)...

> If the compiler requires some special environment to be loaded then it is your responsibility to do that before running CMake.
Yes.  I expect to have to do some of this just not exactly sure how much/what/where.  So far I've the FORTRAN bin & lib directories to the PATH.
This e-mail (including attachments) contains contents owned by Rolls-Royce plc and its subsidiaries, affiliated companies or customers and covered by the laws of England and Wales, Brazil, US, or Canada (federal, state or provincial). The information contained in this email is intended to be confidential, may be legally privileged and subject to export controls which may restrict the access to and transfer of the information. If you are not the intended recipient, you are hereby notified that any retention, dissemination, distribution, interception or copying of this communication is strictly prohibited and may subject you to further legal action. Reply to the sender if you received this email by accident, and then delete the email and any attachments.


More information about the CMake mailing list