Профиль Qt не установлен, установите Astra Linux

Обновлено: 03.07.2024

Minizip, или ZIP/UNZIP-пакет Жиля Воллана, представляет собой простую библиотеку C для создания, добавления и чтения ZIP-архивов.

Qt — очень мощная кроссплатформенная библиотека C++ с множеством полезных модулей и классов. С помощью Qt вы можете создавать богатые графические интерфейсы, выполнять сетевые действия, получать доступ к базам данных и многое другое. Если Java — это «напиши один раз, работай везде», то Qt — «напиши один раз, компилируй везде», что тоже не так уж плохо.

Одна вещь, которую Qt не может делать «из коробки», — это запись и чтение ZIP-архивов. Конечно, вы можете сделать это с помощью Minizip, но Minizip имеет свой собственный интерфейс, который не совсем совместим с Qt. А именно, в Qt есть абстрактный класс под названием QIODevice, что на языке Qt означает «поток ввода/вывода». Существует множество классов, которые принимают QIODevice для записи в него некоторых полезных вещей — например, вы можете сериализовать XML в QIODevice. Следовательно, не было бы полезно, если бы вы могли открыть QIODevice, который записывал бы непосредственно в файл в ZIP-архиве? Или читать с одного? Именно здесь на сцену выходит QuaZip.

Технически говоря, QuaZip — это простая оболочка C++ для Minizip. Или вы могли бы назвать это реализацией шаблона адаптера. С помощью QuaZip можно получить доступ как к ZIP-файлам, так и к файлам внутри ZIP-архивов с помощью QIODevice API. Вы даже можете записывать ZIP-файлы на последовательные устройства, такие как сокеты TCP, хотя в этом случае действуют некоторые ограничения.

Последние загрузки доступны на странице GitHub. Загрузки в исходном формате. Документацию, которую вы сейчас читаете, можно собрать с помощью инструмента «doxygen», если он у вас установлен. Просто запустите его из каталога проекта, и он создаст для вас каталог «doc». Если у вас не установлен Doxygen, вы все равно можете читать автономные документы в подкаталоге «quazip/doc» и в файлах заголовков. Не путайте эти каталоги:

  • «doc» в корне проекта — это выходные данные Doxygen.
  • «quazip/doc» — это место, где находится вход Doxygen, его часть, не принадлежащая ни к одному конкретному заголовочному файлу.

QuaZip 1.1 тестировался на:

  • Qt 5.15.0 MinGW 8.1 x32
  • Qt 5.12.9 MinGW 7.3 x32
  • Qt 5.9.7 CentOS 7 x64
  • Qt 4.8.7 CentOS 7 x64
  • Qt 5.11.0 Astra Linux CE 1.6 x64

Он должен нормально работать на любой платформе, поддерживаемой Qt 4.8.7 или более поздней версии. Теоретически даже такие старые версии, как Qt 4.6.2, могут работать, но это не гарантируется.

Предварительная поддержка Qt 6 также доступна, но не тестировалась.

См. файл NEWS.txt, поставляемый с дистрибутивом.

Только zlib и Qt 4/5/6. Иногда вам может сойти с рук использование библиотеки zlib, встроенной в Qt (см. ниже).

С точки зрения CMake вам потребуется ZLIB::ZLIB и одно из следующих:

  • Qt5::Core
  • Qt6::Core и Qt6::Core5Compat
  • Qt4::QtCore

Для создания и запуска тестов также необходимы соответствующие подмодули Test и Network.

Убедитесь, что у вас установлен Qt со всеми необходимыми заголовками и утилитами (то есть включая пакет dev или devel в некоторых дистрибутивах Linux).

QuaZip использует CMake, начиная с версии 1.0. Если вы использовали qmake для его сборки, вам придется переключиться на CMake сейчас, и это хорошо, потому что две системы сборки сделали все запутанным и противоречивым. CMake может быть запутанным, плохо спроектированным и не иметь хороших руководств, но на момент написания статьи это была система сборки. Некоторые дистрибутивы Linux поставляются с невероятно устаревшими версиями CMake, но хорошая новость заключается в том, что существуют официальные автономные бинарные дистрибутивы, так что просто возьмите самую новую версию, распакуйте ее куда-нибудь, настройте PATH (или символические ссылки), и все готово. . Для сборки QuaZip 1.0 требуется CMake не ниже версии 3.15.

