View previous topic :: View next topic |
Author |
Message |
simon
Joined: 05 Jul 2006 Posts: 268
|
Posted: Tue Mar 14, 2017 3:45 pm Post subject: Compiling LAPACK 3.7.0 from within PLATO |
|
|
In LAPACK 3.70 there is a new file iparam2stage.f that contains C-style pre-processing lines. I can compile this file perfectly OK from the command line using FTN95 iparam2stage.f /CFPP, but I cannot get it to work from within Plato. I have set up a project and have the pre-processing switched on, but I still get an error message. The problem occurs at line 155:
Code: | #if defined(_OPENMP)
use omp_lib
#endif |
If I switch on the preprocessor I get the following error messages:
Code: | iparam2stage.F(155) : error 32 - Statement not recognised
iparam2stage.F(156) : error 404 - Cannot find definition for MODULE OMP_LIB |
If I switch off the preprocessor I get the following (which are exactly the same messages I get from the command line without using /CFPP):
Code: | iparam2stage.F(155) : error 66 - Invalid characters in label field of FIXED format source
iparam2stage.F(155) : error 32 - Statement not recognised
iparam2stage.F(156) : error 404 - Cannot find definition for MODULE OMP_LIB |
Does anybody have any idea how to solve this problem? I don't define _OPENMP so the complaint about line 156 is occurring simply because the conditional compilation line is not being recognised properly.
... And on a related topic. If I try to compile the other files in LAPACK using Release x64 I get an error message indicating that LIB or DLL are invalid target extensions for x64. Any suggestions? |
|
Back to top |
|
|
PaulLaidler Site Admin
Joined: 21 Feb 2005 Posts: 7924 Location: Salford, UK
|
Posted: Tue Mar 14, 2017 5:02 pm Post subject: |
|
|
If you have not created a project then you won't get /CFPP by default.
If you have created a project then try using the project property pages under Compiler Options->Miscellaneous.
Also look at the local file called BuildLog to see what command line options have be used by Plato.
SLINK64 can't read .LIB files at the moment. Normally the corresponding .DLL can be used instead. |
|
Back to top |
|
|
simon
Joined: 05 Jul 2006 Posts: 268
|
Posted: Tue Mar 14, 2017 5:40 pm Post subject: |
|
|
Thanks Paul. I had switched on the /CFPP under Compiler Options ~ Miscellaneous, and confirmed it was on by looking at the switches. The BuildLog indicates:
FTN95.EXE "iparam2stage.f" /NO_BANNER /VS7 /DELETE_OBJ_ON_ERROR /ERROR_NUMBERS /UNLIMITED_ERRORS /OPTIMISE /DEFINT_KIND 3 /ISO /IGNORE 64 /FPP /CFPP /IGNORE 179 /BINARY "Release\Win32\iparam2stage.obj"
If I use those options from the command line the errors in my early post do appear - but now can I sift through and see which options are causing the problem ... Indeed, it was the /ISO that was the problem.
I get the invalid target extension even when I select DLL under Release x64. But perhaps I can try linking from the command line using SLINK64.
Last edited by simon on Tue Mar 14, 2017 5:44 pm; edited 1 time in total |
|
Back to top |
|
|
PaulLaidler Site Admin
Joined: 21 Feb 2005 Posts: 7924 Location: Salford, UK
|
Posted: Tue Mar 14, 2017 5:43 pm Post subject: |
|
|
I would use a much simpler set of options from a command line and work up from there. |
|
Back to top |
|
|
simon
Joined: 05 Jul 2006 Posts: 268
|
Posted: Tue Mar 14, 2017 5:52 pm Post subject: |
|
|
I had /ISO switched on, which was causing the problem.
I was able to create the .DLL from the command line, but not from within Plato.
So both problems solved, thanks! |
|
Back to top |
|
|
|