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
|