Примечание. Инструкции, приведенные в этом разделе, предполагают, что вы используете какой-либо диалект UNIX, но процесс сборки также должен быть очень похож на MinGW x32. На других платформах это практически тот же процесс, возможно, с некоторыми настройками CMake, не характерными для самого QuaZip.

Чтобы собрать библиотеку, запустите:

QUAZIP_QT_MAJOR_VERSION — это всего лишь одно число, и по умолчанию оно равно 5, поэтому при сборке с Qt 5 это необязательно.

В Windows может потребоваться использовать -G "MinGW Makefiles" или что-то подобное, чтобы убедить CMake в том, что вы действительно хотите использовать, скажем, MinGW, а не Visual Studio, например.

Установка zlib в Windows может быть сложной задачей, поэтому существует возможный обходной путь с использованием zlib, встроенного в сам Qt. Обратите внимание, что эта zlib является деталью внутренней реализации Qt, поэтому она больше похожа на грязный хак, но может быть удобной. Чтобы включить эту функцию, настройте QuaZip с помощью

Этот параметр по умолчанию выключен, и даже если он включен, если не удается найти zlib, поставляемый с Qt, он возвращается к поиску автономного zlib.

QuaZip устанавливается как пакет CMake QuaZip-QtX, где X — основная версия Qt.Например, QuaZip-Qt5. Разные основные версии QuaZip имеют разные бинарные имена (например, libquazip1-qt5), что позволяет устанавливать их параллельно.

Для перенастройки (для другой версии Qt, релиза/отладки или чего-то еще) просто очистите весь каталог сборки и повторите все заново.

По умолчанию QuaZip компилируется как DLL/SO, но учитывает стандартную опцию BUILD_SHARED_LIBS CMake, соответствующим образом настраивая импорт/экспорт.

Двоичная совместимость гарантируется между дополнительными выпусками, начиная с версии 1.0, благодаря идиоме Pimpl. То есть следующей двоично-несовместимой версией в худшем случае будет 2.x.

Тесты не создаются по умолчанию. Установите параметр QUAZIP_ENABLE_TESTS, чтобы построить их.

Чтобы запустить тесты, выполните:

В некоторых системах вам может потребоваться установить PATH, LD_LIBRARY_PATH или SHLIB_PATH, чтобы запустить «qztest» и использовать только что созданную версию QuaZip, особенно если у вас уже где-то установлена ​​какая-либо версия QuaZip.< /p>

Если все прошло нормально, набор тестов должен сообщить о большом количестве сообщений PASS и сообщении "Все тесты выполнены успешно". Если что-то пойдет не так, он предоставит подробную информацию и предупреждение о том, что некоторые тесты не пройдены.

Эта оболочка написана Сергеем Таченовым. Это мой первый проект с открытым исходным кодом, и он довольно старый, но работает, и многие люди с удовольствием его используют, включая меня.

Если у вас есть что сказать мне о библиотеке QuaZip, не стесняйтесь, сделайте это (однако сначала прочтите FAQ по QuaZip). Однако я не могу обещать, что исправлю все ошибки, о которых вы сообщаете, добавлю любые функции, которые вы хотите, или отвечу на вашу критику, или вообще отвечу на ваши отзывы. Я могу быть занят, может быть, я устал работать над QuaZip, я может быть уже даже мертв (мало ли что. ).

Чтобы сообщить об ошибках или поделиться идеями о том, что нужно сделать, используйте GitHub. Это отличный сайт, где вы можете сообщать об ошибках или зарегистрировать учетную запись, создать форк QuaZip (не стесняйтесь сделать это), создать новую ветку, внести некоторые изменения и отправить запрос на включение, что является способом GitHub предлагать исправления. Подробнее см. в файле CONTRIBUTING.md.

