& ldquo; / usr / bin / ld: не удается найти -lcudart & rdquo;

Вы можете попытаться вручную переустановить некоторые из пакетов, которые предоставляют эти файлы (libc6 и libstdc++6), но я сомневаюсь, что это поможет. Эти segfault должны иметь другое происхождение.

Загрузите debs здесь и здесь. Затем установите каждый из них с помощью перезагрузки dpkg:

sudo dpkg -i /path/to/each/file.deb

и проверьте, есть ли меньше ошибок. Если это так, вы можете попытаться воспроизвести одну и ту же процедуру для каждого файла (используйте apt-file, чтобы найти, какой пакет предоставляет каждый файл).

Также, если вы знаете, когда система начала плохо себя вести, вы можете попробовать проверить [ f5] и посмотреть, была ли какая-либо установка обновления / пакета, которая могла бы вызвать это.

Надеюсь, что это поможет.

1
задан 25 April 2016 в 01:11

3 ответа

LD_LIBRARY_PATH используется для изменения поведения ldconfig и связанных с ним инструментов при поиске библиотек во время выполнения.

Инструмент компоновщика ld не использует эту переменную. Если вы хотите использовать библиотеку, расположенную в нестандартном каталоге, вы должны использовать параметр -L команды, например:

ld -lcuda -L/usr/local/cuda/lib64

Если вы загрузили и Не знаю, как изменить существующий Makefile (ы), не нарушая всю компиляцию, вы можете запустить следующий путь:

export LDFLAGS=-L/usr/local/cuda/lib64
make

Переменная LDFLAGS (которая также может быть определена в Makefile) используется для передачи конкретных аргументов компоновщику (ld) при запуске с помощью компиляции.

7
ответ дан 24 May 2018 в 04:43
  • 1
    Я получил ld: warning: cannot find entry symbol _start; not setting start address при запуске ld -lcuda -L/usr/local/cuda/lib64 – Arash 12 August 2014 в 14:52
  • 2
    @Arash: вы установили версию libcuda, запрошенную проектом, который вы пытаетесь скомпилировать? – Benoit 12 August 2014 в 16:34

Вы можете создавать ссылки вместо добавления путей:

ln -s /usr/local/cuda/lib64/libcudart.so /usr/local/lib/
ln -s /usr/local/cuda/lib64/libcudart.a /usr/local/lib/
2
ответ дан 24 May 2018 в 04:43
  • 1
    У меня нет / usr / local / lib64 /, у меня есть / usr / local / lib / – Arash 12 August 2014 в 14:46

Я исправил это! Перейдите в свой файл makefile и измените

/usr/local/cuda/

на

/usr/local/cuda-7.0

(если это то, что у вас есть)

Это сработало для меня

1
ответ дан 24 May 2018 в 04:43

Другие вопросы по тегам:

Похожие вопросы: