Open wiremoons opened 3 years ago
Unfortunately not all Programming Environments support all the standard-defined types. In this case it looks like your does not support 128-bit types. To handle this properly requires using a preprocessor in Fortran currently, which fpm(1) has not selected. I commented out the 128-bit code as it is (hopefully) vary rarely used. The tests also use real128 so they will not run properly yet, as they use M_msg and M_verify which also support REAL128. fpm-search may pull a specific version in which case you might have to remove the version from the fpm.toml file so it pulls the latest. I am going to ponder how to best handle that, as many environments support REAL128. I might have to resort to trusting fpp/cpp is available for the Fortran compiler, which is very often true but not guaranteed. So the new one should work for you; but until fpm(1) had some way of doing conditional compilation I cannot think of a way to have my cake and eat it too.
Thank you for making the changes. I can confirm M_strings it now builds successfully!
I am still working on the original goal of building fpm-search
as a similar error with REAL is also presenting itself in Fortran stdlib as well - so I guess this is going to be a general problem with the new Apple M1 CPU until it becomes more common. I hope a suitable code solution is found, and it is not arduous to have to add it.
Thanks again for your help :)
UPDATED: Found a couple of other similar issues and it appears this is a
gfortran
and Apple Silicon M1 CPU (arm64) problem - so nothing directly / specifically to do with the M_strings.f90. For reference see:If you wan to close this issue that is fine - hopefully it will be useful anyway in case another person finds the same problem.
ORGINAL REPORT BELOW:
Hi
I am new to Fortran - so apologies in advance if this is some newbie error!
I was trying to build fpm-search that depends on M_strings. It was failing to build due to a problem with M_strings.
I have re-downloaded M_strings by cloning the repo directly, and following the instructions in the 'Readme.md' for the gfortran complier.
In the
src
sub-directory, I runmake clean
and thenmake F90=gfortran gfortran
. Below is a copy of the output:I also tried to build with
fpm build
(after runningmake clean
first - if that makes any difference!). The output then is as below:The error using both approaches look like the same issue, but that's is about as far as my wisdom on the matter goes!
Is it a source code problem - or user error?
The build is being done on a Apple Mac mini (Apple Silicon M1 - arm64) version 11.5.2 (Big Sur) using
gfortran
installed frombrew
- version info below:Thanks
Simon