Пожалуйста, не используйте электронную почту для сообщения об ошибках. Сообщения об ошибках и проблемах с помощью GitHub имеют то преимущество, что они видны всем, и я всегда могу найти открытые тикеты, которые были созданы давно. Крайне маловероятно, что я буду искать в своей почте подобные вещи, поэтому, если ошибка, о которой сообщается по почте, не будет исправлена ​​немедленно, она, скорее всего, будет забыта навсегда.

Я создал проект Qt в MS Visual Studio 2010, пытаюсь портировать его на ОС Linux. У меня Linux, на котором установлен Qt 4.6.3 (в комплекте с дистрибутивом).

Мне нужно сгенерировать Makefile для моего проекта (project_name.pro), поэтому я пытаюсь выполнить команду qmake -project и получить команду not found

Поскольку я установил Qt (выполнение qtconfig в терминале позволяет мне узнать версию qt), для меня совершенно неочевидно и странно, почему, имея Qt, я не могу использовать его утилиту qmake?

Не могли бы вы предложить мне какое-нибудь решение этой проблемы?

2 ответа 2

Что это за дистрибутив? Вероятно, qmake находится в отдельном пакете, например. в Debian это пакет qt4-qmake, также поищите какой-нибудь qt-devel, qt4-devel или аналогичный.

Астра Линукс. Но ведет себя очень похоже на Ubuntu). Я полна небее в ОС. "который qmake" - ничего не вернул, поэтому я пришел к выводу, что утилита qmake не установлена. Мне нужно установить его. достаточно ли выполнить aptitude install qmake? Какие шаги я должен предпринять, чтобы правильно установить qmake?

Никогда не слышал об Astra Linux, откуда вы его взяли? :) однако с клоном debian/ubuntu следует выполнить «apt-cache search qt4 |grep qmake», а затем aptitude install PACKAGENAME или apt-get install PACKAGENAME..

<р>круто! Большое спасибо! Я его установил, так что буду интересно проводить время за портированием своего проекта. Следует отметить, что хотя это клон Debian, он не предоставляется бесплатно, мой выпуск стоил 1300 долларов моей фирме, которая его заказала, за эту цену вы получаете некоторые инструменты безопасности, которые я еще не использовал, так как я установил и настроил его день назад. Интересно, что дистрибутив идет без установленных утилит make, gcc, g++. Хорошо, так что еще раз спасибо за полезную информацию! Хорошего дня)

Видя, что библиотеки Qt3/Qt4 пересекаются во всех дистрибутивах Linux, которые я пробовал, я подумал, что было бы неплохо дать более подробный ответ на решение этой проблемы. Если вы используете дистрибутив на основе Debian, может сработать предложенный ранее ответ на использование dpkg; однако в других дистрибутивах Linux, таких как Fedora, например, это не сработает.

Более подходящее решение, независимо от того, какой дистрибутив вы используете, если у вас установлены альтернативы, состоит в следующем:

update-alternatives --install /usr/bin/qmake qmake /usr/bin/qmake-qt4 10

Затем, на всякий случай, вы можете выполнить это с помощью: update-alternatives --set qmake /usr/bin/qmake-qt4

Все пакеты?Нет, такие пакеты, как magic-wormhole, установить нельзя.

Для чего перекомпилировать? Не нашел ссылки, если перекомпилирован для какой цели.

Кажется, разницы нет.

Специальное издание Astra Linux.

Только специальное издание.

Кажется, все двоичные файлы подписаны. Сделал тест. Скопировано /bin/nano в /bin/nano-test . Пытался выполнить нано-тест. Успех. Затем отредактировал текстовую строку внутри /bin/nano-test. Попробовал выполнить еще раз. Ошибка сегментации.

Еще один тест. Установите крокодил.

Установка прошла успешно. Пытаюсь выполнить.

Журнал журнала Systemd показывает ошибку DIGSIG.

Можно попробовать подписать.

Но запрашивает пароль, которого я не знаю.

Можно отключить в /etc/digsig/digsig_initramfs.conf, установив DIGSIG_ELF_MODE=0 .

Количество пакетов [ изменить ]

Говорят, что Astra Linux Common Edition основана на Debian Stretch, но его репозиторий, похоже, содержит меньше пакетов, чем репозиторий Debian Stretch.

Найдены некоторые пакеты:

Некоторые пакеты отсутствуют:

Репозиторий APT Astra Linux Common Edition с репозиторием APT Debian [ редактировать ]

Возможно. Протестируйте установленный пакет tor.

Смешайте Astra Linux Special Edition с репозиторием APT Astra Linux Common Edition [ редактировать ]

  • с включенной проверкой подписи ELF. в программе установки Astra Linux Special Edition: Нет.
  • в противном случае: Да.

noexec [ изменить ]

Специальное издание Astra:

Отказано в доступе. Использование какой-то программы noexec в домашних условиях.

Но вы все равно можете использовать.

chmod: изменение разрешений '/tmp/a': операция не разрешена

учетная запись root [ изменить ]

Заблокировано по умолчанию.

параметр загрузки в режиме восстановления [ изменить ]

Не работает по умолчанию из-за заблокированной учетной записи root.

подсчитать [ изменить ]

Блокирует учетные записи пользователей после 7 неправильных попыток ввода пароля, аналогично безопасности-разное от Kicksecure.

параметры монтирования [ изменить ]

ядро checksec [ редактировать ]

Astra Linux Special Edition [ редактировать ]

Kicksecure™ / Whonix [править]

Содержит несколько ложных срабатываний. Документировано ниже.

/загрузка [ изменить ]

cat /proc/cmdline [ изменить ]

dpkg -l | grep astra- [править ]

dpkg -l | grep смоленск- [править ]

dpkg -l | grep fly- [править]

Пакеты [ изменить ]

астра-экстра [ изменить ]

Описание: Конфигурация Astra linux

apt-file list astra-extra

astra-safepolicy [ изменить ]

Описание: Средство проверки глобальной политики безопасности

астра-версия [ изменить ]

Описание: Обновление версии Astra

модули linux-astra [ изменить ]

Описание: Несвободные модули ядра Astra Linux

linux-astra-modules-generic [править]

Описание: Несвободные модули ядра Astra Linux

linux-astra-modules-4.15.3-1-generic [править]

astra-nochmodx-module-4.15.3-1-hardened [ изменить ]

astra-nochmodx-module-common [ редактировать ]

apt-cache показать astra-nochmodx-module-common

парсек [ изменить ]

smolensk-security [ редактировать ]

ksysguard-mac [ изменить ]

kcm-grub2 [править]

нажать [ изменить ]

tasksel --list-tasks [ изменить ]

Файлы [ изменить ]

  • /usr/lib/modules-load.d
  • /etc/apt/sources.list.d
  • /etc/apt/preferences.d

стандартная + доверительная настройка компакт-диска

модули ядра [ изменить ]

grep /lib/modules [править]

парсек [ изменить ]

parsec-cifs [ изменить ]

digsig_verif [ изменить ]

lsmod [править]

systemctl list-units [ изменить ]

Обязательный MAC-адрес управления доступом [ изменить ]

AppArmor [ изменить ]

Очевидно, AppArmor не установлен.

SELinux [править]

SELinux явно не установлен.

Шлепнуть [ изменить ]

Видимо, Smack не установлен.

томойо [ изменить ]

Видимо, Tomoyo не установлен.

пожарная тюрьма [ изменить ]

пузырчатая пленка [ изменить ]

Установлен ли другой MAC-адрес обязательного контроля доступа? [править]

sudoers [ изменить ]

Он редактирует /etc/sudoers вместо добавления фрагментов в /etc/sudoers.d для включения sudo без пароля. Это не следование практикам. Когда пакет sudo обновляется, а /etc/sudoers изменяется восходящим потоком, он отображает диалоговое окно интерактивного разрешения конфликтов dpkg. И даже если Astra Linux разветвит пакет и предотвратит это, это приведет к тому, что они будут нести нагрузку по обслуживанию этого diff.

