hip: fix naming of libraries when installing from tarballs (#20780)
There's two issues with hip where it tries to autodetect the patch version number from git (when installed), but it does not check if it even is inside of a git repo. The result is we end up with a shared lib with a trailing dash in the library suffix: `libamd64.so.x.y.z-`, which confuses GCC. The patch tries to check if the `.git` folder exists, and if it does not, it handles version numbering the same as when git was not installed previously.
This commit is contained in:
parent
60a58d89e7
commit
a2a0262f79
2 changed files with 59 additions and 0 deletions
|
@ -0,0 +1,56 @@
|
||||||
|
From 3a05d9ee5af2d318d27ee4b8e81542e2c81b9d5a Mon Sep 17 00:00:00 2001
|
||||||
|
From: Harmen Stoppels <harmenstoppels@gmail.com>
|
||||||
|
Date: Mon, 11 Jan 2021 16:38:14 +0100
|
||||||
|
Subject: [PATCH] Improve compilation without git repo
|
||||||
|
|
||||||
|
---
|
||||||
|
CMakeLists.txt | 17 +++++++++--------
|
||||||
|
1 file changed, 9 insertions(+), 8 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||||
|
index 7831bb4d..c0c7a536 100755
|
||||||
|
--- a/CMakeLists.txt
|
||||||
|
+++ b/CMakeLists.txt
|
||||||
|
@@ -42,9 +42,17 @@ string(REPLACE "." ";" VERSION_LIST ${HIP_BASE_VERSION})
|
||||||
|
list(GET VERSION_LIST 0 HIP_VERSION_MAJOR)
|
||||||
|
list(GET VERSION_LIST 1 HIP_VERSION_MINOR)
|
||||||
|
|
||||||
|
-find_package(Git)
|
||||||
|
+# only look for git when we have a git repo
|
||||||
|
+if (IS_DIRECTORY "${PROJECT_SOURCE_DIR}/.git")
|
||||||
|
+ find_package(Git)
|
||||||
|
+endif()
|
||||||
|
|
||||||
|
# FIXME: Two different version strings used.
|
||||||
|
+
|
||||||
|
+set(HIP_PACKAGING_VERSION_PATCH "0")
|
||||||
|
+set(HIP_VERSION_GITDATE "0")
|
||||||
|
+set(HIP_VERSION_PATCH "0")
|
||||||
|
+
|
||||||
|
if(GIT_FOUND)
|
||||||
|
# get date information based on UTC
|
||||||
|
# use the last two digits of year + week number + day in the week as HIP_VERSION_GITDATE
|
||||||
|
@@ -88,9 +96,6 @@ if(GIT_FOUND)
|
||||||
|
else()
|
||||||
|
set(HIP_PACKAGING_VERSION_PATCH ${HIP_VERSION_GITDATE}.${HIP_VERSION_GITCOUNT}-${HIP_VERSION_GITHASH})
|
||||||
|
endif()
|
||||||
|
-else()
|
||||||
|
- # FIXME: Some parts depend on this being set.
|
||||||
|
- set(HIP_PACKAGING_VERSION_PATCH "0")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
## Debian package specific variables
|
||||||
|
@@ -488,10 +493,6 @@ endif()
|
||||||
|
# Generate .hipVersion
|
||||||
|
file(WRITE "${PROJECT_BINARY_DIR}/.hipVersion" ${_versionInfo})
|
||||||
|
|
||||||
|
-if(NOT DEFINED HIP_VERSION_GITDATE)
|
||||||
|
- set(HIP_VERSION_GITDATE 0)
|
||||||
|
-endif()
|
||||||
|
-
|
||||||
|
# Build doxygen documentation
|
||||||
|
find_program(DOXYGEN_EXE doxygen)
|
||||||
|
if(DOXYGEN_EXE)
|
||||||
|
--
|
||||||
|
2.25.1
|
||||||
|
|
|
@ -51,6 +51,9 @@ class Hip(CMakePackage):
|
||||||
# See https://github.com/ROCm-Developer-Tools/HIP/pull/2141
|
# See https://github.com/ROCm-Developer-Tools/HIP/pull/2141
|
||||||
patch('0002-Fix-detection-of-HIP_CLANG_ROOT.patch', when='@:3.9.0')
|
patch('0002-Fix-detection-of-HIP_CLANG_ROOT.patch', when='@:3.9.0')
|
||||||
|
|
||||||
|
# See https://github.com/ROCm-Developer-Tools/HIP/pull/2218
|
||||||
|
patch('0003-Improve-compilation-without-git-repo.patch', when='@4.0.0:')
|
||||||
|
|
||||||
def get_rocm_prefix_info(self):
|
def get_rocm_prefix_info(self):
|
||||||
# External packages in Spack do not currently contain dependency
|
# External packages in Spack do not currently contain dependency
|
||||||
# information. External installations of hip therefore must compute
|
# information. External installations of hip therefore must compute
|
||||||
|
|
Loading…
Reference in a new issue