[英]Error while compiling Inkscape from source code
Not having well knowledge on dealing with C++ projects, I have downloaded the source code of Inkscape from its GitLab repository and made few changes (adding small feature) and tried to compile based on the instruction provided in INSTALL.md and other sources available on their website. 我没有很好的处理C ++项目的知识,我从它的GitLab存储库下载了Inkscape的源代码并进行了一些更改(添加小功能)并尝试根据INSTALL.md中提供的指令和其他可用的源代码进行编译。网站。
While it seems I have all the dependencies installed on the system, I get this result after running cmake in build folder: 虽然我似乎已经在系统上安装了所有依赖项,但是在构建文件夹中运行cmake之后我得到了这个结果:
------------------------------
Building Makefile for Inkscape
------------------------------
Source Dir: /home/user/myProgs/inkscape
Binary Dir: /home/user/myProgs/inkscape/build
-- Creating build files in: /home/user/myProgs/inkscape/build
-- The C compiler identification is GNU 6.3.0
-- The CXX compiler identification is GNU 6.3.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found GTest: /usr/lib/libgtest.so
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - not found
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.29.1")
-- Checking for modules 'harfbuzz;pangocairo;pangoft2;fontconfig;gsl;gmodule-2.0;libsoup-2.4>=2.42'
--
CMake Error at /usr/share/cmake-3.7/Modules/FindPkgConfig.cmake:415 (message):
A required package was not found
Call Stack (most recent call first):
/usr/share/cmake-3.7/Modules/FindPkgConfig.cmake:588 (_pkg_check_modules_internal)
CMakeScripts/DefineDependsandFlags.cmake:42 (pkg_check_modules)
CMakeLists.txt:136 (include)
-- Configuring incomplete, errors occurred!
See also "/home/user/myProgs/inkscape/build/CMakeFiles/CMakeOutput.log".
See also "/home/user/myProgs/inkscape/build/CMakeFiles/CMakeError.log".
The relevant lines in DefineDependsandFlags.cmake:42 are: DefineDependsandFlags.cmake:42中的相关行是:
pkg_check_modules(INKSCAPE_DEP REQUIRED
harfbuzz
pangocairo
pangoft2
fontconfig
gsl
gmodule-2.0
libsoup-2.4>=2.42)
As far as I checked, all these packages are already installed on my system. 据我检查,所有这些软件包已经安装在我的系统上。
Here is the content of CMakeError.log in which these lines might gives some clue: 以下是CMakeError.log的内容,其中这些行可能会给出一些线索:
/usr/bin/cc -DCHECK_FUNCTION_EXISTS=pthread_create CMakeFiles/cmTC_d21be.dir/CheckFunctionExists.c.o -o cmTC_d21be -rdynamic -lpthreads
/usr/bin/ld: cannot find -lpthreads
collect2: error: ld returned 1 exit status
CMakeFiles/cmTC_d21be.dir/build.make:97: recipe for target 'cmTC_d21be' failed
make[1]: *** [cmTC_d21be] Error 1
make[1]: Leaving directory '/home/user/myProgs/inkscape/build/CMakeFiles/CMakeTmp'
Makefile:126: recipe for target 'cmTC_d21be/fast' failed
make: *** [cmTC_d21be/fast] Error 2
I couldn't find any help from searching in Internet. 我在网上找不到任何帮助。
Any help would be appreciated. 任何帮助,将不胜感激。
I have tried compilation on both Kubuntu 17.04 and Ubuntu 16.04 LTS 我已尝试在Kubuntu 17.04和Ubuntu 16.04 LTS上进行编译
There are some missing dependencies you need to install in order to compile the source code. 为了编译源代码,您需要安装一些缺少的依赖项。 According to your cmake results:
根据你的cmake结果:
A required package was not found
The easiest way in Ubuntu (Kubuntu tested) is to install Inkscape development packages from the ppa repository. 在Ubuntu(Kubuntu测试)中最简单的方法是从ppa存储库安装Inkscape开发包。 Type the following command in terminal then hit Enter:
在终端中键入以下命令,然后按Enter键:
sudo add-apt-repository ppa:inkscape.dev/trunk
After that you need to enable source code repository. 之后,您需要启用源代码存储库。 Try to uncomment
deb-src
line. 尝试取消注释
deb-src
行。 (Remove # from the beginning): (从头开始删除#):
sudo vim /etc/apt/sources.list.d/inkscape_dev-ubuntu-trunk-zesty.list
Now update the list of packages using sudo apt update
. 现在使用
sudo apt update
软件包列表。 Next you're ready to install the development packages: 接下来,您已准备好安装开发包:
sudo apt build-dep inkscape-trunk
Now it's all set to compile and run ;) 现在它已经设置为编译并运行;)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.