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 #1960

Closed
climbfuji opened this issue Apr 20, 2023 · 3 comments
Closed

Shared parallelio library is missing path information #1960

climbfuji opened this issue Apr 20, 2023 · 3 comments
Assignees

Comments

@climbfuji
Copy link
Contributor

Please describe the problem.
This is a parallelio build system problem, I think, but I'll see it in our spack installations so it's possible that it's a problem there. 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.

I also created an issue in spack-stack for this: JCSDA/spack-stack#551

@climbfuji
Copy link
Contributor Author

@jedwards4b @edhartnett Did you see this bug report?

@jedwards4b
Copy link
Contributor

@climbfuji - just back from vacation, will look into this soon.

@climbfuji
Copy link
Contributor Author

Thanks @jedwards4b !

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants