I’ve been working on integrating libtorch C++ into my project for a few weeks and while it works fine when I include the
#include <torch/script.h>
#include <torch/torch.h>
headers in a cpp source file it works fine. But when I include them in a cpp header file it results in my docker environment crashing and the following error log.
Log Screenshot
Log File
-- The CXX compiler identification is GNU 10.5.0
-- The CUDA compiler identification is NVIDIA 12.2.140
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Detecting CUDA compiler ABI info
-- Detecting CUDA compiler ABI info - done
-- Check for working CUDA compiler: /usr/local/cuda/bin/nvcc - skipped
-- Detecting CUDA compile features
-- Detecting CUDA compile features - done
Sim Mode: Disabled
-- The C compiler identification is GNU 10.5.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
RoveComm Build Mode: 1
RoveComm_CPP -- LIBRARY MODE
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE
-- Found CUDA: /usr/local/cuda (found suitable exact version "12.2")
-- Found OpenCV: /usr/local (found version "4.9.0")
-- Reading /usr/local/lib/cmake/GeographicLib/geographiclib-config.cmake
-- GeographicLib configuration, version 2.3
-- ${GeographicLib_LIBRARIES} set to shared library
-- Looking for sgemm_
-- Looking for sgemm_ - not found
-- Looking for sgemm_
-- Looking for sgemm_ - found
-- Found BLAS: /usr/lib/x86_64-linux-gnu/libopenblas.so
-- Found CUDA: /usr/local/cuda (found suitable version "12.2", minimum required is "12")
-- Found CUDAToolkit: /usr/local/cuda/include (found suitable version "12.2.140", minimum required is "12")
-- Found CUDA: /usr/local/cuda (found version "12.2")
-- Found CUDAToolkit: /usr/local/cuda/include (found version "12.2.140")
-- Caffe2: CUDA detected: 12.2
-- Caffe2: CUDA nvcc is: /usr/local/cuda/bin/nvcc
-- Caffe2: CUDA toolkit directory: /usr/local/cuda
-- Caffe2: Header version is: 12.2
-- /usr/local/cuda-12.2/targets/x86_64-linux/lib/libnvrtc.so shorthash is 000ca627
-- Found CUDNN: /usr/local/cuda/lib64/libcudnn.so
-- USE_CUSPARSELT is set to 0. Compiling without cuSPARSELt support
-- Autodetected CUDA architecture(s): 8.6
-- Added CUDA NVCC flags for: -gencode;arch=compute_86,code=sm_86
-- Found Torch: /usr/lib/libtorch.so
-- Found TENSORFLOWLITE: /usr/local/lib/libtensorflowlite.so
-- Found LIBEDGETPU: /usr/local/lib/libedgetpu.so.1.0
-- Configuring done (1.8s)
-- Generating done (0.0s)
-- Build files have been written to: /workspaces/Autonomy_Software/build
[ 2%] Building CXX object external/rovecomm/CMakeFiles/RoveComm_CPP.dir/src/RoveComm/RoveCommGlobals.cpp.o
[ 5%] Building CXX object external/rovecomm/CMakeFiles/RoveComm_CPP.dir/src/RoveComm/RoveCommPacket.cpp.o
[ 7%] Building CXX object external/rovecomm/CMakeFiles/RoveComm_CPP.dir/src/RoveComm/RoveCommTCP.cpp.o
[ 10%] Building CXX object external/rovecomm/CMakeFiles/RoveComm_CPP.dir/src/RoveComm/RoveCommUDP.cpp.o
[ 13%] Linking CXX static library libRoveComm_CPP.a
[ 13%] Built target RoveComm_CPP
[ 15%] Building CXX object CMakeFiles/Autonomy_Software.dir/src/AutonomyGlobals.cpp.o
[ 18%] Building CXX object CMakeFiles/Autonomy_Software.dir/src/AutonomyLogging.cpp.o
[ 21%] Building CXX object CMakeFiles/Autonomy_Software.dir/src/AutonomyNetworking.cpp.o
[ 23%] Building CXX object CMakeFiles/Autonomy_Software.dir/src/algorithms/controllers/PIDController.cpp.o
[ 26%] Building CXX object CMakeFiles/Autonomy_Software.dir/src/IdentitySoftware.cpp.o
[ 31%] Building CXX object CMakeFiles/Autonomy_Software.dir/src/algorithms/planners/AStar.cpp.o
[ 31%] Building CXX object CMakeFiles/Autonomy_Software.dir/src/algorithms/controllers/StanleyController.cpp.o
[ 34%] Building CXX object CMakeFiles/Autonomy_Software.dir/src/drivers/MultimediaBoard.cpp.o
[ 36%] Building CXX object CMakeFiles/Autonomy_Software.dir/src/drivers/DriveBoard.cpp.o
[ 39%] Building CXX object CMakeFiles/Autonomy_Software.dir/src/drivers/NavigationBoard.cpp.o
[ 42%] Building CXX object CMakeFiles/Autonomy_Software.dir/src/handlers/CameraHandler.cpp.o
[ 44%] Building CXX object CMakeFiles/Autonomy_Software.dir/src/handlers/RecordingHandler.cpp.o
[ 47%] Building CXX object CMakeFiles/Autonomy_Software.dir/src/handlers/ObjectDetectionHandler.cpp.o
[ 50%] Building CXX object CMakeFiles/Autonomy_Software.dir/src/handlers/TagDetectionHandler.cpp.o
[ 52%] Building CXX object CMakeFiles/Autonomy_Software.dir/src/handlers/StateMachineHandler.cpp.o
[ 55%] Building CXX object CMakeFiles/Autonomy_Software.dir/src/handlers/WaypointHandler.cpp.o
[ 57%] Building CXX object CMakeFiles/Autonomy_Software.dir/src/main.cpp.o
[ 60%] Building CXX object CMakeFiles/Autonomy_Software.dir/src/states/ApproachingObjectState.cpp.o
[ 63%] Building CXX object CMakeFiles/Autonomy_Software.dir/src/states/ApproachingMarkerState.cpp.o
[ 65%] Building CXX object CMakeFiles/Autonomy_Software.dir/src/states/AvoidanceState.cpp.o
[ 68%] Building CXX object CMakeFiles/Autonomy_Software.dir/src/states/IdleState.cpp.o
[ 71%] Building CXX object CMakeFiles/Autonomy_Software.dir/src/states/NavigatingState.cpp.o
[ 73%] Building CXX object CMakeFiles/Autonomy_Software.dir/src/states/ReversingState.cpp.o
[ 76%] Building CXX object CMakeFiles/Autonomy_Software.dir/src/states/SearchPatternState.cpp.o
[ 78%] Building CXX object CMakeFiles/Autonomy_Software.dir/src/states/StuckState.cpp.o
c++: fatal error: Killed signal terminated program cc1plus
compilation terminated.
make[2]: *** [CMakeFiles/Autonomy_Software.dir/build.make:272: CMakeFiles/Autonomy_Software.dir/src/handlers/TagDetectionHandler.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
c++: fatal error: Killed signal terminated program cc1plus
compilation terminated.
make[2]: *** [CMakeFiles/Autonomy_Software.dir/build.make:314: CMakeFiles/Autonomy_Software.dir/src/states/ApproachingMarkerState.cpp.o] Error 1