Scheduled Downtime
On Friday 21 April 2023 @ 5pm MT, this website will be down for maintenance and expected to return online the morning of 24 April 2023 at the latest

compiling wrf 4.2 on centos7 failed--->Problems building executables, look for errors in the build log

volcano

New member
Dear all:
What kind of error caused the compiling to fail?
Problems building executables, look for errors in the build log
I would be very glad if you can direct me in solving this problem
 
Dear all:
What kind of error caused the compiling to fail?
Problems building executables, look for errors in the build log
I would be very glad if you can direct me in solving this problem
Most likely it is the fact that centos 7 uses older GNU compilers then what WRF likes. I have found that CENTOS 8 and above works best.
 
Most likely it is the fact that centos 7 uses older GNU compilers then what WRF likes. I have found that CENTOS 8 and above works best.
But after upgrading gcc and gfortran to version 7, the result is still the same, so I think it may not be a compiler version issue?
 
But after upgrading gcc and gfortran to version 7, the result is still the same, so I think it may not be a compiler version issue?
There is probably an issue with the libraries being built if you have GNU 7 and wrf fails to build. Do you have any build logs for netcdf, hdf5, etc?
 
There is probably an issue with the libraries being built if you have GNU 7 and wrf fails to build. Do you have any build logs for netcdf, hdf5, etc?
Do you mean the installation logs of netcdf and hdf5? Sorry, I did not generate a build log after installation, but the test provided in the official document can run normally( Compiling WRF )Perhaps it's not a problem with dependent libraries?
 
Do you mean the installation logs of netcdf and hdf5? Sorry, I did not generate a build log after installation, but the test provided in the official document can run normally( Compiling WRF )Perhaps it's not a problem with dependent libraries?
Okay good that the library compatibility and environment tests passed. Do you have a log file for wrf generated?
 
@volcano
The first error message in your compile log (which is the one we are most interested in) is:

Code:
make[3]: time: Command not found

'time' is a simple linux command that is typically included with your operating system. I believe, ultimately, the issue is that you're using a very old version of GNU to compile a newer version of WRF. GNU is free software, so can you try to install the latest version of GNU to see if that makes any difference in your compile? If you aren't sure how to do this, seek the help of a systems administrator (IT) at your institution. Once you install the new GNU version, you'll need to rebuild NetCDF and your MPI installation with the updated GNU, as well.

If you do that, and still run into the above error regarding the 'time' command, you can try a couple things:
1) Ask a systems admin for assistance in getting this command installed on your system. 'time' is a very simple linux command and typically comes readily available with the OS.
2) You can try modifying the configure.wrf file. After issuing a
Code:
./clean -a
, and reconfiguring, open your configure.wrf file and look for this line:

Code:
FC        = time $(DM_FC)

Remove 'time' from the line so that it now reads as

Code:
FC        =  $(DM_FC)

Save the configure.wrf with the change and try recompiling.
 
@volcano
The first error message in your compile log (which is the one we are most interested in) is:

Code:
make[3]: time: Command not found

'time' is a simple linux command that is typically included with your operating system. I believe, ultimately, the issue is that you're using a very old version of GNU to compile a newer version of WRF. GNU is free software, so can you try to install the latest version of GNU to see if that makes any difference in your compile? If you aren't sure how to do this, seek the help of a systems administrator (IT) at your institution. Once you install the new GNU version, you'll need to rebuild NetCDF and your MPI installation with the updated GNU, as well.

If you do that, and still run into the above error regarding the 'time' command, you can try a couple things:
1) Ask a systems admin for assistance in getting this command installed on your system. 'time' is a very simple linux command and typically comes readily available with the OS.
2) You can try modifying the configure.wrf file. After issuing a
Code:
./clean -a
, and reconfiguring, open your configure.wrf file and look for this line:

Code:
FC        = time $(DM_FC)

Remove 'time' from the line so that it now reads as

Code:
FC        =  $(DM_FC)

Save the configure.wrf with the change and try recompiling.
I think GNU is stuck at gcc v4.

According to this quote from man page on centos website

The default GCC that comes with the CentOS 7.2 is GCC 4.8.5
 
Top