summarylogtreecommitdiffstats
path: root/020-tensorrt-fix-python.patch
blob: 56b487427c77abfce8f5c9f48552da850b0de0d4 (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
--- a/python/CMakeLists.txt
+++ b/python/CMakeLists.txt
@@ -275,7 +275,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 --------
@@ -341,8 +341,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}
         REQUIRED
     )
 endif()
--- a/python/build.sh
+++ b/python/build.sh
@@ -37,14 +37,16 @@ cmake .. -DCMAKE_BUILD_TYPE=Release \
          -DTENSORRT_ROOT=${ROOT_PATH} \
          -DTENSORRT_MODULE=${TENSORRT_MODULE} \
          -DTENSORRT_LIBPATH=${TRT_LIBPATH} \
+         -DCMAKE_SKIP_RPATH=YES \
+         -G 'Unix Makefiles' \
          -DTRT_ONNXPARSER_NAME=nvonnxparser
-make -j12
+cmake --build .
 
 # Generate wheel
-TRT_MAJOR=$(awk '/^\#define TRT_MAJOR_ENTERPRISE/ {print $3}' ${ROOT_PATH}/include/NvInferVersion.h)
-TRT_MINOR=$(awk '/^\#define TRT_MINOR_ENTERPRISE/ {print $3}' ${ROOT_PATH}/include/NvInferVersion.h)
-TRT_PATCH=$(awk '/^\#define TRT_PATCH_ENTERPRISE/ {print $3}' ${ROOT_PATH}/include/NvInferVersion.h)
-TRT_BUILD=$(awk '/^\#define TRT_BUILD_ENTERPRISE/ {print $3}' ${ROOT_PATH}/include/NvInferVersion.h)
+TRT_MAJOR=$(awk '/^#define TRT_MAJOR_ENTERPRISE/ {print $3}' ${ROOT_PATH}/include/NvInferVersion.h)
+TRT_MINOR=$(awk '/^#define TRT_MINOR_ENTERPRISE/ {print $3}' ${ROOT_PATH}/include/NvInferVersion.h)
+TRT_PATCH=$(awk '/^#define TRT_PATCH_ENTERPRISE/ {print $3}' ${ROOT_PATH}/include/NvInferVersion.h)
+TRT_BUILD=$(awk '/^#define TRT_BUILD_ENTERPRISE/ {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}
 PLUGIN_DISABLED_STR="0"
@@ -53,10 +55,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" \
         -e "s|##TENSORRT_PLUGIN_DISABLED##|${PLUGIN_DISABLED_STR}|g" \
         ${1} > ${2}
 }
@@ -66,9 +68,10 @@ for dir in $(find . -type d); do mkdir -p ${WHEEL_OUTPUT_DIR}/$dir; done
 for file in $(find . -type f); do expand_vars_cp $file ${WHEEL_OUTPUT_DIR}/${file}; done
 popd
 
-cp tensorrt/tensorrt.so bindings_wheel/tensorrt/tensorrt.so
+cp ${TENSORRT_MODULE}/${TENSORRT_MODULE}.so bindings_wheel/tensorrt/${TENSORRT_MODULE}.so
+[ ${TENSORRT_MODULE} != 'tensorrt' ] && mv bindings_wheel/{tensorrt,${TENSORRT_MODULE}}
 
 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