Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 当我使用CUDA=1“make”darknet时,`/usr/bin/ld:找不到-lcuda`出现。如何在没有root权限的情况下修复它_Linux_Makefile_Cuda_Darknet - Fatal编程技术网

Linux 当我使用CUDA=1“make”darknet时,`/usr/bin/ld:找不到-lcuda`出现。如何在没有root权限的情况下修复它

Linux 当我使用CUDA=1“make”darknet时,`/usr/bin/ld:找不到-lcuda`出现。如何在没有root权限的情况下修复它,linux,makefile,cuda,darknet,Linux,Makefile,Cuda,Darknet,我正试图在计算集群上与darknet一起训练YOLOv4。但是当我制作黑暗时,它发生了: /usr/bin/ld: cannot find -lcuda collect2: error: ld returned 1 exit status make: *** [darknet] Error 1 这个计算集群可以加载带有模块加载的软件。例如,当我需要CUDA10.2时,只需运行module load devel/cuda/10.2。 这意味着CUDA的文件仍然位于系统目录中,我没有权限修改任何文

我正试图在计算集群上与darknet一起训练YOLOv4。但是当我制作黑暗时,它发生了:

/usr/bin/ld: cannot find -lcuda
collect2: error: ld returned 1 exit status
make: *** [darknet] Error 1
这个计算集群可以加载带有
模块加载的软件。例如,当我需要CUDA10.2时,只需运行
module load devel/cuda/10.2
。 这意味着CUDA的文件仍然位于系统目录中,我没有权限修改任何文件

在这种情况下,如何解决此问题

有关此错误的更多详细信息:

[usr@*hpc darknet]$ make
chmod +x *.sh
g++ -std=c++11 -std=c++11 -Iinclude/ -I3rdparty/stb/include -DOPENCV `pkg-config --cflags opencv4 2> /dev/null || pkg-config --cflags opencv` -DGPU -I/usr/local/cuda/include/ -DCUDNN -Wall -Wfatal-errors -Wno-unused-result -Wno-unknown-pragmas -fPIC -Ofast -DOPENCV -DGPU -DCUDNN -I/usr/local/cudnn/include obj/image_opencv.o obj/http_stream.o obj/gemm.o obj/utils.o obj/dark_cuda.o obj/convolutional_layer.o obj/list.o obj/image.o obj/activations.o obj/im2col.o obj/col2im.o obj/blas.o obj/crop_layer.o obj/dropout_layer.o obj/maxpool_layer.o obj/softmax_layer.o obj/data.o obj/matrix.o obj/network.o obj/connected_layer.o obj/cost_layer.o obj/parser.o obj/option_list.o obj/darknet.o obj/detection_layer.o obj/captcha.o obj/route_layer.o obj/writing.o obj/box.o obj/nightmare.o obj/normalization_layer.o obj/avgpool_layer.o obj/coco.o obj/dice.o obj/yolo.o obj/detector.o obj/layer.o obj/compare.o obj/classifier.o obj/local_layer.o obj/swag.o obj/shortcut_layer.o obj/activation_layer.o obj/rnn_layer.o obj/gru_layer.o obj/rnn.o obj/rnn_vid.o obj/crnn_layer.o obj/demo.o obj/tag.o obj/cifar.o obj/go.o obj/batchnorm_layer.o obj/art.o obj/region_layer.o obj/reorg_layer.o obj/reorg_old_layer.o obj/super.o obj/voxel.o obj/tree.o obj/yolo_layer.o obj/gaussian_yolo_layer.o obj/upsample_layer.o obj/lstm_layer.o obj/conv_lstm_layer.o obj/scale_channels_layer.o obj/sam_layer.o obj/convolutional_kernels.o obj/activation_kernels.o obj/im2col_kernels.o obj/col2im_kernels.o obj/blas_kernels.o obj/crop_layer_kernels.o obj/dropout_layer_kernels.o obj/maxpool_layer_kernels.o obj/network_kernels.o obj/avgpool_layer_kernels.o -o darknet -lm -pthread `pkg-config --libs opencv4 2> /dev/null || pkg-config --libs opencv` -L/usr/local/cuda/lib64 -lcuda -lcudart -lcublas -lcurand -L/usr/local/cudnn/lib64 -lcudnn -lstdc++
/usr/bin/ld: cannot find -lcuda
collect2: error: ld returned 1 exit status
make: *** [darknet] Error 1
在安装了GPU(和驱动程序)的计算机上,通常可以满足
-lcuda
依赖关系,因为驱动程序在链接搜索路径(通常)中安装
libcuda.so
(或windows上的等效程序)

但是,在未安装GPU的计算机上(例如,群集中的登录节点或构建计算机),将不会安装驱动程序,因此
libcuda。因此
将不会位于“常用位置”

在这些情况下,通常在CUDA工具包库安装目录下的
/stubs
目录中提供“存根”库(例如
/usr/local/CUDA/lib64

因此,如果在将Makefile更改为:


它应该允许找到该库。

感谢您的快速回复!在我更改Makefile中的那一行之后,同样的问题再次出现。非常奇怪。”“make”后的LDFLAGS+=-L/usr/local/cuda/lib64-lcudart-lcublas-lcurand-L/usr/local/cuda/lib64/stubs-lcuda::/usr/bin/ld:找不到-lcuda集合2:错误:ld返回1退出状态make:**[darknet]错误1您的
/usr/local/cuda/lib64
目录是否有
stubs
目录?那
stubs
目录中有
libcuda.so
文件吗?对
Makefile
进行更改并重新运行make后,生成错误的
g++
命令是什么?它是否反映了
LDFLAGS
中的更改?是,/opt/bwhpc/common/devel/cuda/10.2/lib64/libcuda.so确实存在。这就是输出:$make chmod+x*.sh g++-std=c++11-std=c++11-Iinclude/-I3rdparty/stb/include-DOPENCV
pkg配置--cflags opencv4 2>/dev/null | pkg配置--cflags opencv-Wno未知pragmas-fPIC-Ofast-DOPENCV-DGPU-DCUDNN-I/usr/local/cudnn/include obj/image\u opencv.o obj/http\u stream.o obj/gemm.o obj/utils.o obj/dark\u cuda.o obj/cuda.o卷积层o obj/list.o obj/image.oobj/activations.o obj/im2col.o obj/col2im.o obj/col2im.o obj/blas.o obj/crop.o obj/crop\u层o obj/drop层o obj/dropout层o最大值obj/data.o obj/matrix.o obj/network.o obj/connected_layer.o obj/cost_layer.o obj/parser.o obj/option_list.o obj/darknet.o obj/detection_layer.o obj/captcha.o obj/route_layer.o obj/write.o obj/box.o obj/boj/box.o噩梦.o obj/normal.o规范化_layer.o obj/avgpool.o obj/avgpool.o obj/dice.o obj/coco.o obj/dice.o obj/o obj/detector.o obj/o obj/o obj/yol.o obj/detectorobj/classifier.o obj/local_layer.o obj/swag.o obj/shortcut_layer.o obj/activation_layer.o obj/rnn_layer.o obj/gru_layer.o obj/rnn.o
LDFLAGS+= -L/usr/local/cuda/lib64 -lcudart -lcublas -lcurand -L/usr/local/cuda/lib64/stubs -lcuda