Comments (17)
Hi Shawn,
I have this issue on linux too.
I build in this order:
./generate_deps.sh
make -f Makefile clean OPT=
make -f Makefile OPT=
where matches include.mk.
On Fri, Sep 5, 2014 at 1:53 PM, Shawn P. Serbin [email protected]
wrote:
./install.sh
rules.mk:551: dependency.mk: No such file or directory
make: ***No rule to make target 'dependency.mk'. Stop.I don't have this issue with older versions, including r82 that you can
install using the PEcAn instructions. Has anyone else had this issue before?System specifics:
Sci Linux (RHEL/CentOS 6.5)
Using gfortran compiler, openmpi, etc, etc...standard stuff—
Reply to this email directly or view it on GitHub
#7.
from ed2.
OK, I have moved beyond this error to another with the bleeding edge ED2 code. I am now getting this error:
mpif90 -c -DUSE_INTERF=1 -DUSENC=0 -DPC_LINUX1 -DUSE_HDF5=1 -DUSE_COLLECTIVE_MPIO=0 -DUSE_MPIWTIME=1 -O3 -ffree-line-length-none -fno-whole-file -I../../src/include -I/usr/include -DRAMS_MPI -I/usr/include hdf5_coms.F90
hdf5_coms.F90:3.7:
use hdf5
1
Fatal Error: Cannot read module file 'hdf5.mod' opened at (1), because it was created by a different version of GNU Fortran
make[1]: *** [hdf5_coms.o] Error 1
make[1]: Leaving directory `/data/software/src/ED2.mainline/ED/build/bin'
make: *** [all] Error 2
After pulling the latest version of the code. Getting closer.
from ed2.
First fix attempt: reinstall all hdf5 libs using latest gfortran. Didn't fix issue.
from ed2.
trying to compile a simple program to check hdf5 install:
The program:
program test
use mpi
use hdf5
end
[sserbin@test data]$ mpif90 test.f90
test.f90:3.6:
use hdf5
1
Fatal Error: Can't open module file 'hdf5.mod' for reading at (1): No such file or directory
from ed2.
Not pointing to the correct HDF5 location; using default. Need to specify in the include file
mpif90 -c -DUSE_INTERF=1 -DUSENC=0 -DPC_LINUX1 -DUSE_HDF5=1 -DUSE_COLLECTIVE_MPIO=0 -DUSE_MPIWTIME=1 -O3 -ffree-line-length-none -fno-whole-file -I../../src/include -I/usr/include -DRAMS_MPI -I/usr/include hdf5_coms.F90
hdf5_coms.F90:3.7:
use hdf5
1
Fatal Error: Cannot read module file 'hdf5.mod' opened at (1), because it was created by a different version of GNU Fortran
make[1]: *** [hdf5_coms.o] Error 1
make[1]: Leaving directory `/data/software/src/ED2.mainline/ED/build/bin'
make: *** [all] Error 2
from ed2.
New error:
cp -f ../../src/driver/edmain.f90 edmain.f90
mpif90 -c -O3 -ffree-line-length-none -fno-whole-file -I../../src/include -I/data/software/hdf5/1.8.13/include -DRAMS_MPI edmain.f90
rm -f edmain.f90
mpif90 -o ../../build//ed_2.1-opt edmain.o -O3 -ffree-line-length-none -fno-whole-file ../../build//ed_2.1-opt.a -L/data/software/hdf5/1.8.13/lib -lhdf5 -lm -lhdf5_fortran -lhdf5 -lhdf5_hl -lz
-L/dev/null -O3 -ffree-line-length-none -fno-whole-file
../../build//ed_2.1-opt.a(rsys.o): In function timing_': rsys.F90:(.text+0x9a): undefined reference to
etime_'
collect2: error: ld returned 1 exit status
make[1]: *** [../../build//ed_2.1-opt] Error 1
make[1]: Leaving directory `/data/software/src/ED2.mainline/ED/build/bin'
make: *** [all] Error 2
Will try to adjust compile flags
from ed2.
New error message:
mpif90 -c -O3 -I../../src/include -I/data/software/hdf5/1.8.13/include -DRAMS_MPI ed_init.f90
ed_init.f90:131.31:
call soil_default_fill(cgrid,ifm,ipy)
1
Error: Dummy argument 'cgrid' of procedure 'soil_default_fill' at (1) has an attribute that requires an explicit interface for this procedure
ed_init.f90:465.29:
call print_soil_info(edgrid_g(igr),igr)
1
Error: Dummy argument 'cgrid' of procedure 'print_soil_info' at (1) has an attribute that requires an explicit interface for this procedure
make[1]: *** [ed_init.o] Error 1
Here are my compile options:
#gfortran
CMACH=PC_LINUX1
F_COMP=mpif90
#F_OPTS=-O3 -ffree-line-length-none -fno-whole-file
F_OPTS=-O3
C_COMP=mpicc
C_OPTS=-O3
LOADER=mpif90
LOADER_OPTS=${F_OPTS}
C_LOADER=mpicc
LIBS=
MOD_EXT=mod
Note F_OPTS and C_OPTS are only -O3. Any thoughts @rgknox @robkooper @mdietze?
from ed2.
I had to add the following patch for time on ubuntu, if this works for you on redhat I might make an official pull request to ED.
diff -cr ED.r82.orig/ED/src/utils/rsys.F90 ED.r82/ED/src/utils/rsys.F90
*** ED.r82.orig/ED/src/utils/rsys.F90 2012-07-01 12:02:28.000000000 -0500
--- ED.r82/ED/src/utils/rsys.F90 2012-07-01 17:20:58.069145247 -0500
***************
*** 114,119 ****
--- 114,121 ----
real , external :: cputime
#elif defined(MAC_OS_X)
real :: etime
+ #elif defined(__GFORTRAN__)
+ real :: etime
#else
real , external :: etime
#endif
from ed2.
the -fno-whole-file
will avoid the interface issues.
from ed2.
@robkooper is the difference/change that it should be GFORTRAN and not PC_GFORTRAN?
!==========================================================================================!
!==========================================================================================!
! Routine returns CPU time. Called with ICALL=1 at beginning of timestep, ICALL=2 at !
! end of timestep. !
!------------------------------------------------------------------------------------------!
subroutine timing(icall,t1)
implicit none
integer, intent(in) :: icall
real , intent(out) :: t1
real , dimension(2) :: et(2)
#if defined(VAX)
integer :: iad0
#endif
#if defined(IBM)
real , external :: mclock
#elif defined(CRAY)
real , external :: cputime
#elif defined(MAC_OS_X)
real :: etime
#elif defined(PC_GFORTRAN) **<-----HERE???
real :: etime
#else
real ,external :: etime
#endif
from ed2.
I guess so, try and see what happens, I just added a new clause in case that would otherwise break some other compiler.
from ed2.
@robkooper Good idea
from ed2.
This issue can be closed.
Finished building === ../../build//ed_2.1-opt
make[1]: Leaving directory /data/software/src/ED2.mainline/ED/build/bin' make ../../build//ed_2.1-opt make[1]: Entering directory
/data/software/src/ED2.mainline/ED/build/bin'
make[1]: ../../build//ed_2.1-opt' is up to date. make[1]: Leaving directory
/data/software/src/ED2.mainline/ED/build/bin'
make ../../build//ed_2.1-opt
make[1]: Entering directory /data/software/src/ED2.mainline/ED/build/bin' make[1]:
../../build//ed_2.1-opt' is up to date.
make[1]: Leaving directory /data/software/src/ED2.mainline/ED/build/bin' make ../../build//ed_2.1-opt make[1]: Entering directory
/data/software/src/ED2.mainline/ED/build/bin'
make[1]: ../../build//ed_2.1-opt' is up to date. make[1]: Leaving directory
/data/software/src/ED2.mainline/ED/build/bin'
make ../../build//ed_2.1-opt
make[1]: Entering directory /data/software/src/ED2.mainline/ED/build/bin' make[1]:
../../build//ed_2.1-opt' is up to date.
make[1]: Leaving directory `/data/software/src/ED2.mainline/ED/build/bin'
from ed2.
I put in PC_GFORTRAN for this specific issue. We can call it whatever we
want, but I don't think we need two directives.
On Thu, Nov 6, 2014 at 10:08 AM, Shawn P. Serbin [email protected]
wrote:
This issue can be closed.
Finished building === ../../build//ed_2.1-opt
make[1]: Leaving directory /data/software/src/ED2.mainline/ED/build/bin'
make ../../build//ed_2.1-opt
make[1]: Entering directory/data/software/src/ED2.mainline/ED/build/bin'
make[1]: ../../build//ed_2.1-opt' is up to date.
make[1]: Leaving directory/data/software/src/ED2.mainline/ED/build/bin'
make ../../build//ed_2.1-opt
make[1]: Entering directory /data/software/src/ED2.mainline/ED/build/bin'
make[1]:../../build//ed_2.1-opt' is up to date.
make[1]: Leaving directory /data/software/src/ED2.mainline/ED/build/bin'
make ../../build//ed_2.1-opt
make[1]: Entering directory/data/software/src/ED2.mainline/ED/build/bin'
make[1]: ../../build//ed_2.1-opt' is up to date.
make[1]: Leaving directory/data/software/src/ED2.mainline/ED/build/bin'
make ../../build//ed_2.1-opt
make[1]: Entering directory /data/software/src/ED2.mainline/ED/build/bin'
make[1]:../../build//ed_2.1-opt' is up to date.
make[1]: Leaving directory `/data/software/src/ED2.mainline/ED/build/bin'—
Reply to this email directly or view it on GitHub
#7 (comment).
from ed2.
I used GFORTRAN since this is a predefined variable by gfortran, so any gfotran compiled will automatically have this set.
from ed2.
@rgknox I would have thought so too but it seems that it would compile for me until I set this to:
+#elif defined(GFORTRAN)
- real :: etime
Since it is in an if/else I suppose it doesn't hurt to have both.....
from ed2.
all sounds good, I will go ahead and accept the pull request (if it hasn't
already)
On Thu, Nov 6, 2014 at 3:47 PM, Rob Kooper [email protected] wrote:
I used GFORTRAN since this is a predefined variable by gfortran, so
any gfotran compiled will automatically have this set.—
Reply to this email directly or view it on GitHub
#7 (comment).
from ed2.
Related Issues (20)
- base flow goes to negative HOT 5
- Grass cohorts causing Floating-point exception at log() operations, several places HOT 11
- little mistake about the unit description in the output file HOT 5
- how to modify the settings to increase the NPLANT of pft 3 ? ? HOT 2
- Issue with HPC build HOT 6
- soil water off-track HOT 1
- Problem writing the T-file HOT 12
- NPLANT
- little mistake in adjust_veg_properties of rk4_misc HOT 3
- question about unit in reproduction.f90 HOT 3
- Typo in the events.f90 file HOT 3
- Docker image not being updated by GH actions
- `HYDAULIC_MORTALITY_SCHEME` missing from ED2IN HOT 4
- ED2 Installation error
- Patch Bfusion budget failed (CO2 Summary: FINE: F)
- hdf5 problem when running HISTORY mode HOT 4
- question about MPI HOT 1
- Crop yield estimation
- psi_max or psi_min in leaf phenology HOT 1
- typo in calc_plant_water_flux HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ed2.