sudo apt установить python-pip

sudo pip install magic-wormhole

червоточина отправить /path/to/filename

Неизвестно. Пытаюсь угадать. Глядя на cat /var/lib/dpkg/status | grep @rusbitech | sort --unique показывает 20 разных полных имен.

  • Как я могу подписать двоичные файлы ELF?
  • Можно ли обновить Astra Special Edition через онлайн-репозиторий APT?

Незавершенное: эта вики находится в стадии разработки.Пожалуйста, не сообщайте о неработающих ссылках, пока это уведомление не будет удалено, используйте поисковые системы в первую очередь и внесите свой вклад в улучшение этой вики.




Пожертвовать





логотип GNU

В Kicksecure мы верим в свободу и доверие. Вот почему мы полностью поддерживаем Open Source и Freedom Software. Узнать больше.


Личные мнения модераторов или участников проекта Kicksecure™ не отражают проект в целом. Используя этот веб-сайт, вы подтверждаете, что прочитали, поняли и согласны соблюдать следующие соглашения: Условия использования, Политика конфиденциальности, Политика в отношении файлов cookie, Согласие на электронную подпись, Закон о защите авторских прав в цифровую эпоху, Выходные данные Kicksecure™ © ENCRYPTED SUPPORT LP, 2022< /p>

Kicksecure свободна от корпоративных интересов, поскольку финансируется пользователями. Большое спасибо!

Отсканируйте QR-код или используйте указанный ниже адрес кошелька.

Мы ищем создателей видеороликов для демонстраций, промо и руководств по Kicksecure

Рекомендуемый способ установки GNU Radio на большинстве платформ — использовать уже доступные бинарные пакеты. Найдите свою платформу ниже в разделе «Из двоичных файлов», чтобы получить инструкции о том, как получить GNU Radio через обычный менеджер пакетов (например, установка Ubuntu PPA), или посетите страницу установки Conda, чтобы узнать, как использовать диспетчер пакетов Conda для установки GNU Radio на любой дистрибутив Linux, macOS или Windows. Для некоторых платформ нет двоичных файлов, предоставляемых менеджерами пакетов или проектом GNU Radio. В таких случаях обратитесь к сопровождающему менеджера пакетов или к проекту GNU Radio, чтобы найти разумный способ предоставить двоичные файлы для вашей платформы.

Помимо использования двоичных файлов, можно установить GNU Radio:

  1. Из исходного кода (для тех, кому нужен полный доступ)
  2. Использование PyBOMBS (для тех, кто хочет собрать его из исходного кода и/или установить в определенный каталог с помощью скрипта)

Линукс [ изменить ]

Большинство дистрибутивов содержат пакет с именем gnuradio или аналогичный в своих стандартных репозиториях. В большинстве случаев достаточно установить этот пакет и начать разработку.

Разработка GNU Radio может идти очень быстро, и двоичные файлы, предоставляемые вашим дистрибутивом, могут быть устаревшими. Обязательно проверьте, актуальна ли версия, которую вы устанавливаете! Иногда старые версии не обновляются в системах упаковки. Если вы обнаружили ошибку в старой версии GNU Radio, проверьте, существует ли ошибка в более новой версии GNU Radio, прежде чем создавать новую проблему.

Если версия, поставляемая в вашем дистрибутиве, устарела, обратитесь к соответствующему сопровождающему, чтобы обновить ее в системе пакетов.

Вот примеры установки GNU Radio в различных дистрибутивах Linux. Щелкните ссылку в разделе «Распространение», чтобы узнать, как установить зависимости.

Распределение Команда
Debian/Ubuntu и производные
Fedora
RHEL/CentOS/Rocky Linux/AlmaLinux
Archlinux
Gentoo Linux
Suse Linux
ОС Raspberry Pi

В других дистрибутивах просто используйте соответствующую команду управления пакетами, чтобы установить пакет gnuradio, а затем добавьте его в этот список. Если вам нужны более новые версии или у вас другая платформа, обратитесь к сопровождающему пакета вашего дистрибутива или задайте вопрос в списке рассылки.

