-
Notifications
You must be signed in to change notification settings - Fork 22
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
notes on SMOKE Installation Instructions #89
Comments
Note about netcdf.h - on the longleaf compute nodes, there's an older version of netcdf.h in /usr/include/ so the netcdf-fortran configure finds and uses that |
A few more notes about trying to compile using gcc/gfortran on longleaf Running compile.ioapi.csh, the IOAPI library (Linux2_x86_64/libioapi.a) compiled successfully but the m3tools failed. End of compile.Linux2_x86_64.log:
Since the library was created, I continued on to SMOKE. Before running $MASTERDIR/SMOKE_v5.0/compile.SMOKE.csh you need to be in the directory $MASTERDIR/SMOKE_v5.0/. This is true of the other compile.sh scripts (for the dependencies) but all of those have The SMOKE compile failed at the same linking stage as m3tools
|
Thanks for the hint. I added |
I could not replicate this error either on longleaf or on Ubuntu virtual machine. Maybe you were using different version of gcc for compiling netcdf than for compiling ioapi? gcc is quite strict on requirement of same version of gcc/gfortran across all software package. Btw I test the whole setup with gfortran on Ubuntu virtual machine and it was able to compiled all packages including SMOKE and dependencies. |
An updated version of zlib was released and the download link in the compilation instructions is no longer available. The new package is https://www.zlib.net/zlib-1.3.1.tar.gz (old https://www.zlib.net/zlib-1.3.tar.gz). This new release extracts into a directory named zlib-1.3.1, so various commands in the instructions need a minor update. |
By the way, I figured out the linker problem that was causing this error:
If you don't have a gcc module loaded on the UNC longleaf system, there's a default version of gcc and gfortran available. However, the libraries aren't set up for use, so while you can compile individual code files, linking to the required libgfortran library will fail. I needed to load the gcc module (I used version 11.2.0) and make sure to save it to my default module set so that the shell scripts will have a full working gcc installation when they run. This problem is specific to how the longleaf cluster is set up, so not generally applicable. |
Tested on base installation of Ubuntu 22.04 LTS. Used gcc and gfortran, these were installed already.
Needed to install tcsh (sudo apt install tcsh), maybe list this is a prerequisite
Could add an example of setting MASTERDIR
setenv MASTERDIR /path/to/install/dir
[tcsh]export MASTERDIR=/path/to/install/dir
[bash]Did IOAPI download, then jumped down to installations instructions for required packages
After creating the various compile.sh scripts, each needs to be set as executable
chmod u+x $MASTERDIR/zlib-1.3/compile.sh
chmod u+x $MASTERDIR/szip-2.1.1/compile.sh
chmod u+x $MASTERDIR/hdf5-1.14.3/compile.sh
chmod u+x $MASTERDIR/netcdf-c-4.9.2/compile.sh
chmod u+x $MASTERDIR/netcdf-fortran-4.6.1/compile.sh
No problems until netcdf-fortran. Running
$MASTERDIR/netcdf-fortran-4.6.1/compile.sh configure
failed with
I confirmed that $MASTERDIR/ioapi-3.2/dependencies/netcdfc.4.9.2_gcc/include/ has netcdf.h, but it doesn't look like the wrapper script is telling configure about this location
The text was updated successfully, but these errors were encountered: