Closed edwardhartnett closed 4 years ago
I installed some things, and messed around with my system for a while, and now the build gets further, but fails here:
CC src/binding/fortran/mpif_h/lib_libmpifort_la-null_type_del_fnf.lo
CC src/binding/fortran/mpif_h/lib_libmpifort_la-null_type_copy_fnf.lo
CC src/binding/fortran/use_mpi/lib_libmpifort_la-typef90cmplxf.lo
CC src/binding/fortran/use_mpi/lib_libmpifort_la-typef90realf.lo
CC src/binding/fortran/use_mpi/lib_libmpifort_la-typef90intf.lo
MOD src/binding/fortran/use_mpi/mpi_constants.mod-stamp
MOD src/binding/fortran/use_mpi/mpi_sizeofs.mod-stamp
MOD src/binding/fortran/use_mpi/mpi_base.mod-stamp
MOD src/binding/fortran/use_mpi/mpi.mod-stamp
GEN lib/libmpifort.la
/usr/bin/ld: cannot find -l-L/usr/lib/gcc/x86_64-linux-gnu/7
collect2: error: ld returned 1 exit status
Makefile:14117: recipe for target 'lib/libmpifort.la' failed
make[5]: *** [lib/libmpifort.la] Error 1
Makefile:40484: recipe for target 'all-recursive' failed
make[4]: *** [all-recursive] Error 1
Makefile:10572: recipe for target 'all' failed
make[3]: *** [all] Error 2
CMakeFiles/mpi.dir/build.make:128: recipe for target 'mpich/src/mpi-stamp/mpi-build' failed
make[2]: *** [mpich/src/mpi-stamp/mpi-build] Error 2
CMakeFiles/Makefile2:246: recipe for target 'CMakeFiles/mpi.dir/all' failed
make[1]: *** [CMakeFiles/mpi.dir/all] Error 2
Makefile:100: recipe for target 'all' failed
make: *** [all] Error 2
I'm now trying to install these libraries manually, because the build is not working for me.
The first error you are reporting looks like the git clone for the zlib subdirectory didn't work. Is there anything in the netcdf and hdf5 directories? Did you clone with --recursive
?
OK, I've tried this again from scratch.
This is a brand-new linux install, so some utilities were not installed. I've been doing various apt-get installs and now I have everything I need. I wish I had paid a little more attention, because then we could modify the cmake build to expressly ensure that all the utilities it needs are present.
But I'll be repeating this on another new linux box soon, and will pay closer attention.
I also turned off the MPICH build. Now make all works! ;-)
But make install fails:
(base) ed@mikado:~/ne2/build$ sudo make install
[sudo] password for ed:
make: *** No rule to make target 'install'. Stop.
Ed, please have a look at the README.md in https://github.com/NOAA-EMC/NCEPLIBS-external/, section "get and build the code", as well as https://github.com/NOAA-EMC/NCEPLIBS-external/tree/master/doc/ and in there the step-by-step instructions for ubuntu and redhat. There is no "make install" step for the NCEPLIBS-external, because the "make" process does all of that (essentially because the top-level cmake+make trigger the full build and install process). This is not the standard, admittedly, but at least it is described in the documentation.
@climbfuji thanks for all your help!
Can we modify the build so that make all and make install work as expected?
Ideally we would also like make test to work, by running the test suite of each of these packages. In fact, it's pretty important that the netCDF C and Fortran test suites be run.
It seems that all the packages in NCEPLIBS-external have well-behaved build systems, except esmf and wgrib2. Have you approached those teams and asked them to provide a standard build system?
@climbfuji thanks for all your help!
Can we modify the build so that make all and make install work as expected?
Ideally we would also like make test to work, by running the test suite of each of these packages. In fact, it's pretty important that the netCDF C and Fortran test suites be run.
It seems that all the packages in NCEPLIBS-external have well-behaved build systems, except esmf and wgrib2. Have you approached those teams and asked them to provide a standard build system?
Indeed - we are currently working on an update (or replacement) of NCEPLIBS-external for the v1.1.0 release of the UFS Medium-Range Weather App and the v1.0.0 release of the UFS Short-Range Weather App. We are also working on ways to integrate the ESMF and wgrib2 builds better.
I am getting the following from cmake, what am I doing wrong?