UHD выдает ошибку компоновщика во FreeBSD - PullRequest
0 голосов
/ 03 мая 2011

Я нахожусь на freebsd и пытаюсь запустить uhd из: http://www.ettus.com/download Обычно он запускается под freebsd, но я сталкиваюсь с проблемами при попытке собрать его, как указано здесь: http://www.ettus.com/uhd_docs/manual/html/build.html#build-instructions-unix

Я получаю:

[ 73%] Building CXX object examples/CMakeFiles/benchmark_rx_rate.dir/benchmark_rx_rate.cpp.o
Linking CXX executable benchmark_rx_rate
../lib/libuhd.so.003.000: undefined reference to `uhd::set_thread_priority(float, bool)'
collect2: ld returned 1 exit status
 *** Error code 1

Теперь это похоже на ошибку компоновщика, но как от нее избавиться? Я попытался установить путь с помощью ldconfig, но это ничего не изменило. Возможно, у некоторых из вас есть идея, где я мог бы продолжить поиск.

Ответы [ 2 ]

0 голосов
/ 24 мая 2011

Это идеальная ситуация для создания порта FreeBSD.Поскольку FreeBSD имеет собственную согласованную разметку файловой системы, флаги компилятора и компоновщика часто необходимо слегка модифицировать (как отметил arrowdodger).

Система портов - это структура, позволяющая постоянно фиксировать эти изменения конфигурации и упрощать установку любого программного пакета, как и ввод команд:

cd / usr / ports / категория / приложение-name && make install clean

В идеальном мире вы создадите порт UHD, отправите его для просмотра и добавления в дерево.Если вам нужна помощь, чтобы узнать, как это сделать, справочник Портера FreeBSD и список рассылки freebsd-портов являются отличными ресурсами.

0 голосов
/ 05 мая 2011

Если я правильно понял, libuhd get был построен ранее этим сценарием CMake. Если это правда, эта ошибка указывает на ошибку в их файлах CMakeLists.txt. Похоже, вы создаете примеры использования libuhd. Я сомневаюсь, что они вам нужны. Так что, либо найдите переключатели в вашем CMakeCache.txt и сгенерируйте Makefiles, либо взломайте CMakeLists.txt, чтобы не включать примеры dir.

Еще одна вещь, которую вы можете попробовать - установить CMAKE_EXE_LINKER_FLAGS в -L / usr / local / include.

...