Package Details: python-tensorrt 8.2.5.1-1

Git Clone URL: https://aur.archlinux.org/tensorrt.git (read-only, click to copy)
Package Base: tensorrt
Description: A platform for high-performance deep learning inference on NVIDIA hardware
Upstream URL: https://developer.nvidia.com/tensorrt/
Keywords: ai artificial intelligence nvidia
Licenses: custom, Apache
Submitter: dbermond
Maintainer: dbermond
Last Packager: dbermond
Votes: 8
Popularity: 1.68
First Submitted: 2018-07-29 16:17 (UTC)
Last Updated: 2022-05-14 13:43 (UTC)

Required by (0)

Sources (11)

Pinned Comments

dbermond commented on 2020-07-25 19:37 (UTC)

In order to build the package, you need to manually download the TensorRT file from NVIDIA's website (registration required). Place the downloaded file in the PKGBUILD directory and run makepkg. Download website: https://developer.nvidia.com/tensorrt/

Latest Comments

FuzzyAtish commented on 2022-05-15 16:40 (UTC)

@dbermond Thank you for the prompt response and resolution! Once I reinstalled that package, this one was successfully built

dbermond commented on 2022-05-15 12:05 (UTC)

@FuzzyAtish You need to rebuild python-onnx against protobuf 3.20.x, as protobuf got a soname bump. Remember that you must carefully take care of all the needed AUR rebuilds, otherwise your AUR packages becomes broken as you could see.

FuzzyAtish commented on 2022-05-15 07:52 (UTC) (edited on 2022-05-15 07:58 (UTC) by FuzzyAtish)

Hello, I'm receiving the following error when running makepkg -si

