darkent-gpu安装中/bin/sh: 1: nvcc: not found和/usr/bin/ld: cannot find -lcuda

darkent-gpu安装中/bin/sh: 1: nvcc: not found和/usr/bin/ld: cannot find -lcuda

今天在云服务器上安装darknet遇到如下问题,问题及解决方案如下:

1.nvcc: not found

在这里插入图片描述
/bin/sh: 1: nvcc: not found
Makefile:92: recipe for target ‘obj/activation_kernels.o’ failed
make: *** [obj/activation_kernels.o] Error 127
make: *** Waiting for unfinished jobs…
/bin/sh: 1: nvcc: not found
Makefile:92: recipe for target ‘obj/convolutional_kernels.o’ failed
make: *** [obj/convolutional_kernels.o] Error 127
/bin/sh: 1: nvcc: not found
Makefile:92: recipe for target ‘obj/deconvolutional_kernels.o’ failed
make: *** [obj/deconvolutional_kernels.o] Error 127

解决方式

修改Makefile文件,将其中的NVCC=nvcc改为/usr/local/cuda-*/bin/nvcc即安装的cuda版本信息,比如我的修改就是

NVCC=/usr/local/cuda-10.0/bin/nvcc

然后 make clean之后 make -j16.

2. /usr/bin/ld: cannot find -/lcuda

/usr/bin/ld: cannot find -lcuda
collect2: error: ld returned 1 exit status
Makefile:83: recipe for target 'libdarknet.so' failed
make: *** [libdarknet.so] Error 1
make: *** Waiting for unfinished jobs....
/usr/bin/ld: cannot find -lcuda
collect2: error: ld returned 1 exit status
Makefile:77: recipe for target 'darknet' failed
make: *** [darknet] Error 1

解决方式

首先,修改Makefile中的出现cuda的地方

ifeq ($(GPU), 1)
COMMON+= -DGPU -I/usr/local/cuda-10.0/include/  #原始文档中为/usr/local/cuda/include/
CFLAGS+= -DGPU
LDFLAGS+= -L/usr/local/cuda-10.0/lib64 -lcuda -lcudart -lcublas -lcurand
endif

然后参考:linux /usr/bin/ld cannot find 解决
找到libcuda.so

whereis libcuda

libcuda: /usr/bin/libcuda /usr/lib/libcuda.so

进入/usr/lib

cd /usr/lib    #注意是进入/usr/lib, 之前好几次进入了/usr/bin导致失败
ln -s libcuda.so.1 libcuda.so  #建立链接,具体可以参考上述文档

然后 make clean之后 make -j16.

opencv导致的安装问题

gcc -Iinclude/ -Isrc/ -DOPENCV `pkg-config --cflags opencv`  -DGPU -I/usr/local/cuda-10.0/include/ -DCUDNN  -Wall -Wno-unused-result -Wno-unknown-pragmas -Wfatal-errors -fPIC -Ofast -DOPENCV -DGPU -DCUDNN obj/captcha.o obj/lsd.o obj/super.o obj/art.o obj/tag.o obj/cifar.o obj/go.o obj/rnn.o obj/segmenter.o obj/regressor.o obj/classifier.o obj/coco.o obj/yolo.o obj/detector.o obj/nightmare.o obj/instance-segmenter.o obj/darknet.o libdarknet.a -o darknet -lm -pthread  `pkg-config --libs opencv` -lstdc++ -L/usr/local/cuda-10.0/lib64 -lcuda -lcudart -lcublas -lcurand -lcudnn -lstdc++  libdarknet.a
//usr/lib/x86_64-linux-gnu/libblas.so.3: undefined reference to `gotoblas'
collect2: error: ld returned 1 exit status
Makefile:77: recipe for target 'darknet' failed
make: *** [darknet] Error 1

解决方式

感觉在训练中opencv并没有用到,可以在Makefile中修改opencv=0

GPU=1
CUDNN=1
OPENCV=0
OPENMP=0
DEBUG=0
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值