-
Notifications
You must be signed in to change notification settings - Fork 6
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
Outdated configure file #4
Comments
Having issues with this, can you provide some more detail? |
It's been so long that I used RIP. What I remember is that, I decided to install ncl using conda, and compile RIP based on that ncl, and that worked. What I have in my note was the instruction below. I also installed the compilers used in conda to compile ncl so that RIP will also use the same compiler. I need to activate conda environment for which the ncl is installed and then use RIP.
|
Since i'm not a computer programmer I do not really understand what is needed to be added to line 349 with nf-config |
so in conda environment
and use those links in line 349???? |
@whatheway. I decided to try and compile this today using conda environment.
I don't have any data to test it right now. Let me know if you have trouble with this. |
Do I need to do all the other configuration changes too or will this fix
all of those?
…On Fri, Jun 3, 2022 at 8:52 PM zemega ***@***.***> wrote:
@whatheway <https://github.com/whatheway>. I decided to try and compile
this today using conda environment.
1. Create a conda environment called ncl_rip. conda create -n ncl_rip.
2. Activate it. conda activate ncl_rip
3. Install ncl and the compilers. conda install -c conda-forge ncl
c-compiler fortran-compiler cxx-compiler
4. export the NETCDF environment inside the conda. export
NETCDF=/home/user/miniconda2/envs/ncl_rip_2. Replace user with your
username. Or modify the path according to your system.
5. Inside the RIP-Master folder, open arch folder. Edit
configure.defaults file on line 33. Add -fallow-argument-mismatch.
This means changing FFLAGS = -I. -fcray-pointer -fconvert=big-endian
-frecord-marker=4 -fPIC -fno-second-underscore -fno-range-check -O
into FFLAGS = -I. -fcray-pointer -fconvert=big-endian
-frecord-marker=4 -fPIC -fno-second-underscore -fno-range-check
-fallow-argument-mismatch -O
6. Go back to RIP-Master folder.
7. Run ./clean to start over. It's always important to clean previous
attempt of compilation before starting again.
8. Run ./configure, pick option 3.
9. Run ./compile.
10. It should compile fine, and a rip executable should appear.
11. Try running ./rip.
I don't have any data to test it right now. Let me know if you have
trouble with this.
—
Reply to this email directly, view it on GitHub
<#4 (comment)>, or
unsubscribe
<https://github.com/notifications/unsubscribe-auth/ATF3TC33UVG6BMMEPHCU6BLVNKZGHANCNFSM4XKC4CDQ>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
/home/will/WRF/miniconda3/bin/../lib/gcc/x86_64-conda-linux-gnu/10.3.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/will/WRF/Libs/NETCDF/lib/libnetcdf.so: undefined reference to `fstat@GLIBC_2.33' /home/will/WRF/miniconda3/bin/../lib/gcc/x86_64-conda-linux-gnu/10.3.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/will/WRF/Libs/NETCDF/lib/libnetcdf.so: undefined reference to `memcpy@GLIBC_2.14' /home/will/WRF/miniconda3/bin/../lib/gcc/x86_64-conda-linux-gnu/10.3.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/will/WRF/Libs/NETCDF/lib/libnetcdf.so: undefined reference to `stat@GLIBC_2.33' /home/will/WRF/miniconda3/bin/../lib/gcc/x86_64-conda-linux-gnu/10.3.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/will/WRF/Libs/NETCDF/lib/libnetcdf.so: undefined reference to `pow@GLIBC_2.29' collect2: error: ld returned 1 exit status |
@whatheway. You don't need any other configuration I believe. The conda installation will install netcdf, ncl, gcc, c++, and fortran inside the conda environment. See below. Everything that rip needs is contained inside the conda environment.
You need to be in the conda environment to install and use rip. I'll say this again. The method I'm using depends on the conda environment. You will need to be in the conda environment to install rip. You need to be in the conda environment whenever you want to use rip. |
If wrf has hdf5 enabled will I need to install hdf5 via conda as well? Also netcdf needs to be installed via conda too correct? I think I got it working everything installs expect the data processing rip exe |
I understand that you want to use the same compiler and libraries for everything. It's recommended to do so after all. But when it comes to old software that's no longer updated, you have to sit back and uses separate compiler and libraries if you cannot use the current one. Usually older compiler and libraries. WRF (and WPS) will use its own compiler and libraries. Any other program that explicitly uses WRF's library, needs to use the same compiler and libraries. RIP and ncl does not have any dependencies on WRF. Therefore RIP and ncl does not need to use the same compiler and libraries as WRF.
I know the separate installation of WRF and rip works and rip can process the output of WRF. Because I have processed WRF output using rip before. WRF was compiled with latest (at that time last year) gfortran, netcdf-c, netcdf-fortran and other libraries. rip was compile using the conda environment method. |
In the configure file, line 349.
$FC ${FFLAGS} fort_netcdf.f -o fort_netcdf -L${NETCDF}/lib $NETCDFF -lnetcdf > /dev/null 2>&1
This is really outdated. To compile ncl 6.6.2 with netcdf support, its inevitable to compile hdf5 into netcdf-c, due to the need of logging in ncl 6.6.2. Therefore the libs needed to be linked can be determined from nc-config --libs. If netcdf-fortran is compiled as well, the libs needed to be linked should be referred to nf-config --flibs.
Users interested in compiling RIP with latest or newer libraries should modify configure.rip to match the libs linked.
The text was updated successfully, but these errors were encountered: