Open madratman opened 3 years ago
Hi @madratman, perhaps you need to skip the opencv keys in the rosdep call like I do in the foxy/galactic Dockerfiles:
Thanks for the quick reply! Actually, I think the above issue was inconsequential. I am rerunning things again inside the docker container interactively.
The issue was a specific version of boost_python needed by cv_bridge
==> Processing catkin package: 'cv_bridge'
==> Creating build directory: 'build_isolated/cv_bridge'
==> Building with env: '/opt/ros/noetic/share/ros/env.sh'
==> cmake /workspace/ros_catkin_ws/src/vision_opencv/cv_bridge -DCATKIN_DEVEL_PREFIX=/workspace/ros_catkin_ws/devel_isolated/cv_bridge -DCMAKE_INSTALL_PREFIX=/opt/ros/noetic/share/ros -DCMAKE_BUILD_TYPE=Release -G Unix Makefiles in '/workspace/ros_catkin_ws/build_isolated/cv_bridge'
-- The C compiler identification is GNU 7.5.0
-- The CXX compiler identification is GNU 7.5.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Using CATKIN_DEVEL_PREFIX: /workspace/ros_catkin_ws/devel_isolated/cv_bridge
-- Using CMAKE_PREFIX_PATH: /opt/ros/noetic/share/ros;/opt/ros/noetic
-- This workspace overlays: /opt/ros/noetic/share/ros;/opt/ros/noetic
-- Found PythonInterp: /usr/bin/python3 (found suitable version "3.6.9", minimum required is "3")
-- Using PYTHON_EXECUTABLE: /usr/bin/python3
-- Using Debian Python package layout
-- Found PY_em: /usr/lib/python3/dist-packages/em.py
-- Using empy: /usr/lib/python3/dist-packages/em.py
-- Using CATKIN_ENABLE_TESTING: ON
-- Call enable_testing()
-- Using CATKIN_TEST_RESULTS_DIR: /workspace/ros_catkin_ws/build_isolated/cv_bridge/test_results
-- Found gtest sources under '/usr/src/googletest': gtests will be built
-- Found gmock sources under '/usr/src/googletest': gmock will be built
-- Found PythonInterp: /usr/bin/python3 (found version "3.6.9")
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - not found
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE
-- Using Python nosetests: /usr/bin/nosetests3
-- catkin 0.8.10
-- BUILD_SHARED_LIBS is on
-- Found PythonLibs: /usr/lib/aarch64-linux-gnu/libpython3.6m.so (found version "3.6.9")
CMake Warning at /usr/share/cmake-3.10/Modules/FindBoost.cmake:1626 (message):
No header defined for python37; skipping header check
Call Stack (most recent call first):
CMakeLists.txt:11 (find_package)
CMake Error at /usr/share/cmake-3.10/Modules/FindBoost.cmake:1947 (message):
Unable to find the requested Boost libraries.
Boost version: 1.65.1
Boost include path: /usr/include
Could not find the following Boost libraries:
boost_python37
No Boost libraries were found. You may need to set BOOST_LIBRARYDIR to the
directory containing Boost libraries or BOOST_ROOT to the location of
Boost.
Call Stack (most recent call first):
CMakeLists.txt:11 (find_package)
-- Found CUDA: /usr/local/cuda (found suitable exact version "10.2")
-- Found OpenCV: /usr (found version "4.5.0") found components: opencv_core opencv_imgproc opencv_imgcodecs
-- Found PythonLibs: /usr/lib/aarch64-linux-gnu/libpython3.6m.so (found suitable version "3.6.9", minimum required is "3.6")
-- Configuring incomplete, errors occurred!
See also "/workspace/ros_catkin_ws/build_isolated/cv_bridge/CMakeFiles/CMakeOutput.log".
See also "/workspace/ros_catkin_ws/build_isolated/cv_bridge/CMakeFiles/CMakeError.log".
<== Failed to process package 'cv_bridge':
Command '['/opt/ros/noetic/share/ros/env.sh', 'cmake', '/workspace/ros_catkin_ws/src/vision_opencv/cv_bridge', '-DCATKIN_DEVEL_PREFIX=/workspace/ros_catkin_ws/devel_isolated/cv_bridge', '-DCMAKE_INSTALL_PREFIX=/opt/ros/noetic/share/ros', '-DCMAKE_BUILD_TYPE=Release', '-G', 'Unix Makefiles']' returned non-zero exit status 1.
Reproduce this error by running:
==> cd /workspace/ros_catkin_ws/build_isolated/cv_bridge && /opt/ros/noetic/share/ros/env.sh cmake /workspace/ros_catkin_ws/src/vision_opencv/cv_bridge -DCATKIN_DEVEL_PREFIX=/workspace/ros_catkin_ws/devel_isolated/cv_bridge -DCMAKE_INSTALL_PREFIX=/opt/ros/noetic/share/ros -DCMAKE_BUILD_TYPE=Release -G 'Unix Makefiles'
Following https://github.com/ros-perception/vision_opencv/issues/341#issuecomment-767965760, I just changed that CMake line in vision_opencv from find_package(Boost REQUIRED python37)
to find_package(Boost REQUIRED python3)
, and that is enough apparently. I'll update if the full thing works.
root@goose:/workspace/ros_catkin_ws/build_isolated/cv_bridge# cd /workspace/ros_catkin_ws/build_isolated/cv_bridge && /opt/ros/noetic/share/ros/env.sh cmake /workspace/ros_catkin_ws/src/vision_opencv/cv_bridge -DCATKIN_DEVEL_PREFIX=/workspace/ros_catkin_ws/devel_isolated/cv_bridge -DCMAKE_INSTALL_PREFIX=/opt/ros/noetic/share/ros -DCMAKE_BUILD_TYPE=Release -G 'Unix Makefiles'
-- Using CATKIN_DEVEL_PREFIX: /workspace/ros_catkin_ws/devel_isolated/cv_bridge
-- Using CMAKE_PREFIX_PATH: /opt/ros/noetic/share/ros;/opt/ros/noetic
-- This workspace overlays: /opt/ros/noetic/share/ros;/opt/ros/noetic
-- Found PythonInterp: /usr/bin/python3 (found suitable version "3.6.9", minimum required is "3")
-- Using PYTHON_EXECUTABLE: /usr/bin/python3
-- Using Debian Python package layout
-- Using empy: /usr/lib/python3/dist-packages/em.py
-- Using CATKIN_ENABLE_TESTING: ON
-- Call enable_testing()
-- Using CATKIN_TEST_RESULTS_DIR: /workspace/ros_catkin_ws/build_isolated/cv_bridge/test_results
-- Found gtest sources under '/usr/src/googletest': gtests will be built
-- Found gmock sources under '/usr/src/googletest': gmock will be built
-- Found PythonInterp: /usr/bin/python3 (found version "3.6.9")
-- Using Python nosetests: /usr/bin/nosetests3
-- catkin 0.8.10
-- BUILD_SHARED_LIBS is on
-- Found PythonLibs: /usr/lib/aarch64-linux-gnu/libpython3.6m.so (found version "3.6.9")
CMake Warning at /usr/share/cmake-3.10/Modules/FindBoost.cmake:1626 (message):
No header defined for python3; skipping header check
Call Stack (most recent call first):
CMakeLists.txt:11 (find_package)
-- Boost version: 1.65.1
-- Found the following Boost libraries:
-- python3
-- Found PythonLibs: /usr/lib/aarch64-linux-gnu/libpython3.6m.so (found suitable version "3.6.9", minimum required is "3.6")
-- Configuring done
-- Generating done
-- Build files have been written to: /workspace/ros_catkin_ws/build_isolated/cv_bridge
Interestingly, find_package(Boost REQUIRED python36)
doesn't work albeit I can see it here
root@goose:/workspace/ros_catkin_ws# ls /usr/lib/aarch64-linux-gnu/libboost_python
libboost_python-py27.a libboost_python-py36.a libboost_python.so libboost_python3-py36.so.1.65.1
libboost_python-py27.so libboost_python-py36.so libboost_python3-py36.a libboost_python3.a
libboost_python-py27.so.1.65.1 libboost_python.a libboost_python3-py36.so libboost_python3.so
Update: the above did work, closing. Thanks @dusty-nv!
One more question: I did not run the last 5 lines in the docker container: https://github.com/dusty-nv/jetson-containers/blob/master/Dockerfile.ros.noetic#L69-L73 (as they are already in the base docker image (noetic-ros-base-pytorch one)
When building a catkin workspace (after ensuring source /opt/ros/noetic/setup.bash), catkin is unable to find basic packages like tf, tf2, vision_opencv.. Although I see them all inside /opt/ros/noetic/include, /lib, /share, etc
examples:
CMake Error at /opt/ros/noetic/share/catkin/cmake/catkinConfig.cmake:83 (find_package):
Could not find a package configuration file provided by "cv_bridge" with
any of the following names:
cv_bridgeConfig.cmake
cv_bridge-config.cmake
Add the installation prefix of "cv_bridge" to CMAKE_PREFIX_PATH or set
"cv_bridge_DIR" to a directory containing one of the above files. If
"cv_bridge" provides a separate development package or SDK, be sure it has
been installed.
Call Stack (most recent call first):
CMakeLists.txt:11 (find_package)
CMake Error at /opt/ros/noetic/share/catkin/cmake/catkinConfig.cmake:83 (find_package):
Could not find a package configuration file provided by "tf" with any of
the following names:
tfConfig.cmake
tf-config.cmake
Add the installation prefix of "tf" to CMAKE_PREFIX_PATH or set "tf_DIR" to
a directory containing one of the above files. If "tf" provides a separate
development package or SDK, be sure it has been installed.
Call Stack (most recent call first):
even though I can see them here
# echo $CMAKE_PREFIX_PATH/
/opt/ros/noetic/
# find /opt/ros/noetic/ -name cv_bridgeConfig.cmake
/opt/ros/noetic/share/ros/share/cv_bridge/cmake/cv_bridgeConfig.cmake
# find /opt/ros/noetic/ -name tfConfig.cmake
/opt/ros/noetic/share/ros/share/tf/cmake/tfConfig.cmake
Here's the output of running the provided docker test ros script (I modified it slightly to use dustynv/ros:noetic-desktop-pytorch-l4t-r32.6.1
which is the name of the local build of my noetic desktop image)
robot@goose:~/projects/jetson-containers$ ./scripts/docker_test_ros.sh noetic
reading L4T version from /etc/nv_tegra_release
L4T BSP Version: L4T R32.6.1
l4t-base image: nvcr.io/nvidia/l4t-base:r32.6.1
testing container dustynv/ros:noetic-desktop-pytorch-l4t-r32.6.1 => ros_version
localuser:root being added to access control list
sourcing /opt/ros/noetic/setup.bash
ROS_ROOT /opt/ros/noetic/share/ros
ROS_DISTRO noetic
getting ROS version -
noetic
done testing container dustynv/ros:noetic-desktop-pytorch-l4t-r32.6.1 => ros_version
testing container dustynv/ros:noetic-desktop-pytorch-l4t-r32.6.1 => ros_version
localuser:root being added to access control list
sourcing /opt/ros/noetic/setup.bash
ROS_ROOT /opt/ros/noetic/share/ros
ROS_DISTRO noetic
getting ROS version -
noetic
done testing container dustynv/ros:noetic-desktop-pytorch-l4t-r32.6.1 => ros_version
testing container dustynv/ros:noetic-desktop-pytorch-l4t-r32.6.1 => PyTorch
localuser:root being added to access control list
sourcing /opt/ros/noetic/setup.bash
ROS_ROOT /opt/ros/noetic/share/ros
ROS_DISTRO noetic
testing PyTorch...
PyTorch version: 1.9.0
CUDA available: True
cuDNN version: 8201
Tensor a = tensor([0., 0.], device='cuda:0')
Tensor b = tensor([-0.1175, -0.4439], device='cuda:0')
Tensor c = tensor([-0.1175, -0.4439], device='cuda:0')
testing LAPACK (OpenBLAS)...
test/test_pytorch.py:25: UserWarning: torch.solve is deprecated in favor of torch.linalg.solveand will be removed in a future PyTorch release.
torch.linalg.solve has its arguments reversed and does not return the LU factorization.
To get the LU factorization see torch.lu, which can be used with torch.lu_solve or torch.lu_unpack.
X = torch.solve(B, A).solution
should be replaced with
X = torch.linalg.solve(A, B) (Triggered internally at /media/nvidia/NVME/pytorch/pytorch-v1.9.0/aten/src/ATen/native/BatchLinearAlgebra.cpp:760.)
x, lu = torch.solve(b, a)
done testing LAPACK (OpenBLAS)
testing torch.nn (cuDNN)...
done testing torch.nn (cuDNN)
testing CPU tensor vector operations...
test/test_pytorch.py:49: UserWarning: Implicit dimension choice for softmax has been deprecated. Change the call to include dim=X as an argument.
cpu_y = F.softmax(cpu_x)
Tensor cpu_x = tensor([12.3450])
Tensor softmax = tensor([1.])
Tensor exp (float32) = tensor([[2.7183, 2.7183, 2.7183],
[2.7183, 2.7183, 2.7183],
[2.7183, 2.7183, 2.7183]])
Tensor exp (float64) = tensor([[2.7183, 2.7183, 2.7183],
[2.7183, 2.7183, 2.7183],
[2.7183, 2.7183, 2.7183]], dtype=torch.float64)
Tensor exp (diff) = 7.429356050359104e-07
PyTorch OK
done testing container dustynv/ros:noetic-desktop-pytorch-l4t-r32.6.1 => PyTorch
testing container dustynv/ros:noetic-desktop-pytorch-l4t-r32.6.1 => numpy
localuser:root being added to access control list
sourcing /opt/ros/noetic/setup.bash
ROS_ROOT /opt/ros/noetic/share/ros
ROS_DISTRO noetic
testing numpy...
numpy version: 1.19.5
blas_mkl_info:
NOT AVAILABLE
blis_info:
NOT AVAILABLE
openblas_info:
libraries = ['openblas', 'openblas']
library_dirs = ['/usr/lib/aarch64-linux-gnu']
language = c
define_macros = [('HAVE_CBLAS', None)]
blas_opt_info:
libraries = ['openblas', 'openblas']
library_dirs = ['/usr/lib/aarch64-linux-gnu']
language = c
define_macros = [('HAVE_CBLAS', None)]
lapack_mkl_info:
NOT AVAILABLE
openblas_lapack_info:
libraries = ['openblas', 'openblas']
library_dirs = ['/usr/lib/aarch64-linux-gnu']
language = c
define_macros = [('HAVE_CBLAS', None)]
lapack_opt_info:
libraries = ['openblas', 'openblas']
library_dirs = ['/usr/lib/aarch64-linux-gnu']
language = c
define_macros = [('HAVE_CBLAS', None)]
None
numpy OK
done testing container dustynv/ros:noetic-desktop-pytorch-l4t-r32.6.1 => numpy
testing container dustynv/ros:noetic-desktop-pytorch-l4t-r32.6.1 => OpenCV
localuser:root being added to access control list
sourcing /opt/ros/noetic/setup.bash
ROS_ROOT /opt/ros/noetic/share/ros
ROS_DISTRO noetic
testing OpenCV...
OpenCV version: 4.5.0
General configuration for OpenCV 4.5.0 =====================================
Version control: 4.5.0
Extra modules:
Location (extra): /opt/opencv_contrib/modules
Version control (extra): 4.5.0
Platform:
Timestamp: 2021-07-19T21:05:54Z
Host: Linux 4.9.201-tegra aarch64
CMake: 3.10.2
CMake generator: Unix Makefiles
CMake build tool: /usr/bin/make
Configuration: RELEASE
CPU/HW features:
Baseline: NEON FP16
required: NEON
disabled: VFPV3
C/C++:
Built as dynamic libs?: YES
C++ standard: 11
C++ Compiler: /usr/bin/c++ (ver 7.5.0)
C++ flags (Release): -fsigned-char -W -Wall -Werror=return-type -Werror=non-virtual-dtor -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Wundef -Winit-self -Wpointer-arith -Wshadow -Wsign-promo -Wuninitialized -Winit-self -Wsuggest-override -Wno-delete-non-virtual-dtor -Wno-comment -Wimplicit-fallthrough=3 -Wno-strict-overflow -fdiagnostics-show-option -pthread -fomit-frame-pointer -ffunction-sections -fdata-sections -fvisibility=hidden -fvisibility-inlines-hidden -O3 -DNDEBUG -DNDEBUG
C++ flags (Debug): -fsigned-char -W -Wall -Werror=return-type -Werror=non-virtual-dtor -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Wundef -Winit-self -Wpointer-arith -Wshadow -Wsign-promo -Wuninitialized -Winit-self -Wsuggest-override -Wno-delete-non-virtual-dtor -Wno-comment -Wimplicit-fallthrough=3 -Wno-strict-overflow -fdiagnostics-show-option -pthread -fomit-frame-pointer -ffunction-sections -fdata-sections -fvisibility=hidden -fvisibility-inlines-hidden -g -O0 -DDEBUG -D_DEBUG
C Compiler: /usr/bin/cc
C flags (Release): -fsigned-char -W -Wall -Werror=return-type -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Wmissing-prototypes -Wstrict-prototypes -Wundef -Winit-self -Wpointer-arith -Wshadow -Wuninitialized -Winit-self -Wno-comment -Wimplicit-fallthrough=3 -Wno-strict-overflow -fdiagnostics-show-option -pthread -fomit-frame-pointer -ffunction-sections -fdata-sections -fvisibility=hidden -O3 -DNDEBUG -DNDEBUG
C flags (Debug): -fsigned-char -W -Wall -Werror=return-type -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Wmissing-prototypes -Wstrict-prototypes -Wundef -Winit-self -Wpointer-arith -Wshadow -Wuninitialized -Winit-self -Wno-comment -Wimplicit-fallthrough=3 -Wno-strict-overflow -fdiagnostics-show-option -pthread -fomit-frame-pointer -ffunction-sections -fdata-sections -fvisibility=hidden -g -O0 -DDEBUG -D_DEBUG
Linker flags (Release): -Wl,--gc-sections -Wl,--as-needed
Linker flags (Debug): -Wl,--gc-sections -Wl,--as-needed
ccache: NO
Precompiled headers: NO
Extra dependencies: m pthread cudart_static dl rt nppc nppial nppicc nppicom nppidei nppif nppig nppim nppist nppisu nppitc npps cublas cudnn cufft -L/usr/local/cuda/lib64 -L/usr/lib/aarch64-linux-gnu
3rdparty dependencies:
OpenCV modules:
To be built: alphamat aruco bgsegm bioinspired calib3d ccalib core cudaarithm cudabgsegm cudacodec cudafeatures2d cudafilters cudaimgproc cudalegacy cudaobjdetect cudaoptflow cudastereo cudawarping cudev datasets dnn dnn_objdetect dnn_superres dpm face features2d flann freetype fuzzy gapi hfs highgui img_hash imgcodecs imgproc intensity_transform line_descriptor mcc ml objdetect optflow phase_unwrapping photo plot python3 quality rapid reg rgbd saliency shape stereo stitching structured_light superres surface_matching text tracking video videoio videostab xfeatures2d ximgproc xobjdetect xphoto
Disabled: world
Disabled by dependency: -
Unavailable: cnn_3dobj cvv hdf java js julia matlab ovis python2 sfm ts viz
Applications: apps
Documentation: NO
Non-free algorithms: YES
GUI:
GTK+: YES (ver 3.22.30)
GThread : YES (ver 2.56.4)
GtkGlExt: NO
OpenGL support: NO
VTK support: NO
Media I/O:
ZLib: /usr/lib/aarch64-linux-gnu/libz.so (ver 1.2.11)
JPEG: /usr/lib/aarch64-linux-gnu/libjpeg.so (ver 80)
WEBP: build (ver encoder: 0x020f)
PNG: /usr/lib/aarch64-linux-gnu/libpng.so (ver 1.6.34)
TIFF: build (ver 42 - 4.0.10)
JPEG 2000: build (ver 2.3.1)
OpenEXR: build (ver 2.3.0)
HDR: YES
SUNRASTER: YES
PXM: YES
PFM: YES
Video I/O:
DC1394: YES (2.2.5)
FFMPEG: YES
avcodec: YES (57.107.100)
avformat: YES (57.83.100)
avutil: YES (55.78.100)
swscale: YES (4.8.100)
avresample: YES (3.7.0)
GStreamer: YES (1.14.5)
v4l/v4l2: YES (linux/videodev2.h)
Parallel framework: TBB (ver 2017.0 interface 9107)
Trace: YES (with Intel ITT)
Other third-party libraries:
Lapack: YES (/usr/lib/aarch64-linux-gnu/liblapack.so /usr/lib/aarch64-linux-gnu/libcblas.so /usr/lib/aarch64-linux-gnu/libatlas.so)
Eigen: YES (ver 3.3.4)
Custom HAL: YES (carotene (ver 0.0.1))
Protobuf: build (3.5.1)
NVIDIA CUDA: YES (ver 10.2, CUFFT CUBLAS FAST_MATH)
NVIDIA GPU arch: 53 62 72
NVIDIA PTX archs:
cuDNN: YES (ver 8.0.0)
Python 3:
Interpreter: /usr/bin/python3 (ver 3.6.9)
Libraries: /usr/lib/aarch64-linux-gnu/libpython3.6m.so (ver 3.6.9)
numpy: /usr/lib/python3/dist-packages/numpy/core/include (ver 1.13.3)
install path: lib/python3.6/dist-packages/cv2/python-3.6
Python (for build): /usr/bin/python2.7
Java:
ant: NO
JNI: NO
Java wrappers: NO
Java tests: NO
Install to: /usr/local
-----------------------------------------------------------------
GPU devices: 1
loaded test image from /test/data/test_0.jpg (560, 700, 3) uint8
OpenCV OK
done testing container dustynv/ros:noetic-desktop-pytorch-l4t-r32.6.1 => OpenCV
If you check for the packages through the ros tools, is ros able to discover them?
@dusty-nv Is there any progress on this one? I am exactly having the same problem. I am trying to create a clean catkin_ws and use oak-d camera with depthai-ros. Although everything works fine in x86 end, once I move to xavier, I can not make it work. I tried many base images like
/tmp/apt-dpkg-install-8RYxEI/48-libopencv_4.5.4-8-g3e4c170df4_arm64.deb
/tmp/apt-dpkg-install-8RYxEI/70-libopencv-dev_4.5.4-8-g3e4c170df4_arm64.deb
I am using skip keys argument in my catkin_ws as you suggested above:
rosdep install --from-paths ./src --ignore-packages-from-source --rosdistro noetic --skip-keys "libopencv-dev libopencv-contrib-dev libopencv-imgproc-dev python-opencv python3-opencv"
Here is one of the docker files I am trying:
FROM dustynv/ros:noetic-ros-base-l4t-r34.1.1
# Change the default shell to Bash
SHELL [ "/bin/bash" , "-c" ]
# Minimal setup
RUN apt-get update \
&& apt-get install -y locales lsb-release
ARG DEBIAN_FRONTEND=noninteractive
RUN dpkg-reconfigure locales
# install important stuff
RUN apt install git -y
RUN curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | sudo bash
RUN apt-get install git-lfs
RUN apt install tmux -y
RUN apt-get install wget
# Install depth-ai
RUN wget -qO- https://raw.githubusercontent.com/luxonis/depthai-ros/main/install_dependencies.sh | sudo bash
# Continue installing dependencies
RUN apt install python3-rosdep -y
RUN apt-get install ros-noetic-rviz-imu-plugin -y
# figure out rosdep install stuff
#RUN cd $HOME/dai_ws
#RUN rosdep install --from-paths src --ignore-src -r -y
@samialperen I think your issue is related to installing additional ROS packages from apt, while the noetic packages in my containers were built from source. Although you already tried nvcr.io/nvidia/l4t-pytorch:r34.1.0-pth1.12-py3
as a base, which means that you probably did a fresh install of Noetic from the ROS apt repos.
What you try doing is add a RUN apt-get purge -y '*opencv*'
statement in your dockerfile that uses FROM nvcr.io/nvidia/l4t-pytorch:r34.1.0-pth1.12-py3
. That should clear out the previous openCV and make way for the one that ROS tries to install.
I am trying to build the neotic_desktop image with pytorch by doing the equivalent of
./scripts/docker_build_ros.sh --distro noetic --package desktop --with-pytorch
As noetic_base + pytorch binaries are already availble under
dustynv/ros:noetic-pytorch-l4t-r32.6.1
, I chose to clone that image as a starting point, and then am running these lines for noetic + desktop.Now, cv_bridge failed to compile eventually. Looking at the logs, it seems things failed in this step:
root@goose:/workspace/ros_catkin_ws# rosdep install --from-paths ./src --ignore-packages-from-source --rosdistro ${ROS_DISTRO} --skip-key
Log:
Wanted to check if I should try to force an overwrite of opencv3.2 over 4.5, or should I use a different base image?