Skip to content

gnuscripts/lalsuite_build.m4: add -R<libdir> for non-standard library locations

Karl Wette requested to merge ANU-CGA/lalsuite:rpath into master

Description

Some platforms install libraries in non-standard locations (e.g. OzSTAR uses Lmod). This requires LD_LIBRARY_PATH to be set for LALSuite to work, which is then fragile to that path changing or being lost (e.g. if Lmod modules are loaded and unloaded).

This MR modifies the LALSuite build system so that, when an -L<libdir> flag is added to LDFLAGS for dependent libraries, an -R<libdir> flag is also added. -R is a Libtool flag which is translated into whatever linker flag is needed to set the RPATH, e.g. -Wl,-rpath.

Note that -R<libdir> is not set for standard system locations /usr and /opt, so should not affect the Debian/RPM packages. (Not sure about Conda given that it build/installs in different locations, but Conda already seems to modify shared library paths so hopefully should handle this.)

API Changes and Justification

Backwards Compatible Changes

  • This change does not modify any class/function/struct/type definitions in a public C header file or any Python class/function definitions
  • This change adds new classes/functions/structs/types to a public C header file or Python module

Backwards Incompatible Changes

  • This change modifies an existing class/function/struct/type definition in a public C header file or Python module
  • This change removes an existing class/function/struct/type from a public C header file or Python module

Review Status

N/A

Merge request reports