Помогите с отладкой Ошибка KF5 / CMake при сборке Okular, чтобы избежать неровных линий инструмента от руки

Я пытаюсь скомпилировать Okular с нуля, следуя этим инструкциям (в конце страницы):

git clone https://invent.kde.org/graphics/okular.git
cd okular
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=/path/to/your/install/dir ..
make
make install

где я заменил / path / to / your / install / dir на / usr .

Make не работает с (последние строки):

-- Could NOT find KF5JS: found neither KF5JSConfig.cmake nor kf5js-config.cmake 
-- Could NOT find KF5Wallet (missing: KF5Wallet_DIR)
-- Could NOT find KF5Wallet: found neither KF5WalletConfig.cmake nor kf5wallet-config.cmake 
CMake Error at /usr/share/cmake-3.16/Modules/FindPackageHandleStandardArgs.cmake:146 (message):
  Could NOT find KF5 (missing: Archive Bookmarks Completion Config
  ConfigWidgets CoreAddons Crash IconThemes KIO Parts ThreadWeaver
  WindowSystem DocTools JS Wallet) (Required is at least version "5.44.0")
Call Stack (most recent call first):
  /usr/share/cmake-3.16/Modules/FindPackageHandleStandardArgs.cmake:393 (_FPHSA_FAILURE_MESSAGE)
  /usr/local/share/ECM/find-modules/FindKF5.cmake:94 (find_package_handle_standard_args)
  CMakeLists.txt:96 (find_package)

Предыдущие шаги:

  • установили extra-cmake-modules после этого ответа .

  • установили пакеты kf5 с sudo apt-get install "libkf5 *" после этот ответ

  • попробовали несколько других советов, все безуспешно (например, изменив команду cmake на:

     cmake -DQT_QMAKE_EXECUTABLE = qmake-qt5 \
     -DCMAKE_INSTALL_PREFIX = / usr .. \
    -DCMAKE_BUILD_TYPE = Выпуск \
    -DBUILD_TESTING = ВЫКЛ \
    -DQT_NO_VERSION_TAGGING = ВЫКЛ \
    -Wno-dev .. &&
    сделать
    

    )

Соответствующие сообщения на askubuntu:

Справочная информация:

В Ubuntu 20.04 LTS использование стилуса с инструментом аннотации от руки приводит к появлению неровных линий, как этот пост на Reddit и этот гиф показывают. См. Также эту ветку в системе отслеживания ошибок, в которой предлагается модификация ./ ui / pageviewannotator.cpp , который (я думаю) уже реализован в клонированной версии github (найдите в ветке PageViewAnnotator ). TL; DR проблемы заключается в том, что при использовании стилуса создается слишком много точек, что приводит к образованию зубчатых форм при визуализации.

okular freehand tool

Скриншот связанной гифки: перо (слева) и палец (справа). Здесь используйте толстый штрих, чтобы выделить проблему. Стилус отлично работает в других программах, таких как Xournal ++.

3
задан 23 June 2020 в 22:49

1 ответ

Решение №1

KDE разбито на множество модулей, и okular зависит от многих из них. Так что, вероятно, наиболее разумным решением будет использование инструмента kdesrc_build.

После того, как вы его получите, вам в основном нужно запустить одну команду

<path-to-binary>/kdesrc_build okular

Примечания:

  • Okular зависит примерно от 80 модулей, поэтому потребуется время, чтобы загрузить и собрать их все. На самом деле довольно много времени. И несколько ГБ данных.
  • KDE имеет внешние зависимости, и вам, возможно, потребуется установить множество дополнительных пакетов для разработки. Вы можете проверить в журналах сборки отсутствующие библиотеки. Но это означает, что может потребоваться несколько запусков kdesrc_build.
  • Ваше приложение будет создано с использованием библиотек из пользовательской сборки, но во время выполнения оно будет связано с библиотеками вашего текущего KDE (при условии, что вы используете его). Это может сработать, если вы не используете новые методы из последней версии, но это сложное дело. Тем не менее, лучше сначала проверить это перед запуском сеанса на пользовательской сборке kde.

Решение № 2

Это немного сложнее, но может сэкономить время, если вы хотите использовать версию KDE, которая уже установлена ​​в вашей системе.

Проверьте, какие зависимости действительно нужны для Okular, с помощью:

<path-to-binary>/kdesrc_build -list-build okular

Используйте этот список для установки отсутствующих пакетов kf5. Обратите внимание, что вам нужны не только библиотеки, но и файлы разработки (пакеты с суффиксом dev).

Создайте okular напрямую, используя cmake с помощью команды, которую вы вставили в вопрос, но убедитесь, что указанные вами пути верны для вашей системы.

Примечания:

  • cmake используйте pkg-config для обнаружения библиотек, поэтому убедитесь, что у вас есть установил его.
  • Ваша операционная система может не обеспечивать все необходимые файлы разработки в виде пакетов.
3
ответ дан 11 September 2020 в 06:40

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

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