Fix FTBFS on ppc64le systems

Tested to compile and function normally under Debian Trixie ppc64le / POWER9

Signed-off-by: Timothy Pearson <tpearson@raptorcs.com>
This commit is contained in:
Timothy Pearson 2025-10-15 22:12:02 -05:00
parent 99bf50cd4e
commit 2c9928e4cb
4 changed files with 57 additions and 1 deletions

View file

@ -6,7 +6,7 @@ set -e
cd "$(dirname "$0")"
PV=28209
LIB_VERSION=${PV}+wfg3
LIB_VERSION=${PV}+wfg4
fetch()
{
@ -64,6 +64,9 @@ rm -Rf nvtt-${PV}
patch -d nvtt-${PV} -p1 <patches/0001-Don-t-overspecify-flags.patch
patch -d nvtt-${PV} -p1 <patches/0002-Bump-cmake-min-version-to-3.10.patch
patch -d nvtt-${PV} -p1 <patches/0003-Use-execute_process-insted-of-exec_program.patch
patch -d nvtt-${PV} -p1 <patches/0004-Properly-detect-ppc64le-systems.patch
patch -d nvtt-${PV} -p1 <patches/0005-Fix-compiler-flags-on-ppc64le-systems.patch
patch -d nvtt-${PV} -p1 <patches/0006-Fix-altivec-include-on-ppc64le-systems.patch
# build
(

View file

@ -0,0 +1,17 @@
--- a/src/cmake/DetermineProcessor.cmake
+++ a/src/cmake/DetermineProcessor.cmake
@@ -15,6 +15,14 @@
SET(NV_SYSTEM_PROCESSOR "powerpc")
ENDIF(NV_SYSTEM_PROCESSOR STREQUAL "Power Macintosh")
+ IF(NV_SYSTEM_PROCESSOR STREQUAL "ppc64le")
+ SET(NV_SYSTEM_PROCESSOR "ppc64")
+ ENDIF(NV_SYSTEM_PROCESSOR STREQUAL "ppc64le")
+
+ IF(NV_SYSTEM_PROCESSOR STREQUAL "ppc64el")
+ SET(NV_SYSTEM_PROCESSOR "ppc64")
+ ENDIF(NV_SYSTEM_PROCESSOR STREQUAL "ppc64el")
+
# processor may have double quote in the name, and that needs to be removed
STRING(REGEX REPLACE "\"" "" NV_SYSTEM_PROCESSOR "${NV_SYSTEM_PROCESSOR}")
STRING(REGEX REPLACE "/" "_" NV_SYSTEM_PROCESSOR "${NV_SYSTEM_PROCESSOR}")

View file

@ -0,0 +1,14 @@
--- a/src/cmake/OptimalOptions.cmake
+++ b/src/cmake/OptimalOptions.cmake
@@ -31,6 +31,11 @@
ENDIF(NV_SYSTEM_PROCESSOR STREQUAL "powerpc")
+ IF(NV_SYSTEM_PROCESSOR STREQUAL "ppc64")
+ SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mcpu=power8 -maltivec -mabi=altivec -mpowerpc64 -mvsx")
+ ENDIF(NV_SYSTEM_PROCESSOR STREQUAL "ppc64")
+
+
# IF(DARWIN)
# SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mmacosx-version-min=10.5 -isysroot /Developer/SDKs/MacOSX10.5.sdk")
# SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mmacosx-version-min=10.5 -isysroot /Developer/SDKs/MacOSX10.5.sdk")

View file

@ -0,0 +1,22 @@
--- a/src/src/nvtt/squish/simd_ve.h
+++ b/src/src/nvtt/squish/simd_ve.h
@@ -27,7 +27,7 @@
#ifndef SQUISH_SIMD_VE_H
#define SQUISH_SIMD_VE_H
-#ifndef __APPLE_ALTIVEC__
+#if !defined(__APPLE_ALTIVEC__) || defined(__powerpc64__)
#include <altivec.h>
#undef bool
#endif
--- a/src/src/nvmath/SimdVector_VE.h
+++ b/src/src/nvmath/SimdVector_VE.h
@@ -27,7 +27,7 @@
#ifndef NV_SIMD_VECTOR_VE_H
#define NV_SIMD_VECTOR_VE_H
-#ifndef __APPLE_ALTIVEC__
+#if !defined(__APPLE_ALTIVEC__) || defined(__powerpc64__)
#include <altivec.h>
#undef bool
#endif