Closed wavefunction91 closed 11 months ago
thanks ... MADNESS
and BTAS
are easy since "we" control them, I'll make tracking issues + PRs. With Umpire we should make an issue (and potentially PR) also ...
P.S.
... but
BTAS
is a bit of a pain as it installs ablaspp_header
target tolib
that clashes withblaspp
'slib64
install path and breaks discovery.
does https://github.com/ValeevGroup/kit-cmake/commit/c299edfc41e58dce2edde904ab96fd187744e4e1 address this issue?
@evaleev, yes, that should fix it. Let me know if there's anything you need on my end to test the full-stack solution / if there's anywhere you'd like an extra pair of hands.
https://github.com/ValeevGroup/BTAS/pull/166 and https://github.com/m-a-d-n-e-s-s/madness/pull/507 should fix the install issues with BTAS and MADNESS, respectively ... let me know what we can do about Umpire
Looking at it, the hardcoded use of lib
in Umpire
is pretty pervasive (also through their dependencies) - they have a lot of inertia, so it might be a bit of a challenge to get them to change things. I'll open some issues to test the water.
However, I think these PRs will do the trick - the main issue was BTAS installing / checking different locations of the blaspp_headers
target when LIBDIR
was something unexpected (lib64
). I'll check that this fixes the install problem I was experiencing. Does #429 pin to these upstream changes?
However, I think these PRs will do the trick - the main issue was BTAS installing / checking different locations of the
blaspp_headers
target whenLIBDIR
was something unexpected (lib64
). I'll check that this fixes the install problem I was experiencing. Does #429 pin to these upstream changes?
yes, you can try #429 to see if this resolves the install issues (at least inherited via BTAS/MADNESS).
As was introduced in #404 and amended in #426, current CMake best practice is to use
GNUInstallDirs
over hardcoded paths inCMAKE_INSTALL_XYZ
. The issue is that not everyone does this uniformly, so care has to be taken when deciding where install paths actually get delegated to.On some architectures (have yet to figure out how this is decided by
cmake
),GNUInstallDirs
setsCMAKE_INSTALL_LIBDIR
tolib64
rather thanlib
. This is a problem as many of the hardcoded install paths for dependencies assumelib
. With my local (non-GPU) install, that list seems to contain:However, this issue is actualyl a bit deeper as not only to these dependencies not respect
GNUInstallDirs
(which could be argued to be unnecessicary) - they don't respectCMAKE_INSTALL_LIBDIR
, which is a much graver issue.From a top-level install, this can be resolved by hardwiring the install paths upon fetch. For example, I've been able to get (most) of MADNESS to install to a custom
LIBDIR
by adding the linesThe
pkgconfig
still gets installed tolib
, but I suspect that's fixable. I'd assume that. Umpire should be straight forward, butBTAS
is a bit of a pain as it installs ablaspp_header
target tolib
that clashes withblaspp
'slib64
install path and breaks discovery.The alternative is to require that
CMAKE_INSTALL_LIBDIR
islib
to maintain consistency - some people may not like that, but its a short term band-aid that seems to work