как мне скомпилировать inkscape?

Я использую ubuntu mate 18.04 и много раз пытался скомпилировать inkscape исходный код. Я следил за этим руководством https://inkscape.org/en/develop/getting-started/

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

может кто-нибудь объяснить команду

cmake .. -DCMAKE_INSTALL_PREFIX=$(pwd)/../inst [-DCMAKE_CXX_COMPILER_LAUNCHER=ccache]

Я не уверен, что это за флаг или должен быть, но я уверен, что именно поэтому я не могу скомпилировать.

Я пробовал компилировать, опуская "XX", но все равно получаю ошибки

:~/inkscape/build$ cmake .. -DCMAKE_INSTALL_PREFIX=$(pwd)/../inst -DCMAKE_C_COMPILER_LAUNCHER=ccache
------------------------------
Building Makefile for Inkscape
------------------------------
Source Dir: /home/users/inkscape
Binary Dir: /home/users/inkscape/build
-- Creating build files in: /home/s/inkscape/build
-- Could NOT find JeMalloc (missing: JEMALLOC_LIBRARY JEMALLOC_INCLUDE_DIR) 
-- Found BoehmGC: /usr/local/lib/libgc.so
-- Found poppler: /usr/lib/x86_64-linux-gnu/libpoppler.so
-- Found poppler-glib: /usr/lib/x86_64-linux-gnu/libpoppler-glib.so
-- Found cairo-svg: /usr/lib/x86_64-linux-gnu/libcairo.so
-- Found poppler-cairo: /usr/lib/x86_64-linux-gnu/libcairo.so
-- Checking for module 'libwpg-0.3'
--   No package 'libwpg-0.3' found
-- Checking for module 'libwpg-0.2'
--   No package 'libwpg-0.2' found
-- Checking for module 'libwpd-0.9'
--   No package 'libwpd-0.9' found
-- Checking for module 'libwpd-stream-0.9'
--   No package 'libwpd-stream-0.9' found
-- Checking for module 'libwpg-0.1'
--   No package 'libwpg-0.1' found
-- Checking for module 'libwpg-stream-0.1'
--   No package 'libwpg-stream-0.1' found
-- Checking for module 'libwpd-0.8'
--   No package 'libwpd-0.8' found
-- Checking for module 'libvisio-0.1'
--   No package 'libvisio-0.1' found
-- Checking for module 'libvisio-0.0'
--   No package 'libvisio-0.0' found
-- Checking for module 'libwpd-0.9'
--   No package 'libwpd-0.9' found
-- Checking for module 'libwpd-stream-0.9'
--   No package 'libwpd-stream-0.9' found
-- Checking for module 'libcdr-0.1'
--   No package 'libcdr-0.1' found
-- Checking for module 'libcdr-0.0'
--   No package 'libcdr-0.0' found
-- Checking for module 'libwpd-0.9'
--   No package 'libwpd-0.9' found
-- Checking for module 'libwpd-stream-0.9'
--   No package 'libwpd-stream-0.9' found
-- Found Popt: /usr/lib/x86_64-linux-gnu/libpopt.so
-- Could not locate the Potrace library headers: the Trace Bitmap and Paintbucket tools will be disabled
-- Using GDL 3.6 or higher
-- Checking for module 'gtkspell3-3.0'
--   No package 'gtkspell3-3.0' found
-- Boost version: 1.65.1
-- Checking for module 'ImageMagick++<=7'
--   No package 'ImageMagick++' found
-- Checking for module 'GraphicsMagick++'
--   No package 'GraphicsMagick++' found
-- Found gettext + msgfmt to convert language files. Translation enabled
-- Found íntltool. inkscape.pot will be re-created if missing.
-- Could not locate the yaml library headers: xverb feature will be disabled
-- Looking for include file ieeefp.h
CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
POPPLER_INCLUDE_DIR
   used as include directory in directory /home/users/inkscape/build/CMakeFiles/CMakeTmp
   used as include directory in directory /home/users/inkscape/build/CMakeFiles/CMakeTmp
   used as include directory in directory /home/users/inkscape/build/CMakeFiles/CMakeTmp

CMake Error at /usr/share/cmake-3.10/Modules/CheckIncludeFiles.cmake:69 (try_compile):
  Failed to configure test project build system.
Call Stack (most recent call first):
  CMakeScripts/ConfigChecks.cmake:18 (CHECK_INCLUDE_FILES)
  CMakeScripts/DefineDependsandFlags.cmake:392 (include)
  CMakeLists.txt:121 (include)


CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
POPPLER_INCLUDE_DIR
   used as include directory in directory /home/users/inkscape
   used as include directory in directory /home/uers/inkscape
0
задан 4 October 2018 в 04:40

2 ответа

Сначала убедитесь, что «Исходный код» отмечен в «Обновлениях программ» и Хранилища

sudo apt install dpkg-dev
apt source inkscape
sudo apt build-dep inkscape
cd inkscape*/
cmake .
make
1
ответ дан 13 April 2019 в 06:42

У Вас нет всех необходимых библиотек разработки установленными. Источники Inkscape пользуются некоторыми библиотеками, которые должны быть установлены для компиляции его.

, Если Вы смотрите на свой вывод, Вы видите, что сборка нашла poppler, Каир-svg, но это не нашло libwpg-0.3, libwpd-stream-0.9, и т.д.

, необходимо установить все недостающие библиотеки. Просто попытайтесь скомпилировать и попробовать первыми пропавшими без вести. Это - libwpg-0.3. Обычно название пакета является именем, сопровождаемым -dev для библиотеки разработчика. Иногда номер версии требуется и иногда не. Для libwpg-0.3 необходимо ввести:

sudo apt install libwpg-dev

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

Это может быть хитро для нахождения корректного пакета. Иногда некоторая библиотека не может быть установлена путем, я описал здесь, но могу быть получен только из источников. Я полагаю, что установка библиотек имеет ко многим путям и сценариям для описания их всех здесь.

самый легкий путь состоит в том, чтобы попытаться ввести первые несколько букв недостающей библиотеки в sudo apt install команда и затем нажать Вкладку . Например, введите:

sudo apt install libvisio

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

Удача, находящая все необходимые библиотеки. Для poppler необходимо будет также, вероятно, установить dev библиотеку, поскольку компилятор жалуется, что POPPLER_INCLUDE_DIR отсутствует. Это указывает, что у Вас есть poppler установленная библиотека, но только время выполнения, и не dev версия. Если бы Вы пропускаете некоторое имя и установку неправильная библиотека, я не волновался бы. Это просто берет некоторое количество дискового пространства и не делает ничего плохого.

команда Regarding для компиляции

cmake .. -DCMAKE_INSTALL_PREFIX=$(pwd)/../inst [-DCMAKE_CXX_COMPILER_LAUNCHER=ccache]

-D переключатели говорят, что компилятор о дополнительном определяет используемый в исходном коде. Источник имеет некоторую условную компиляцию на основе, определяет ( https://www.tutorialspoint.com/cprogramming/c_preprocessors.htm ). Квадратные скобки указывают, что последний параметр является дополнительным. Таким образом, корректная команда с помощью последнего параметра была бы

cmake .. -DCMAKE_INSTALL_PREFIX=$(pwd)/../inst -DCMAKE_CXX_COMPILER_LAUNCHER=ccache

или просто опустила бы последний параметр и тип

cmake .. -DCMAKE_INSTALL_PREFIX=$(pwd)/../inst
0
ответ дан 13 April 2019 в 06:42

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

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