NASA-LIS / LISF

Land Information System Framework
Apache License 2.0
117 stars 155 forks source link

Intel-based modulefile using OpenMPI for compiling LISF on discover SCU 17 #1488

Closed jvgeiger closed 7 months ago

jvgeiger commented 8 months ago

Description

This is the modulefile and associated changes for compiling LISF on discover SCU 17 using the Intel compilers with Intel MPI.

To use, copy env/discover/sles15/lisf_7.5_intel_2023.2.1_openmpi_5.0.0 into your ~/privatemodules directory and then run

module load lisf_7.5_intel_2023.2.1_openmpi_5.0.0
emkemp commented 8 months ago

I'm getting a link error with the new modulefile when I try compiling LDT.

ld: /discover/nobackup/projects/lis/libs/sles-15.4/gdal/3.7.2_gnu-12.3.0_intel-2023.2.1/lib//libgdal.so: undefined reference to `curl_multi_poll' make: *** [Makefile:54: LDT] Error 1

[ERR] Compile failed

This is with normal optimization. I am testing on discover35 (discover-mil).

emkemp commented 8 months ago

I'm getting the same link error with LVT.

ld: /discover/nobackup/projects/lis/libs/sles-15.4/gdal/3.7.2_gnu-12.3.0_intel-2023.2.1/lib//libgdal.so: undefined reference to `curl_multi_poll' make: *** [Makefile:54: LVT] Error 1

[ERR] Compile failed

jvgeiger commented 8 months ago

It works for me. :-)

I will look into those libraries.

Thanks.

jvgeiger commented 8 months ago

Perhaps I should have said

It works for me :-(

emkemp commented 8 months ago

FWIW, if I disable GeoTIFF in LDT and LVT at the configure script, the executables build w/o issue. So it's a bit of an edge case (but a serious one for USAFSI).

jvgeiger commented 8 months ago

@dmocko, do you get the same linking error as Eric?

dmocko commented 8 months ago

@jvgeiger I was going to try this after our other meeting which just ended. I will work on this now.

dmocko commented 8 months ago

Could this line be the problem? There's a typo in "stedrr".

https://github.com/jvgeiger/LISF/blob/f4ec302262394de5c3680c668cf1416dee6bf708/env/discover/sles15/lisf_7.5_intel_2023.2.1_openmpi_5.0.0#L63

dmocko commented 8 months ago

I didn't try to compile with that typo (I saw if before trying to compile). But after fixing it, and compiling, I did get an LDT executable. I did get these two warnings though:

ld: warning: libjpeg.so.8, needed by /usr/lib/../lib64/libtiff.so, may conflict with libjpeg.so.62
ld: warning: libjpeg.so.8, needed by /usr/lib/../lib64/libtiff.so, may conflict with libjpeg.so.62

This is my environment on discover-mil:

Screenshot 2024-02-06 at 3 33 41 PM

jvgeiger commented 8 months ago

Those two warnings are expected.

That typo should have affected only module help. But thanks for spotting it. I pushed a correction.

Which discover login are you on?

dmocko commented 8 months ago

discover35

Also just made a LIS executable (no warnings). Going to try LVT now.

dmocko commented 8 months ago

LVT executable was also created. Only one warning line:

ld: warning: libjpeg.so.8, needed by /usr/lib64/libtiff.so.5, may conflict with libjpeg.so.62

jvgeiger commented 8 months ago

Yes. That error is expect as well.

Eric was also on discover35. I am on discover32.

Eric would you try again from a fresh login? Perhaps there was something weird in your environment.

emkemp commented 8 months ago

Okay, I just tried the latest code. If I run my standard start-up script to load modules I still get the link error. However, if I just load the private module by itself, LDT links w/o issue.

I'm working to identify which additional module is causing a conflict.

emkemp commented 8 months ago

Okay, the offending module is ncl/6.6.2. Removing this from my module list fixes the LDT and LVT problem I observed.