Skip to content
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

Bug fix in parallel-netcdf to avoid linking to libirc.so AND cherry-pick spack develop PR 48251 (conflict Intel Classic with scipy@1.14) #495

Conversation

climbfuji
Copy link
Collaborator

@climbfuji climbfuji commented Dec 24, 2024

Description

Bug fix in parallel-netcdf: avoid linking to legacy and incomplete libirc.so due to parallel-netcdf's bad configure script - see JCSDA/spack-stack#1436 for details.

Testing

  1. Built unified environment manually on Ubuntu CI runner and verified that libirc.so is not linked in libpnetcdf.so or any library that links against pnetcdf.so (PIO, ESMF). Example:
$ ldd /work/noaa/gmtb/dheinzel/spst-libirc/envs/ue-intel-2021.9.0/install/intel/2021.9.0/parallel-netcdf-1.12.3-5fkm2ji/bin/ncmpidump
        linux-vdso.so.1 (0x00007ffdf0ffd000)
        libpnetcdf.so.4 => /work/noaa/gmtb/dheinzel/spst-libirc/envs/ue-intel-2021.9.0/install/intel/2021.9.0/parallel-netcdf-1.12.3-5fkm2ji/lib/libpnetcdf.so.4 (0x00007f9742dea000)
        libifport.so.5 => /apps/spack-managed/gcc-11.3.1/intel-oneapi-compilers-2023.1.0-sb753366rvywq75zeg4ml5k5c72xgj72/compiler/2023.1.0/linux/compiler/lib/intel64_lin/libifport.so.5 (0x00007f9742dbb000)
        libmpifort.so.12 => /apps/spack-managed/oneapi-2023.1.0/intel-oneapi-mpi-2021.9.0-a66eaipzsnyrdgaqzxmqmqz64qzvhkse/mpi/2021.9.0/lib/libmpifort.so.12 (0x00007f9742a07000)
        libmpi.so.12 => /apps/spack-managed/oneapi-2023.1.0/intel-oneapi-mpi-2021.9.0-a66eaipzsnyrdgaqzxmqmqz64qzvhkse/mpi/2021.9.0/lib/release/libmpi.so.12 (0x00007f97410bc000)
        libm.so.6 => /usr/lib64/libm.so.6 (0x00007f9740fe1000)
        libgcc_s.so.1 => /usr/lib64/libgcc_s.so.1 (0x00007f9740fc4000)
        libc.so.6 => /usr/lib64/libc.so.6 (0x00007f9740dbb000)
        libmpicxx.so.12 => /apps/spack-managed/oneapi-2023.1.0/intel-oneapi-mpi-2021.9.0-a66eaipzsnyrdgaqzxmqmqz64qzvhkse/mpi/2021.9.0/lib/libmpicxx.so.12 (0x00007f9740b9b000)
        libimf.so => /apps/spack-managed/gcc-11.3.1/intel-oneapi-compilers-2023.1.0-sb753366rvywq75zeg4ml5k5c72xgj72/compiler/2023.1.0/linux/compiler/lib/intel64_lin/libimf.so (0x00007f97407a4000)
        libirng.so => /apps/spack-managed/gcc-11.3.1/intel-oneapi-compilers-2023.1.0-sb753366rvywq75zeg4ml5k5c72xgj72/compiler/2023.1.0/linux/compiler/lib/intel64_lin/libirng.so (0x00007f9740489000)
        libcilkrts.so.5 => /apps/spack-managed/gcc-11.3.1/intel-oneapi-compilers-2023.1.0-sb753366rvywq75zeg4ml5k5c72xgj72/compiler/2023.1.0/linux/compiler/lib/intel64_lin/libcilkrts.so.5 (0x00007f9740248000)
        libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x00007f9740021000)
        libintlc.so.5 => /apps/spack-managed/gcc-11.3.1/intel-oneapi-compilers-2023.1.0-sb753366rvywq75zeg4ml5k5c72xgj72/compiler/2023.1.0/linux/compiler/lib/intel64_lin/libintlc.so.5 (0x00007f973ffa5000)
        libsvml.so => /apps/spack-managed/gcc-11.3.1/intel-oneapi-compilers-2023.1.0-sb753366rvywq75zeg4ml5k5c72xgj72/compiler/2023.1.0/linux/compiler/lib/intel64_lin/libsvml.so (0x00007f973e8d1000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f9743724000)
        librt.so.1 => /usr/lib64/librt.so.1 (0x00007f973e8ca000)
        libdl.so.2 => /usr/lib64/libdl.so.2 (0x00007f973e8c5000)
        libpthread.so.0 => /usr/lib64/libpthread.so.0 (0x00007f973e8c0000)
