Hi, I am connecting Nvidia Jetson TX2 with a Basler camera. My image processing algorithm runs on GPU (using Cuda 9.0). I use Qt. I get an error:
Nvcc fatal: Unknow option 'Wl,-E'
Detail:
13:00:46: Starting: "/usr/bin/make"
/usr/local/cuda-9.0//bin/nvcc --compiler-options -fno-strict-aliasing --use_fast_math --ptxas-options=-v -I"/home/nvidia/opencv/include" -I"/opt/pylon5/include" -I"/opt/pylon5/include/GenApi" -I"/usr/local/cuda-9.0//include" `pkg-config opencv --cflags --libs` -L/opt/pylon5/lib64 -Wl,-E -lpylonbase -lpylonutility -lGenApi_gcc_v3_0_Basler_pylon_v5_0 -lGCBase_gcc_v3_0_Basler_pylon_v5_0 -L /usr/local/cuda-9.0//lib -lcuda -lcudart -lm -lcublas --machine 64 -arch=sm_62 --compile -cudart static -DWIN64 -D_MBCS -Xcompiler -Xcompiler "-Wl,-rpath,libs/x86_64" -c -O3 -o testprocess_cuda.o testprocess.cu
Makefile:1048: recipe for target 'testprocess_cuda.o' failed
nvcc fatal : Unknown option 'Wl,-E'
make: *** [testprocess_cuda.o] Error 1
13:00:47: The process "/usr/bin/make" exited with code 2.
Error while building/deploying project ttest (kit: JetsonTX2)
When executing step "Make"
13:00:47: Elapsed time: 00:00.
This is my .pro file:
INCLUDEPATH += /home/nvidia/opencv/include
LIBS += `pkg-config opencv --cflags --libs`
QMAKE_LFLAGS +=$(shell /opt/pylon5/bin/pylon-config --libs-rpath)
LIBS +=$(shell /opt/pylon5/bin/pylon-config --libs)
#=================================================================================
CUDA_SOURCES += \
testprocess.cu
CUDA_SDK = /usr/local/cuda-9.0/
CUDA_DIR = /usr/local/cuda-9.0/
SYSTEM_NAME = ubuntu
SYSTEM_TYPE = 64
CUDA_ARCH = sm_62
NVCC_OPTIONS = --compiler-options -fno-strict-aliasing --use_fast_math --ptxas-options=-v
INCLUDEPATH += $$CUDA_DIR/include
QMAKE_LIBDIR += $$CUDA_DIR/lib64
CUDA_OBJECTS_DIR = ./
CUDA_LIBS = -L $$CUDA_DIR/lib -lcuda -lcudart -lm -lcublas #-fopenacc
CUDA_INC = $$join(INCLUDEPATH,'" -I"','-I"','"')
LIBS += $$CUDA_LIBS
cuda.input = CUDA_SOURCES
cuda.output = ${QMAKE_FILE_BASE}_cuda.o
cuda.commands = $$CUDA_DIR/bin/nvcc $$NVCC_OPTIONS $$CUDA_INC $$NVCC_LIBS $$LIBS\
--machine $$SYSTEM_TYPE -arch=$$CUDA_ARCH \
--compile -cudart static -DWIN64 -D_MBCS -Xcompiler \#"Wl,-E\"\#-rpath,libs/x86_64\" \
-c -O3 -o ${QMAKE_FILE_OUT} ${QMAKE_FILE_NAME}
cuda.dependency_type = TYPE_C
cuda.depend_commands = $$CUDA_DIR/bin/ncc -M $$CUDA_INC $$NVCC_OPTIONS ${QMAKE_FILE_NAME}
QMAKE_EXTRA_COMPILERS += cuda
To connect with the Basler camera, I use a pylon5 SDK. In the “pylon_config” file in: /opt/pylon5/bin/, it has:
MAJOR=5
MINOR=0
SUBMINOR=12
BUILD=11829
TAG=
DIR=`dirname $0`
PYLON_ROOT=`cd $DIR/.. && pwd`
CFLAGS_I="-I$PYLON_ROOT/include"
CFLAGS_EXTRA=
LIBDIR="$PYLON_ROOT/lib64"
LIBS_L="-L$LIBDIR"
LIBS_EXTRA="-Wl,-E"
PYLONC_LIBS_EXTRA=
LIBS_l="-lpylonbase -lpylonutility -lGenApi_gcc_v3_0_Basler_pylon_v5_0 -lGCBase_gcc_v3_0_Basler_pylon_v5_0"
PYLONC_LIBS_l="-lpylonc"
LIBS_RPATH="-Wl,--enable-new-dtags -Wl,-rpath,$LIBDIR"
# for second level library dependencies at build time
LIBS_RPATH_LINK=" -Wl,-rpath-link,@$LIBDIR"
If I run my code with another camera. It’s ok. Or, I connect to the camera without Cuda. It also run well.
I don’t know how to solve it. Could anyone please help me? Thank you.