ISCE in macOS Monterey #390
Replies: 5 comments
-
Dear ISCE developers, I found solution which is very simple, in configuration/sconsConfigFile.py change line 38 from The recompile and it should not fail, in case anyone else runs into this issue. Francisco |
Beta Was this translation helpful? Give feedback.
-
Dear ISCE developers, Is it possible to compile order versions of ISCE with the compilers supported by the latest macOS versions? I have several time series processed with ISCE 2.2 and 2.3.1 and that I try to keep updating using the same versions of the software. I've been unable to compile releases 2.2 and 2.3.1 with gcc11 which is the compiler supported by Monterey. All the issues I've found are related to changes in the FORTRAN syntax which change between the different versions of gcc. The solutions I've found online are to compile the software with older gcc versions like gcc7 or gcc8, but I've been unable to install them in Monterey using macports. Is there any workaround to this? Of course it would be easier to just reprocess everything with the most recent ISCE version. Many thanks |
Beta Was this translation helpful? Give feedback.
-
Try adding |
Beta Was this translation helpful? Give feedback.
-
Thanks! I'll give it a try |
Beta Was this translation helpful? Give feedback.
-
The previous suggestion to compile with gcc11 and the -std=legacy flag didn't work so I replaced the Fortran and C++ code in the 2.2 version with the same files in 2.5.3 that have the updated syntax update readOrbitPulse.fmv isce-2.2.0/components/isceobj/Sensor/src/ALOS_pre_process/readOrbitPulse.f isce-2.2.0/components/isceobj/Sensor/src/ALOS_pre_process/readOrbitPulse.f.orig update cchz_wave.cppmv isce-2.2.0/components/mroipac/correlation/src/cchz_wave.cpp isce-2.2.0/components/mroipac/correlation/src/cchz_wave.cpp.orig update looksmodule.cppmv isce-2.2.0/components/mroipac/looks/bindings/looksmodule.cpp isce-2.2.0/components/mroipac/looks/bindings/looksmodule.cpp.orig There were also some issues compiling the ALOS parser /opt/local/bin/g++ -o /Applications/insar_software/isce/isce-2.2.0/install/isce/components/isceobj/Sensor/bindings/alos.abi3.so -fopenmp -Wl,-undefined,dynamic_lookup -m64 -bundle /Applications/insar_software/isce/isce-2.2.0/install/isce/components/isceobj/Sensor/bindings/alosmodule.os -L/opt/local/lib -L/Applications/insar_software/isce/isce-2.2.0/build/isce/libs -lalos -lDataAccessor -lInterleavedAccessor -lgdal -lgfortran -lm -lstdc++.6 -lhdf5 -lfftw3f -lXm -lXt -lgdal duplicate symbol '_SAR_mode' in: Since I am not interested in using the old ALOS parser, I fixed this with the following Edit isce-2.2.0/components/isceobj/Sensor/bindings/SConscriptChangelibList1 = ['alos','DataAccessor','InterleavedAccessor'] tolibList1 = ['DataAccessor','InterleavedAccessor'] Edit isce-2.2.0/components/stdproc/alosreformat/ALOS_fbd2fbs/bindings/SConscriptChangelibList = ['utilLib','ALOSStd','fftw3f'] tolibList = ['utilLib','fftw3f'] This are probably much better ways to do this but at least I got the software compiled and working Francisco |
Beta Was this translation helpful? Give feedback.
-
Dear ISCE developers,
I've tried to compile the software in the macOS Monterey with gcc11. scons finds everything needed but halfway in the compiling I get the following error
**Warning: Array reference at (1) out of bounds (3332 > 100) in loop beginning at (2)
build/isce/components/contrib/ISSI/src/igrf2005_sub.f:28:34:
28 | CALL FELDCOF(YEAR,DIMO,PATH)
| 1
Error: Type mismatch in argument 'path' at (1); passed REAL(4) to CHARACTER(80)
build/isce/components/contrib/ISSI/src/igrf2005_sub.f:89:31:
89 | CALL FELDCOF(YEAR,DIMO)
| 1
Error: Missing actual argument for argument 'path' at (1)
scons: *** [build/isce/components/contrib/ISSI/src/igrf2005_sub.os] Error 1
scons: done reading SConscript files.
scons: Building targets ...
Install file: "init.py" as "install/isce/init.py"
Install file: "release_history.py" as "install/isce/release_history.py"
scons: done building targets.**
How can I fix it?
The respective line in the compiler is
/opt/local/bin/gfortran -o build/isce/components/contrib/ISSI/src/igrf2005_sub.os -c -O2 -Wall -ffixed-line-length-none -fno-second-underscore -fPIC -fno-range-check -m64 -fPIC -I/opt/local/include -Ibuild/isce/mods -Jbuild/isce/mods build/isce/components/contrib/ISSI/src/igrf2005_sub.f
and when I add the -fallow-argument-mismatch flag I can compile it with no errors.
/opt/local/bin/gfortran -o build/isce/components/contrib/ISSI/src/igrf2005_sub.os -c -O2 -Wall -ffixed-line-length-none -fno-second-underscore -fPIC -fno-range-check -m64 -fPIC -I/opt/local/include -Ibuild/isce/mods -Jbuild/isce/mods build/isce/components/contrib/ISSI/src/igrf2005_sub.f -fallow-argument-mismatch
I assume that the error will show up as other modules are compiled, hence how can I fix this?
Many thanks
Francisco
Beta Was this translation helpful? Give feedback.
All reactions