[Other] Use symbolic link pointed to TensorRT library (#1461)

* Add force rpath

* update to dev-6

* remove force-rpath

* remove nvinfer so

* Add symbol link creation when import fastdeploy first

* Add dst

* update symbol link creation

* Add logging

* logging -> logger

* update tips

* Set logging level

* Add --force-rpath
This commit is contained in:
Jack Zhou
2023-03-10 09:09:04 +08:00
committed by GitHub
parent a14480ae2b
commit f7ef464412
5 changed files with 36 additions and 10 deletions

View File

@@ -16,6 +16,32 @@ import logging
import os
import sys
# Create a symbol link to tensorrt library.
trt_directory = os.path.join(
os.path.dirname(os.path.abspath(__file__)),
"libs/third_libs/tensorrt/lib/")
if os.name != "nt" and os.path.exists(trt_directory):
logging.basicConfig(level=logging.INFO)
for trt_lib in [
"libnvcaffe_parser.so", "libnvinfer_plugin.so", "libnvinfer.so",
"libnvonnxparser.so", "libnvparsers.so"
]:
dst = os.path.join(trt_directory, trt_lib)
src = os.path.join(trt_directory, trt_lib + ".8")
if not os.path.exists(dst):
try:
os.symlink(src, dst)
logging.info(
f"Create a symbolic link pointing to {src} named {dst}.")
except OSError as e:
logging.warning(
f"Failed to create a symbolic link pointing to {src} by an unprivileged user. "
"It may failed when you use Paddle TensorRT backend. "
"Please use administator privilege to import fastdeploy at first time."
)
break
logging.basicConfig(level=logging.NOTSET)
# Note(zhoushunjie): Fix the import order of paddle and fastdeploy library.
# This solution will be removed it when the confilct of paddle and
# fastdeploy is fixed.

View File

@@ -183,12 +183,12 @@ def process_libraries(current_dir):
remain = False
filename = os.path.split(f)[-1]
# Note(zhoushunjie): To add the trt libs below will increase the size of whl package by 450M.
# if filename in [
# "libnvinfer_plugin.so",
# "libnvinfer.so", "libnvonnxparser.so",
# "libnvparsers.so", "libnvcaffe_parser.so"
# ]:
# continue
if filename in [
"libnvinfer_plugin.so",
"libnvinfer.so", "libnvonnxparser.so",
"libnvparsers.so", "libnvcaffe_parser.so"
]:
continue
for lib_prefix in ["libnvinfer_plugin.so.8.",
"libnvinfer.so.8.", "libnvonnxparser.so.8.",