Установка Ubuntu PPA [править]

Для Ubuntu последние сборки (как выпущенные, так и извлеченные из основной ветки) сохраняются как PPA на панели запуска. Обязательно сначала удалите все ранее установленные версии gnuradio.

Чтобы получить доступ к текущей выпущенной версии (3.10), добавьте ppa gnuradio/gnuradio-releases (удалив другие ppa gnuradio, если они уже настроены)

Чтобы получить доступ к выпущенной версии 3.9, добавьте ppa-файл gnuradio/gnuradio-releases-3.9 (удалив другие ppa-файлы gnuradio, если они уже настроены)

Чтобы получить доступ к выпущенной версии 3.8, добавьте ppa-файл gnuradio/gnuradio-releases-3.8 (удалив другие ppa-файлы gnuradio, если они уже настроены)

Чтобы получить доступ к выпущенной версии 3.7 (устаревшей), добавьте ppa-файл gnuradio/gnuradio-releases-3.7 (удалив другие ppa-файлы gnuradio, если они уже настроены)

Затем обновите источники apt и установите gnuradio

Внимание: НЕ пытайтесь устанавливать другие пакеты, такие как `gr-osmosdr`, через управление пакетами Ubuntu (т. е. используя "apt"). Ubuntu попытается установить потенциально несовместимую версию, и ваша система окажется в неопределенном состоянии.


Примечание о зависимости упаковки 3.10. Для некоторых дистрибутивов вам может потребоваться установить «упаковку» модуля python с помощью pip (который также может потребоваться установить).

Modtool в Ubuntu [ изменить ]

ПРИМЕЧАНИЕ. В выпущенных сборках Ubuntu 18.04 (bionic) возникает проблема с использованием gr_modtool после установки GNU Radio из PPA. Это связано с байт-компилируемым кодом, который остается в шаблонах modtool после установки. Чтобы обойти эту проблему:

Эта проблема не возникает для пакетов Ubuntu 19 и более поздних версий

