Opened 13 years ago
Closed 13 years ago
#541 closed upgrade (Done)
Cyclic dependencies in the makefile
Reported by: | arango | Owned by: | arango |
---|---|---|---|
Priority: | major | Milestone: | Release ROMS/TOMS 3.6 |
Component: | Nonlinear | Version: | 3.6 |
Keywords: | Cc: |
Description (last modified by )
The ROMS makefile is very powerful and complex. All the ROMS algorithms are distributed in several sub-directories. Each sub-directory has it own library, which is used during the linking stage. We need to account for the circularity of these objects in the libraries. For instance, the ROMS/Utility codes (libUTIL.a) uses modules located in other sub-directories. Therefore, in the makefile we have the libUTIL.a at the beginning and near the end of the libraries list token. For example, in nonlinear model algorithms we have:
libraries := $(SCRATCH_DIR)/libUTIL.a $(SCRATCH_DIR)/libNLM.a $(SCRATCH_DIR)/libNLM_bio.a $(SCRATCH_DIR)/libNLM_sed.a $(SCRATCH_DIR)/libANA.a $(SCRATCH_DIR)/libUTIL.a $(SCRATCH_DIR)/libMODS.a
It turns out that with some compiler versions and computers operating systems we also need circularity in the modules token for the ROMS/Nonlinear directory modules:
modules += ROMS/Nonlinear \ ROMS/Nonlinear/Biology \ ROMS/Nonlinear/Sediment \ ROMS/Functionals \ ROMS/Utility \ ROMS/Nonlinear \ ROMS/Modules
Many thanks to Özgür Gürses for reporting this problem and to Kate for providing a family.
Change History (1)
comment:1 by , 13 years ago
Description: | modified (diff) |
---|---|
Resolution: | → Done |
Status: | new → closed |