Сборка RedHawk из исходного кода, найдите код установки uhd3.5.3

Я пытаюсь собрать из исходного кода для установки RedHawk и пытаюсь заменить uhd3.5.3 более высокой версией uhd для модуля USRP_UHD. Я видел исходный код USRP_UHD, но нигде не нашел исходный код uhd3.5.3. Я предполагаю, что он может просто использовать «yum install ...» для загрузки и установки кода хоста uhd и вспомогательных библиотек. Кто-нибудь знает, где находится этот код в пакете redhawk_src_2.0? Или в Linux есть эффективный способ найти это среди всех файлов в пакете redhawk_src_2.0?

Заранее спасибо!


person Mons    schedule 08.03.2016    source источник


Ответы (3)


UHD — это программное обеспечение драйвера USRP Harware от Ettus Research. UHD распространяется из:

http://files.ettus.com/binaries/uhd_stable/

Версия 3.5.3 здесь:

http://files.ettus.com/binaries/uhd_stable/uhd_003.005.003-release/

Текущая версия 3.9.2:

http://files.ettus.com/binaries/uhd_stable/uhd_003.009.002-release/

Надеюсь, это поможет. Я не был на 100% уверен, что вы просите.

person balister    schedule 08.03.2016

Сначала клонируйте библиотеку uhd:

git clone git://github.com/EttusResearch/uhd.git

Затем проверьте тег 3.9.2:

git checkout release_003_009_002

Используя инструкции Ettus (http://files.ettus.com/manual/page_build_guide.html), установите зависимости, перечисленные в разделе Fedora:

sudo yum -y install boost-devel libusb1-devel python-mako doxygen python-docutils cmake make gcc gcc-c++

Затем сгенерируйте Makefiles с помощью CMake:

cd <uhd-repo-path>/host
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=/opt/uhd ../

Я рекомендую сначала использовать альтернативный префикс установки, чтобы сохранить версию 3.5.3, на всякий случай, но если вы не хотите, просто запустите:

cmake ../

вместо более длинной команды с флагом -DCMAKE_INSTALL_PREFIX. (Примечание: я не смог заставить cmake найти установленную версию boost, поэтому вам, возможно, придется провести какое-то другое исследование, поскольку это, вероятно, сам по себе совершенно другой пост о стеке)

Теперь соберите и установите библиотеку uhd:

make
make test
sudo make install

Теперь, когда библиотека установлена, вы должны отредактировать USRP_UHD/cpp/configure.ac так, чтобы PKG_CONFIG_PATH указывал на ваш префикс установки (либо тот, который указан в флаге выше, либо, если вы использовали значение по умолчанию, просто оставьте его, так как он уже должен указывать на /usr/local/lib/pkgconfig). Также в файле configure.ac обязательно измените номер версии uhd на 3.9.2.

Теперь вы сможете восстановить устройство USRP_UHD:

./reconf && ./configure && make install

Я не гарантирую, что Устройство будет собираться с новой версией библиотеки uhd, это будет зависеть от того, что (если вообще что-либо) устарело или удалено из библиотеки между поддерживаемой версией и самой новой.

Наконец, если вы успешно прошли все эти шаги и указали нестандартный префикс установки, вам нужно будет добавить этот префикс либо в LD_LIBRARY_PATH, либо в сценарий /etc/ld.so.conf.d/, чтобы Устройство правильно выполнить.

person pwolfram    schedule 12.03.2016
comment
Это хороший момент, вам не нужно менять номер версии uhd, если вы этого не хотите, но это также не повредит и сообщит всем, кто использует ваше обновленное Устройство, какую версию использовать. Сбой во время настройки обычно более полезен, чем ошибка во время сборки. Что касается номеров версий Boost, это будет зависеть. Ваша установка RH связана с 1.41 или 1.46/1.48? Если он связан с 1.41, вы можете либо попытаться пересобрать его с 1.46/1.48, либо попытаться одновременно установить 1.41 и 1.46/1.48 и иметь устройство RH, которое в конечном итоге будет связано с обеими версиями. - person pwolfram; 29.03.2016
comment
Я бы, вероятно, попытался перестроить фреймворк для более новой версии boost и надеяться, что обратная совместимость позволит вам успешно построить фреймворк. Таким образом, ваше устройство будет связываться с фреймворком, который связывается с boost 1.46/1.48, и с uhd, который также связывается с 1.46/1.48. Альтернатива (две версии boost) звучит непредсказуемо. - person pwolfram; 29.03.2016
comment
Я не уверен, что вы можете использовать RPM для пересборки с указанной версией boost, потому что они являются бинарными RPM, а не исходными RPM (это также может быть невозможно, я не пробовал). Если это будет лучший путь для вас с точки зрения системы, я бы поискал еще один пост SO о восстановлении rpm. В противном случае я бы порекомендовал погрузиться в исходную установку для RH, что не так уж и плохо, согласно сообщению Телли Ту. - person pwolfram; 30.03.2016

Уточнение: вы можете следовать приложению B к руководству Redhawk для сборки Redhawk из исходного кода ПОСЛЕ установки UHD v3.9.3 из исходного кода в соответствии с инструкциями pwolframs. UHD v3.5.3 не упакован с исходным кодом Redhawk, только RPM Redhawk, игнорируйте все эти RPM при сборке UHD и Redhawk из исходного кода.

person timcardenuto    schedule 25.03.2016