summarylogtreecommitdiffstats
path: root/020-tensorrt-fix-python.patch
blob: 11d96006ec8f9d51eb0ffd0815883e3804610f07 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
--- a/python/CMakeLists.txt
+++ b/python/CMakeLists.txt
@@ -41,7 +41,7 @@ set(CMAKE_CXX_STANDARD ${CPP_STANDARD})
 
 if(NOT MSVC)
     # This allows us to use TRT libs shipped with standalone wheels.
-    set(CMAKE_SHARED_LINKER_FLAGS -Wl,-rpath=$ORIGIN:$ORIGIN/../${TENSORRT_MODULE}_libs)
+    #set(CMAKE_SHARED_LINKER_FLAGS -Wl,-rpath=$ORIGIN:$ORIGIN/../${TENSORRT_MODULE}_libs)
 endif()
 
 # -------- PATHS --------
@@ -99,8 +99,8 @@ if(MSVC)
 else()
     find_path(
         PY_INCLUDE Python.h
-        HINTS ${EXT_PATH}/${PYTHON} /usr/include/${PYTHON}
-        PATH_SUFFIXES include)
+        HINTS /usr/include
+        PATH_SUFFIXES ${PYTHON})
 endif()
 
 message(STATUS "PY_INCLUDE: ${PY_INCLUDE}")
@@ -124,7 +124,7 @@ message(STATUS "PY_CONFIG_INCLUDE: ${PY_CONFIG_INCLUDE}")
 
 include_directories(${TENSORRT_ROOT}/include ${PROJECT_SOURCE_DIR}/include ${CUDA_INCLUDE_DIRS}
                     ${PROJECT_SOURCE_DIR}/docstrings ${ONNX_INC_DIR} ${PYBIND11_DIR})
-link_directories(${TENSORRT_BUILD})
+link_directories(${TENSORRT_BUILD} $ENV{TRT_NONOSS_ROOT}/lib)
 
 if(MSVC)
     # Prevent pybind11 from sharing resources with other, potentially ABI incompatible modules
--- a/python/build.sh
+++ b/python/build.sh
@@ -35,15 +35,17 @@ cmake .. -DCMAKE_BUILD_TYPE=Release \
          -DEXT_PATH=${EXT_PATH} \
          -DCUDA_INCLUDE_DIRS=${CUDA_ROOT}/include \
          -DTENSORRT_ROOT=${ROOT_PATH} \
-         -DTENSORRT_MODULE=${TENSORRT_MODULE} \
-         -DTENSORRT_LIBPATH=${TRT_LIBPATH}
-make -j12
+         -DTENSORRT_MODULE=tensorrt \
+         -DTENSORRT_LIBPATH=${TRT_LIBPATH} \
+         -DCMAKE_SKIP_RPATH=YES \
+         -G 'Unix Makefiles'
+cmake --build .
 
 # Generate wheel
-TRT_MAJOR=$(awk '/^\#define NV_TENSORRT_MAJOR/ {print $3}' ${ROOT_PATH}/include/NvInferVersion.h)
-TRT_MINOR=$(awk '/^\#define NV_TENSORRT_MINOR/ {print $3}' ${ROOT_PATH}/include/NvInferVersion.h)
-TRT_PATCH=$(awk '/^\#define NV_TENSORRT_PATCH/ {print $3}' ${ROOT_PATH}/include/NvInferVersion.h)
-TRT_BUILD=$(awk '/^\#define NV_TENSORRT_BUILD/ {print $3}' ${ROOT_PATH}/include/NvInferVersion.h)
+TRT_MAJOR=$(awk '/^#define NV_TENSORRT_MAJOR/ {print $3}' ${ROOT_PATH}/include/NvInferVersion.h)
+TRT_MINOR=$(awk '/^#define NV_TENSORRT_MINOR/ {print $3}' ${ROOT_PATH}/include/NvInferVersion.h)
+TRT_PATCH=$(awk '/^#define NV_TENSORRT_PATCH/ {print $3}' ${ROOT_PATH}/include/NvInferVersion.h)
+TRT_BUILD=$(awk '/^#define NV_TENSORRT_BUILD/ {print $3}' ${ROOT_PATH}/include/NvInferVersion.h)
 TRT_VERSION=${TRT_MAJOR}.${TRT_MINOR}.${TRT_PATCH}.${TRT_BUILD}
 TRT_MAJMINPATCH=${TRT_MAJOR}.${TRT_MINOR}.${TRT_PATCH}
 
@@ -51,10 +53,10 @@ echo "Generating python ${PYTHON_MAJOR_VERSION}.${PYTHON_MINOR_VERSION} bindings
 
 expand_vars_cp () {
     test -f ${1} || (echo "ERROR: File: ${1} does not exist!" && exit 1); \
-    sed -e "s|\#\#TENSORRT_VERSION\#\#|${TRT_VERSION}|g" \
-        -e "s|\#\#TENSORRT_MAJMINPATCH\#\#|${TRT_MAJMINPATCH}|g" \
-        -e "s|\#\#TENSORRT_PYTHON_VERSION\#\#|${TRT_MAJMINPATCH}|g" \
-        -e "s|\#\#TENSORRT_MODULE\#\#|${TENSORRT_MODULE}|g" \
+    sed -e "s|##TENSORRT_VERSION##|${TRT_VERSION}|g" \
+        -e "s|##TENSORRT_MAJMINPATCH##|${TRT_MAJMINPATCH}|g" \
+        -e "s|##TENSORRT_PYTHON_VERSION##|${TRT_MAJMINPATCH}|g" \
+        -e "s|##TENSORRT_MODULE##|${TENSORRT_MODULE}|g" \
         ${1} > ${2}
 }
 
@@ -66,6 +68,6 @@ popd
 cp tensorrt/tensorrt.so bindings_wheel/tensorrt/tensorrt.so
 
 pushd ${WHEEL_OUTPUT_DIR}/bindings_wheel
-python3 setup.py -q bdist_wheel --python-tag=cp${PYTHON_MAJOR_VERSION}${PYTHON_MINOR_VERSION} --plat-name=linux_${TARGET}
+python -m build --wheel --no-isolation
 
 popd