Page 1 of 1

building SeaDAS 7.3.2 on CentOS 7.3

Posted: Mon Feb 06, 2017 2:01 pm America/New_York
by bruce
Over at https://oceancolor.gsfc.nasa.gov/forum/oceancolor/topic_show.pl?tid=5024, there's a discussion about building on CentOS 6.x. 

Has anyone successfully built 7.3.2 on CentOS 7.3?  My attempts fail in step 2, while trying to build the 3rd party libraries, specifically while building hdf4.

[bcb@modis hdf4]$ ./BuildIt

***********************************
********** Building hdf4 **********
***********************************
patching file hdf/src/hlimits.h
Hunk #1 succeeded at 92 (offset 3 lines).
patching file hdf/src/atom.c
patching file hdf/src/hdfi.h

checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether to enable maintainer-specific portions of Makefiles... no
checking shell variables initial values... done
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking if basename works... yes
checking if xargs works... yes
checking for config x86_64-unknown-linux-gnu... no
checking for config x86_64-unknown-linux-gnu... no
checking for config unknown-linux-gnu... no
checking for config unknown-linux-gnu... no
checking for config x86_64-linux-gnu... no
checking for config x86_64-linux-gnu... no
checking for config x86_64-unknown... no
checking for config linux-gnu... found
gfortran: error: unrecognized command line option '-V'
gfortran: fatal error: no input files
compilation terminated.
checking whether make sets $(MAKE)... (cached) yes
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for style of include used by make... GNU
checking dependency style of gcc... gcc3
checking how to run the C preprocessor... gcc -E
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking dependency style of g++... gcc3
checking whether we are using the GNU Fortran 77 compiler... yes
checking whether gfortran accepts -g... yes
checking how to get verbose linking output from gfortran... -v
checking for Fortran 77 libraries of gfortran...  -L/seadas/lcl/ocssw/build/lib3/lib -L/usr/lib/gcc/x86_64-redhat-linux/4.8.5 -L/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 -L/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../.. -lxdr -lgfortran -lm -lquadmath
checking for dummy main to link with Fortran 77 libraries... unknown
configure: error: in `/seadas/lcl/ocssw/build/lib3/src/hdf4/hdf-4.2.9':
configure: error: linking to Fortran libraries from C fails
See `config.log' for more details
***** configure failed *****
[bcb@modis hdf4]$

I'm attaching config.log (too long to embed directly).  As far as I know, all the required rpm's are installed.

Any ideas?
attachment 1

building SeaDAS 7.3.2 on CentOS 7.3

Posted: Mon Feb 06, 2017 7:27 pm America/New_York
by gnwiii
I was able to build the OCCSSW Processing System on CentoOS 7.3 (using a very old, slow, unloved and unwanted PC for testing).    I think you are missing some static libraries.  I have:
sudo yum install glibc-static libgfortran-static zlib-static gmp-static libjpeg-turbo-static libstdc++-static

I don't think you need to build or link to xdr. I removed mentions of xdr from the BuildIt files and CMakeLists.txtbecause rpm -qi --whatprovides /usr/include/rpc/xdr.h points to glibc.  

So far the only test I have done is to run a (netcdf adapted version of)  seadas_benchmark.bash, which was successful.

building SeaDAS 7.3.2 on CentOS 7.3

Posted: Tue Feb 07, 2017 8:44 am America/New_York
by bruce
Thanks George, step 2 finished, now off to step 3 :)

building SeaDAS 7.3.2 on CentOS 7.3

Posted: Tue Feb 07, 2017 8:55 am America/New_York
by bruce
And then...

[bcb@modis cbuild]$ cmake ..
-- The C compiler identification is GNU 4.8.5
-- The CXX compiler identification is GNU 4.8.5
-- Check for working C compiler: /usr/bin/gcc
-- Check for working C compiler: /usr/bin/gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/g++
-- Check for working CXX compiler: /usr/bin/g++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Found Doxygen: /usr/bin/doxygen (found version "1.8.5")
-- The Fortran compiler identification is GNU
-- Check for working Fortran compiler: /usr/bin/gfortran
-- Check for working Fortran compiler: /usr/bin/gfortran  -- works
-- Detecting Fortran compiler ABI info
-- Detecting Fortran compiler ABI info - done
-- Checking whether /usr/bin/gfortran supports Fortran 90
-- Checking whether /usr/bin/gfortran supports Fortran 90 -- yes
-- Found Subversion: /usr/bin/svn (found version "1.7.14")
CMake Error at /usr/share/cmake/Modules/FindSubversion.cmake:83 (message):
  Command "/usr/bin/svn info /seadas/lcl/ocssw/build/src/l2gen" failed with
  output:

  svn: E155007: '/seadas/lcl/ocssw/build/src/l2gen' is not a working copy

Call Stack (most recent call first):
  src/l2gen/CMakeLists.txt:12 (Subversion_WC_INFO)

Current subversion revision is 0
CMake Error at /usr/share/cmake/Modules/FindSubversion.cmake:83 (message):
  Command "/usr/bin/svn info /seadas/lcl/ocssw/build/src/l3bindump" failed
  with output:

  svn: E155007: '/seadas/lcl/ocssw/build/src/l3bindump' is not a working copy

Call Stack (most recent call first):
  src/l3bindump/CMakeLists.txt:10 (Subversion_WC_INFO)

Current subversion revision is 0
CMake Error at /usr/share/cmake/Modules/FindSubversion.cmake:83 (message):
  Command "/usr/bin/svn info /seadas/lcl/ocssw/build/src/l3mapgen" failed
  with output:

  svn: E155007: '/seadas/lcl/ocssw/build/src/l3mapgen' is not a working copy

Call Stack (most recent call first):
  src/l3mapgen/CMakeLists.txt:10 (Subversion_WC_INFO)

Current subversion revision is 0
-- Configuring incomplete, errors occurred!
See also "/seadas/lcl/ocssw/build/cbuild/CMakeFiles/CMakeOutput.log".
[bcb@modis cbuild]$
attachment 1

building SeaDAS 7.3.2 on CentOS 7.3

Posted: Tue Feb 07, 2017 9:32 am America/New_York
by bruce
uninstalling subversion allows things to progress, but subversion is needed for other things I do on that machine.  Is there a way to tell cmake that even if you find subversion, don't use it?

building SeaDAS 7.3.2 on CentOS 7.3

Posted: Tue Feb 07, 2017 10:07 am America/New_York
by OB.DAAC - SeanBailey
Call cmake with -DUSE_SVNVERSION=off

building SeaDAS 7.3.2 on CentOS 7.3

Posted: Tue Feb 07, 2017 1:15 pm America/New_York
by bruce
Cool, thanks!