orion-login-4[49] dheinzel$ ldd /work/noaa/gmtb/dheinzel/spst-libirc/envs/ue-intel-2021.9.0/install/intel/2021.9.0/parallel-netcdf-1.12.3-5fkm2ji/lib/libpnetcdf.so
        linux-vdso.so.1 (0x00007fff8d9f3000)
        libifport.so.5 => /apps/spack-managed/gcc-11.3.1/intel-oneapi-compilers-2023.1.0-sb753366rvywq75zeg4ml5k5c72xgj72/compiler/2023.1.0/linux/compiler/lib/intel64_lin/libifport.so.5 (0x00007fad2b37a000)
        libmpicxx.so.12 => /apps/spack-managed/oneapi-2023.1.0/intel-oneapi-mpi-2021.9.0-a66eaipzsnyrdgaqzxmqmqz64qzvhkse/mpi/2021.9.0/lib/libmpicxx.so.12 (0x00007fad2b15a000)
        libmpifort.so.12 => /apps/spack-managed/oneapi-2023.1.0/intel-oneapi-mpi-2021.9.0-a66eaipzsnyrdgaqzxmqmqz64qzvhkse/mpi/2021.9.0/lib/libmpifort.so.12 (0x00007fad2ada6000)
        libmpi.so.12 => /apps/spack-managed/oneapi-2023.1.0/intel-oneapi-mpi-2021.9.0-a66eaipzsnyrdgaqzxmqmqz64qzvhkse/mpi/2021.9.0/lib/release/libmpi.so.12 (0x00007fad2945b000)
        libimf.so => /apps/spack-managed/gcc-11.3.1/intel-oneapi-compilers-2023.1.0-sb753366rvywq75zeg4ml5k5c72xgj72/compiler/2023.1.0/linux/compiler/lib/intel64_lin/libimf.so (0x00007fad29064000)
        libirng.so => /apps/spack-managed/gcc-11.3.1/intel-oneapi-compilers-2023.1.0-sb753366rvywq75zeg4ml5k5c72xgj72/compiler/2023.1.0/linux/compiler/lib/intel64_lin/libirng.so (0x00007fad28d49000)
        libm.so.6 => /usr/lib64/libm.so.6 (0x00007fad28c6e000)
        libcilkrts.so.5 => /apps/spack-managed/gcc-11.3.1/intel-oneapi-compilers-2023.1.0-sb753366rvywq75zeg4ml5k5c72xgj72/compiler/2023.1.0/linux/compiler/lib/intel64_lin/libcilkrts.so.5 (0x00007fad28a2d000)
        libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x00007fad28806000)
        libintlc.so.5 => /apps/spack-managed/gcc-11.3.1/intel-oneapi-compilers-2023.1.0-sb753366rvywq75zeg4ml5k5c72xgj72/compiler/2023.1.0/linux/compiler/lib/intel64_lin/libintlc.so.5 (0x00007fad2878a000)
        libsvml.so => /apps/spack-managed/gcc-11.3.1/intel-oneapi-compilers-2023.1.0-sb753366rvywq75zeg4ml5k5c72xgj72/compiler/2023.1.0/linux/compiler/lib/intel64_lin/libsvml.so (0x00007fad270b4000)
        libgcc_s.so.1 => /usr/lib64/libgcc_s.so.1 (0x00007fad27099000)
        libc.so.6 => /usr/lib64/libc.so.6 (0x00007fad26e90000)
        /lib64/ld-linux-x86-64.so.2 (0x00007fad2bce3000)
        librt.so.1 => /usr/lib64/librt.so.1 (0x00007fad26e8b000)
        libdl.so.2 => /usr/lib64/libdl.so.2 (0x00007fad26e86000)
        libpthread.so.0 => /usr/lib64/libpthread.so.0 (0x00007fad26e7f000)
  1. Ran ncmpidump (from parallel-netcdf) on netCDF files on Orion (srun -n 2 ncmpidump ...).
  2. See Avoid linking to libirc.so in spack (parallel-netcdf), turn off crypt variant for Python, and update Orion site config to fix tar issue spack-stack#1435

@climbfuji climbfuji marked this pull request as ready for review January 28, 2025 13:59
@climbfuji climbfuji self-assigned this Jan 28, 2025
Copy link
Collaborator

@srherbener srherbener left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for this update!

@climbfuji climbfuji merged commit 5ca934f into JCSDA:spack-stack-dev Jan 28, 2025
15 checks passed
@climbfuji climbfuji deleted the feature/libirc_parallel_netcdf_and_scipy branch January 28, 2025 20:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Development

Successfully merging this pull request may close these issues.

None yet

3 participants