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

Shared parallelio library is missing path information #551

Closed
climbfuji opened this issue Apr 20, 2023 · 0 comments · Fixed by JCSDA/spack#309
Closed

Shared parallelio library is missing path information #551

climbfuji opened this issue Apr 20, 2023 · 0 comments · Fixed by JCSDA/spack#309
Assignees
Labels
bug Something is not working INFRA JEDI Infrastructure

Comments

@climbfuji
Copy link
Collaborator

climbfuji commented Apr 20, 2023

Please describe the problem.
This is a parallelio build system problem, I think, but I'll log it here so that folks are aware. I checked 2.5.7 and 2.5.9 installed in spack-stack-1.1.0, 1.2.0, and 1.3.0:

> otool -L /Users/heinzell/prod/spack-stack-v1/envs/skylab-2.0.0/install/apple-clang/13.1.6/parallelio-2.5.7-j7hsgc6/lib/libpioc.dylib
/Users/heinzell/prod/spack-stack-v1/envs/skylab-2.0.0/install/apple-clang/13.1.6/parallelio-2.5.7-j7hsgc6/lib/libpioc.dylib:
	libpioc.dylib (compatibility version 0.0.0, current version 0.0.0)
	/Users/heinzell/prod/spack-stack-v1/envs/skylab-2.0.0/install/apple-clang/13.1.6/netcdf-c-4.8.1-vzayhsp/lib/libnetcdf.19.dylib (compatibility version 20.0.0, current version 20.1.0)
	/Users/heinzell/prod/spack-stack-v1/envs/skylab-2.0.0/install/apple-clang/13.1.6/parallel-netcdf-1.12.2-e5p4ijk/lib/libpnetcdf.4.dylib (compatibility version 5.0.0, current version 5.2.0)
	/Users/heinzell/prod/spack-stack-v1/envs/skylab-2.0.0/install/apple-clang/13.1.6/openmpi-4.1.4-hys7din/lib/libmpi.40.dylib (compatibility version 71.0.0, current version 71.4.0)
	/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1311.100.3)

The library doesn't identify its own path correctly. For comparison, hdf5 uses rpath:

> otool -L /Users/heinzell/work/spack-stack/spack-stack-1.3.1/envs/unified-env/install/apple-clang/13.1.6/hdf5-1.12.2-h75jr26/lib/libhdf5_hl.dylib
/Users/heinzell/work/spack-stack/spack-stack-1.3.1/envs/unified-env/install/apple-clang/13.1.6/hdf5-1.12.2-h75jr26/lib/libhdf5_hl.dylib:
	@rpath/libhdf5_hl.200.dylib (compatibility version 200.0.0, current version 200.1.0)
	@rpath/libhdf5.200.dylib (compatibility version 200.0.0, current version 200.2.0)
	/Users/heinzell/work/spack-stack/spack-stack-1.3.1/envs/unified-env/install/apple-clang/13.1.6/openmpi-4.1.4-2w5uhmt/lib/libmpi.40.dylib (compatibility version 71.0.0, current version 71.4.0)
	/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1311.100.3)

and netcdf-c uses an absolute path:

> otool -L /Users/heinzell/work/spack-stack/spack-stack-1.3.1/envs/unified-env/install/apple-clang/13.1.6/netcdf-c-4.9.2-dj7rkty/lib/libnetcdf.dylib
/Users/heinzell/work/spack-stack/spack-stack-1.3.1/envs/unified-env/install/apple-clang/13.1.6/netcdf-c-4.9.2-dj7rkty/lib/libnetcdf.dylib:
	/Users/heinzell/work/spack-stack/spack-stack-1.3.1/envs/unified-env/install/apple-clang/13.1.6/netcdf-c-4.9.2-dj7rkty/lib/libnetcdf.19.dylib (compatibility version 22.0.0, current version 22.2.0)
	@rpath/libhdf5_hl.200.dylib (compatibility version 200.0.0, current version 200.1.0)
	@rpath/libhdf5.200.dylib (compatibility version 200.0.0, current version 200.2.0)
	/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1311.0.0)
	@rpath/libz.1.dylib (compatibility version 1.0.0, current version 1.2.13)
	@rpath/libsz.2.dylib (compatibility version 2.0.0, current version 2.0.1)
	/usr/lib/libbz2.1.0.dylib (compatibility version 1.0.0, current version 1.0.8)
	@rpath/libzstd.1.dylib (compatibility version 1.0.0, current version 1.5.2)
	@rpath/libxml2.2.dylib (compatibility version 13.0.0, current version 13.3.0)
	/usr/local/opt/curl/lib/libcurl.4.dylib (compatibility version 13.0.0, current version 13.0.0)
	@rpath/libmpi.40.dylib (compatibility version 71.0.0, current version 71.4.0)

Additional context
This is a problem only when using the shared library, but it needs to be fixed. We could work around it in spack, but I think the proper fix needs to be in the parallelio build system.

ParallelIO github issue: NCAR/ParallelIO#1960

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something is not working INFRA JEDI Infrastructure
Projects
No open projects
Development

Successfully merging a pull request may close this issue.

4 participants