[100%] Linking CXX shared library tensorrt/tensorrt.so
[100%] Built target tensorrt
awk: cmd. line:1: warning: regexp escape sequence `\#' is not a known regexp operator
awk: cmd. line:1: warning: regexp escape sequence `\#' is not a known regexp operator
awk: cmd. line:1: warning: regexp escape sequence `\#' is not a known regexp operator
awk: cmd. line:1: warning: regexp escape sequence `\#' is not a known regexp operator
Generating python 3.10 bindings for TensorRT 8.2.5.1
~/build/tensorrt/src/TensorRT/python/packaging ~/build/tensorrt/src/TensorRT/python/build ~/build/tensorrt/src/TensorRT/python
~/build/tensorrt/src/TensorRT/python/build ~/build/tensorrt/src/TensorRT/python
/usr/lib/python3.10/site-packages/setuptools/command/install.py:34: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools.
  warnings.warn(
~/build/tensorrt/src/TensorRT/python
* Getting dependencies for wheel...
Traceback (most recent call last):
  File "/usr/lib/python3.10/site-packages/pep517/in_process/_in_process.py", line 363, in <module>
    main()
  File "/usr/lib/python3.10/site-packages/pep517/in_process/_in_process.py", line 345, in main
    json_out['return_val'] = hook(**hook_input['kwargs'])
  File "/usr/lib/python3.10/site-packages/pep517/in_process/_in_process.py", line 130, in get_requires_for_build_wheel
    return hook(config_settings)
  File "/usr/lib/python3.10/site-packages/setuptools/build_meta.py", line 162, in get_requires_for_build_wheel
    return self._get_build_requires(
  File "/usr/lib/python3.10/site-packages/setuptools/build_meta.py", line 143, in _get_build_requires
    self.run_setup()
  File "/usr/lib/python3.10/site-packages/setuptools/build_meta.py", line 267, in run_setup
    super(_BuildMetaLegacyBackend,
  File "/usr/lib/python3.10/site-packages/setuptools/build_meta.py", line 158, in run_setup
    exec(compile(code, __file__, 'exec'), locals())
  File "setup.py", line 19, in <module>
    import onnx_graphsurgeon
  File "/home/user/build/tensorrt/src/TensorRT/tools/onnx-graphsurgeon/onnx_graphsurgeon/__init__.py", line 1, in <module>
    from onnx_graphsurgeon.exporters.onnx_exporter import export_onnx
  File "/home/user/build/tensorrt/src/TensorRT/tools/onnx-graphsurgeon/onnx_graphsurgeon/exporters/onnx_exporter.py", line 19, in <module>
    import onnx
  File "/usr/lib/python3.10/site-packages/onnx/__init__.py", line 10, in <module>
    from .onnx_cpp2py_export import ONNX_ML
ImportError: libprotobuf.so.30: cannot open shared object file: No such file or directory

ERROR Backend subproccess exited when trying to invoke get_requires_for_build_wheel
==> ERROR: A failure occurred in build().
    Aborting...
warning: could not open directory 'pkg/': Permission denied

When inspecting the current directory, I see that pkg has only 111 rights

$ exa -lh                                                                                                                                                                                                                          0 (0.006s)
Permissions Size User Date Modified Name
.rw-r--r--   532 user 15 May 09:10  010-tensorrt-use-local-protobuf-sources.patch
.rw-r--r--  2.2k user 15 May 09:10  020-tensorrt-fix-python.patch
drwxr-xr-x     - user 15 May 10:10  benchmark
drwxr-xr-x     - user 15 May 10:10  cub-nvlabs
drwxr-xr-x     - user 15 May 10:10  onnx
drwxr-xr-x     - user 15 May 10:10  onnx-tensorrt
d--x--x--x     - user 15 May 10:38  pkg
.rw-r--r--  8.8k user 15 May 09:10  PKGBUILD
.rw-r--r--  4.7M user 15 May 09:32  protobuf-cpp-3.17.3.tar.gz
drwxr-xr-x     - user 15 May 10:10  protobuf-protocolbuffers
drwxr-xr-x     - user 15 May 10:10  pybind11
drwxr-xr-x     - user 15 May 10:38  src
drwxr-xr-x     - user 15 May 10:10  TensorRT
.rw-r--r--  1.2G user 15 May 09:28  TensorRT-8.2.5.1.Linux.x86_64-gnu.cuda-11.4.cudnn8.2.tar.gz
warning: could not open directory 'pkg/': Permission denied

Did anyone else come across this by any chance?

dbermond commented on 2022-02-04 21:16 (UTC)

@Draghi Package updated. Thanks for the notice and for appreciating the package.

Draghi commented on 2022-01-18 15:49 (UTC)

trtexec does not work anymore because of a missing library: [E] [TRT] 6: [libLoader.h::DynamicLibrary::49] Error Code 6: Internal Error (Unable to load library: libnvinfer_builder_resource.so.8.2.1)

Please add it to PKGBUILD at package_tensorrt(): cp -dr --no-preserve='ownership' "TensorRT-${pkgver}/lib"/libnvinfer_builder_resource.so* "${pkgdir}/usr/lib"

Thanks for maintaining this package!

acxz commented on 2021-03-22 13:44 (UTC)

@nxxxx Take a look at the following issue: https://github.com/NVIDIA/TensorRT/issues/1064

tldr: if you want to manually install nvrtc for cuda 11.1 it works with cuda 11.2, but otherwise you need the nvrtc version provided in cuda 11.1, which means you need 11.1 for tensorrt as of now.

Homalozoa commented on 2021-03-19 07:35 (UTC)

tensorrt 7.2.3 is capable for cuda 11.2, could you remove the version constraint of cuda? thanks.

dbermond commented on 2021-02-11 15:17 (UTC)

@ilpanich As you could see, it does not build against cuda 11.2. The closed source components (downloaded from the nvidia website) strictly links to cuda 11.1 libraries and this cannot be changed, since the files are pre-compiled. So, the current source file for tensorrt 7.2.2.3 is not for cuda 11.2, but for 11.1 only. There is nothing to be fixed here, as the package is building fine. It just requires cuda11.1 from the AUR.

ilpanich commented on 2021-02-11 08:51 (UTC) (edited on 2021-02-11 08:52 (UTC) by ilpanich)

Despite NVIDIA says that the tarball is valid both for CUDA 11.1 & 11.2 ("TensorRT 7.2.2 for Linux and CUDA 11.1 & 11.2"), it seems not to build correctly with the latter. Will it be fixed?

collect2: error: ld returned 1 exit status make[2]: [parsers/onnx/CMakeFiles/getSupportedAPITest.dir/build.make:125: parsers/onnx/getSupportedAPITest] Error 1 make[1]: [CMakeFiles/Makefile2:1194: parsers/onnx/CMakeFiles/getSupportedAPITest.dir/all] Error 2

dbermond commented on 2020-10-06 18:14 (UTC)

@gsiolas cuda 11.1 broke this package. The nvidia pre-compiled binary files depends on libraries from cuda 11.0. Reverting to use only the pre-compiled files without without building the open source components (as it was made before) will not work because there would still be pre-compiled binary files linking to cuda 11.0 libraries. Workaround is to usa cuda 11.0 if you are willing to, or wait for nvidia to release a tensorrt version that supports cuda 11.1.

gsiolas commented on 2020-10-06 17:03 (UTC)

Hi, I am getting the following error:

/usr/bin/ld: /home/giorgos/Projects/tensorrt/src/TensorRT-7.2.0.14/lib/libnvinfer_plugin.so: undefined reference to `nvrtcAddNameExpression@libnvrtc.so.11.0' collect2: error: ld returned 1 exit status

any idea? thx

laudney commented on 2020-07-29 20:15 (UTC)

The package builds perfectly. It was completely amateurish mistake on my part. I had anaconda env activated which messed up all the PATHs. Thank you.

dbermond commented on 2020-07-29 18:47 (UTC)

@laudney I cannot see any reasons that may be causing your build failure. The package is building fine here, either by a normal makepkg command and also by building in a clean chroot with devtools. So everything is fine.

But by hearing you say that it cannot find libraries at the standard /usr/lib path (libcudnn.so) and that it cannot find headers at the standard /usr/include path, it looks like that something is really wrong with your system. These paths are standard ones for building on Arch Linux and do not need any additional configuration.

laudney commented on 2020-07-29 09:39 (UTC)

It also can't find cudnn.h out of the box, which exists under /usr/include

laudney commented on 2020-07-29 09:12 (UTC)

@dbermond, Archlinux, makepkg -i

below libraries are not found in the linking stage:

libcublas.so.11 libcudnn.so.8 libnvrtc.so.11.0

all of these are verified to have been installed on my system

Thanks

dbermond commented on 2020-07-28 23:36 (UTC)

@laudney Package is building fine. What's your operating system and what's the command that you're using to build?

laudney commented on 2020-07-28 21:24 (UTC)

When building, it fails to find headers for cudnn under /usr/include and cuBLAS libraries under /opt/cuda/lib64

dbermond commented on 2020-07-25 19:37 (UTC)

In order to build the package, you need to manually download the TensorRT file from NVIDIA's website (registration required). Place the downloaded file in the PKGBUILD directory and run makepkg. Download website: https://developer.nvidia.com/tensorrt/

dbermond commented on 2020-03-12 16:12 (UTC)

@sl1pkn07 This approach should not be used on PKGBUILDs. It's not makepkg task to to create symbolic links of missing source files.

It's user responsibility to correctly place the sources files in $startdir or in $SRCDEST.

sl1pkn07 commented on 2020-03-11 00:05 (UTC)

Hi

you can use this tip in this package?

https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=stm32cubeide#n19

this allow use the common XDG download path for add in the search scope and not need to move/copy the file (tensorrt is a little huge) across directories

greetings

dbermond commented on 2018-08-14 16:04 (UTC)

@bloomypiggy Yes, it is broken with python 3.7. Please use python2 instead.

homerhsing commented on 2018-08-14 03:14 (UTC) (edited on 2018-08-14 03:15 (UTC) by homerhsing)

not work with latest archlinux :(

>>> import tensorrt
Traceback (most recent call last):
  File "/usr/lib/python3.7/tensorrt/__init__.py", line 71, in <module>
    from tensorrt import infer, parsers, utils, lite, plugins
  File "/usr/lib/python3.7/tensorrt/infer/__init__.py", line 50, in <module>
    from ._infer_enums import *
  File "/usr/lib/python3.7/tensorrt/infer/_infer_enums.py", line 54, in <module>
    from tensorrt.infer import _nv_infer_bindings as nvinfer
ImportError: cannot import name '_nv_infer_bindings' from 'tensorrt.infer' (/usr/lib/python3.7/tensorrt/infer/__init__.py)