LLNL / UnifyFS

UnifyFS: A file system for burst buffers
Other
99 stars 31 forks source link

Inconsistent use of OPENSSL_CFLAGS & OPENSSL_LIBS in the build system #792

Closed rgmiller closed 10 months ago

rgmiller commented 1 year ago

System information

Type Version/Name
Operating System Linux
OS Version Ubuntu 22.04
Architecture x86_64
UnifyFS Version git dev branch

Describe the problem you're observing

We are not consistent in our use of the OPENSSL_CFLAGS and OPENSSL_LIBS in our build system. Specifically, the configure script will set these variables in all the Makefiles, but only the Makefile for unifyfs-stage will actually use these variables. The practical upshot is that unifyfs-stage may end up being linked against a different version of libcrypto.

It's also noteworthy that if you're trying to use a non-default version of libcrypto (such as a version built by spack), unifyfs-stage will be the only part of UnifyFS that uses the requested version.

This is tangentially related to issue #723 and PR #791. Also note that these variable names might change as part of PR #791.

Describe how to reproduce the problem

To really see this, you probably want 2 versions of OpenSSL installed. (Having a spack-built version and a system-provided version is probably the easiest way to arrange this.) Then, after building UnifyFS, run ldd on unifyfs and unifyfs-stage. You should see that they link against two different versions of libcrypto.

Include any warning or errors or releveant debugging data

CamStan commented 12 months ago

Adding OpenSSL package for reference: https://github.com/spack/spack/blob/develop/var/spack/repos/builtin/packages/openssl/package.py