Установка Fedora COPR [править]

    • ПРИМЕЧАНИЕ: FEDORA COPR в настоящее время не поддерживается**

    Доступны пакеты для Fedora 29, 30, 31, размещенные в COPR:

    <р>1. Добавьте репозиторий:

    -- Для последней выпущенной версии:

    -- Для последней загрузки из git master:

    <р>2. Установить радио GNU

    Windows [ изменить ]

    См. руководство по установке Conda или radioconda, чтобы установить GNU Radio 3.8 или новее в Windows.

    Если вам нужно установить GNU Radio из исходного кода, обратитесь к руководству по установке для Windows.

    Примечание. Поддержка GNU Radio в Windows значительно улучшается, но остается менее протестированной, и существуют известные проблемы и даже серьезные ошибки, которые мешают регулярному использованию GNU Radio Companion. Сообщайте об ошибках на странице GitHub Issues. Если у вас есть опыт разработки для Windows, рассмотрите возможность изучения некоторых известных проблем.

    Mac OS X [ изменить ]

    Двоичная установка должна быть достаточной для большинства пользователей и, конечно же, для всех, кто плохо знаком с GNU Radio. Однако, если у вас есть особые требования, вам нужна последняя версия или бинарные пакеты не работают, вы можете установить GNU Radio из исходного кода.

    Примечания [ изменить ]

    • По умолчанию GNU Radio устанавливается в каталог /usr/local. См. примечания о -DCMAKE_INSTALL_PREFIX, чтобы установить его в другом месте.
    • Для запуска и разработки модулей вне дерева не требуется устанавливать GNU Radio из исходного кода.
    • Если вы хотите использовать GNU Radio с USRP, вам СНАЧАЛА необходимо клонировать и установить UHD. Дополнительную информацию см. на странице установки UHD ИЛИ следуйте инструкциям в разделе Установка UHD из исходного кода.
    • Информацию об установке на Raspberry Pi см. в разделе Установка GRFromSource на Raspberry Pi.
    • Чтобы выполнить сборку из исходного кода в среде conda, см. руководство по установке conda.

    Для GNU Radio 3.10, 3.9 и Main Branch [ редактировать ]

    В этом разделе описывается, как установить GNU Radio 3.10, 3.9 и ветку Main из исходного кода.

    Установка зависимостей [ изменить ]

    Перейдите на эту страницу для вашего конкретного дистрибутива Linux, чтобы узнать, как установить зависимости. Например, в Ubuntu 20.04 используйте эту команду.

    Установка Volk [ изменить ]

    Основная идея та же, но вместо того, чтобы создавать Volk вместе с GNU Radio, вам нужно клонировать и создавать его отдельно. В этом примере мы начнем с домашнего каталога. Вы можете, конечно, использовать любой каталог, который пожелаете, и результаты будут такими же.

    Примечание. В следующей команде вы можете добавить -DCMAKE_INSTALL_PREFIX=XXX, чтобы установить Volk в PREFIX XXX ; если не указано, то ПРЕФИКС будет /usr/local . См. другие параметры CMake в разделе Общие флаги cmake.

    • cmake -DCMAKE_BUILD_TYPE=Release -DPYTHON_EXECUTABLE=/usr/bin/python3 ../
    • сделать
    • сделать тест
    • сделать установку sudo

    Если вы используете Linux, всегда не забывайте выполнять следующую команду после установки любой библиотеки:

    Установка GNU Radio [ редактировать ]

    Примечание. Если вы хотите собрать ветку maint-3.10 или maint-3.9, а не основную ветку по умолчанию, введите: git checkout maint-3.10, а затем

    Примечание. В следующей команде вы можете добавить -DCMAKE_INSTALL_PREFIX=XXX для установки GNU Radio в PREFIX XXX ; если не указано, то ПРЕФИКС будет /usr/local . См. другие параметры CMake в разделе Общие флаги cmake.

    • cmake -DCMAKE_BUILD_TYPE=Release -DPYTHON_EXECUTABLE=/usr/bin/python3 ../
    • сделайте -j3 (например, если вы хотите использовать 3 ядра ЦП во время сборки.Чтобы использовать 8, выполните -j8, чтобы использовать 1, не используйте флаг -j.)

    Примечание. В следующей команде вполне возможно, что не все тесты пройдены. Как правило, любая ошибка является признаком отсутствия зависимости, такой как интерфейс Python для ZMQ, NumPy или SciPy, ни один из которых не требуется для сборки GNU Radio, но необходим для тестирования.

    Если вы используете Linux, всегда не забывайте выполнять следующую команду после установки любой библиотеки:

    В качестве дополнительного шага для повышения производительности мы рекомендуем выполнить следующее, хотя это может занять 10–15 минут, и вы всегда можете сделать это позже:

    Если вы столкнулись с ошибкой «Не удается импортировать gnuradio», перейдите к разделу «Поиск библиотеки Python», чтобы установить PYTHONPATH и LD_LIBRARY_PATH.
    После установки этих переменных среды вам нужно снова выполнить sudo ldconfig для загрузчика динамической библиотеки Linux. чтобы найти только что установленные библиотеки GNU Radio.
    Если вы установили по пользовательскому пути с -DCMAKE_INSTALL_PREFIX=XXX , вам нужно будет добавить этот путь в $PATH, чтобы найти gnuradio-companion.

    Для GNU Radio 3.8 или более ранней версии [ редактировать ]

    Установка зависимостей [ изменить ]

    Перейдите на эту страницу для вашего конкретного дистрибутива Linux, чтобы узнать, как установить зависимости. Например, в Ubuntu 20.04 используйте эту команду.

    Установка GNU Radio [ редактировать ]

    Для этого примера мы начнем с домашнего каталога; вы можете, конечно, использовать любой каталог, который вы хотите, и результаты будут такими же.

    Примечание. В следующей команде измените maint-3.8 на другую ветку или тег, если вы хотите собрать другую версию GNU Radio; см. теги для отмеченных выпусков, включая предварительные выпуски ("rc"). Для веток, как правило, целесообразно придерживаться «мастера» (по умолчанию после клонирования), и в настоящее время: maint-3.7 или maint-3.8 . Здесь мы проверяем ветку maint-3.8, содержащую последнюю версию 3.8, а также любые исправления или дополнения к ней, которые будут в следующей версии 3.8.

    • git checkout maint-3.8
    • обновление подмодуля git --init --recursive
    • сборка mkdir
    • компакт-диск

    Примечание. В следующей команде вы можете добавить -DCMAKE_INSTALL_PREFIX=XXX для установки GNU Radio в PREFIX XXX ; если не указано, то ПРЕФИКС будет /usr/local . См. другие параметры CMake в разделе Общие флаги cmake.

    • cmake -DCMAKE_BUILD_TYPE=Release -DPYTHON_EXECUTABLE=/usr/bin/python3 ../
    • сделайте -j3 (например, если вы хотите использовать 3 ядра ЦП во время сборки. Чтобы использовать 8, сделайте -j8, чтобы использовать 1, не используйте флаг -j.)
    • сделать установку sudo

    Если вы используете Linux, всегда не забывайте выполнять следующую команду после установки любой библиотеки:

    Перейдите к разделу Поиск библиотеки Python, чтобы установить PYTHONPATH и LD_LIBRARY_PATH.
    После установки этих переменных среды вам нужно снова выполнить sudo ldconfig, чтобы загрузчик динамических библиотек Linux нашел только что установленные библиотеки GNU Radio.
    Если вы установили по пользовательскому пути с -DCMAKE_INSTALL_PREFIX=XXX , вам нужно будет добавить этот путь в $PATH, чтобы найти gnuradio-companion.

    Для Ubuntu 18.04 [ изменить ]

    Простым способом установки GNU Radio 3.8 на многих системах Ubuntu является использование следующих команд (обратите внимание, что при этом пропускается установка оборудования UHD):

    После этого перезагрузите компьютер, и GNU Radio должно быть настроено для вас.

    Общие флаги cmake [ изменить ]

    • -DENABLE_GR_XXX=ON Включает (или отключает для =OFF) компонент GNU Radio с именем XXX. Вам могут не понадобиться все они, и таким образом вы сможете быстрее скомпилировать.
    • -DCMAKE_INSTALL_PREFIX=XXX Установите свои материалы в XXX.
    • -DCMAKE_BUILD_TYPE=Отладка Это заставляет gcc добавлять символы отладки ко всем двоичным файлам. Полезно для отладки (иначе снижает эффективность!)
    • -DPYTHON_EXECUTABLE=/usr/bin/python Это выбирает версию и исполняемый файл Python, которые будут использоваться во время сборки, и определяет, какие библиотеки Python будут использоваться для создания привязок Python.

    Список дополнительных флагов cmake, а также минимальные версии зависимостей см. в [1]

    Раньше PyBOMBS был основным методом создания GNU Radio, UHD и различных модулей Out of Tree (OOT) из исходного кода с последующей установкой их в изолированный каталог, а не в общесистемный, что мало чем отличается от Python virtualenv. Мы больше не включаем PyBOMBS в качестве рекомендуемого метода установки GNU Radio, если только вы не хотите поиграть со старыми версиями (например, GR 3.7, 3.8 и OOT соответствующей версии). Документация по PyBOMBS находится в файле README по PyBOMBS.

    За прошедшие годы было создано несколько живых образов и виртуальных машин. В настоящее время нет официальных версий, но вот некоторые текущие варианты:

      Настраиваемая программно созданная виртуальная машина и живая среда для GNU Radio. Образ виртуальной машины Ubuntu 20.04 с GNU Radio 3.8.2.0, Fosphor, GQRX и несколькими другими полезными программами.(Создано с помощью Instant GNU Radio)

    Если установка прошла без проблем, вы готовы к использованию GNU Radio! Если вы не представляете, как это сделать, лучше всего начать с учебных пособий.

    При желании вы можете запустить volk_profile на своем терминале, чтобы помочь libvolk определить оптимальные ядра (может ускорить работу GNU Radio).

    Читайте также: