Skip to content

Liddy’s Linux 11.0 编译日志 Day11

…早安,Liddy’s Linux中需要循着BLFS编译的程式包(GIMP,InkScape等)已全部编译完毕,除了Plasma桌面环境与一个登录界面今后再编译安装…该是进行下一步的时候了。不久前也提到过编译安装的顺序…所有应当编译的KDE程式,Plasma桌面环境与登录界面,以及最后的其他Liddy’s Linux中需要预装的程式。不过在此之前,首先将iBus中的输入法安装完毕…需要安装的输入法有两个,Anthy(日文输入法)与SunPinYin(中文拼音输入法)。

另外再说一遍,若是没有标明安装设置的话,默认的编译安装设置如下:
普通:./configure –prefix=/usr –disable-static
CMake:cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=OFF -Wno-dev ..(提前建立了源代码目录下的build文件夹并进入该文件夹)
Ninja:meson –prefix=/usr –buildtype=release ..(同CMake,新建了文件夹)

所有程式包下载地址皆为正规地址:使用Debian软件包查找系统(https://www.debian.org/distrib/packages)进行软件包查找,随后点击右侧边栏中的“官方网站”进入其官方网站进行下载。

那样开工。

按照ibus-anthy源文件夹中文件“README”中“4. Build & Install IBus Anthy”编译的iBus-Anthy。

编译SunPinYin时使用的设置:scons –prefix=/usr ==> scons install
随后进入源代码文件夹中wrapper/ibus,进行SunPinYin的iBus端编译(使用cmake默认设置,添加了-DiBus_LIBRARY=/usr/lib/libibus-1.0.so)。
编译SunPinYin的iBus端时遇到了如下错误:
make[2]: *** 没有规则可制作目标“../setup/setup.glade”,由“po/ibus-sunpinyin.pot” 需求。 停止。
…查看setup下的CMakeLists.txt,果然没有相关联的规则…最后还是使用wrapper/ibus文件夹中的SCons规则…编译SunPinYin本体时使用的设置进行了编译与安装…哎。

…不知道什么时候sunpinyin-data更名为了open-gram…安装就是。(cd tools/CRF++-0.53 && autoreconf -i ==> ./autogen.sh ==> ./configure –prefix=/usr –disable-static && make)…

按照以上设置与编译过程时遇到了一个错误:cannot bind rvalue reference of type ‘int&&’ to lvalue of type ‘int’,看起来不更改源代码的话,以现在咱的水平的话无解…结果还是手动复制了编译命令,添加了-std=c++98才解决了问题…重新设置的时候添加了CXXFLAGS=“-std=c++98”,解决——然后又遇到了这个问题:

./crfpp_wrap.cxx:178:11: 致命错误:Python.h:没有那个文件或目录

这个应该简单一些。现在的Python.h在python3.9文件夹中,所以更改源代码为#include 即可解决——更改完毕之后又遇到了这样的问题:

/usr/include/python3.9/cpython/pystate.h:9:10: 致命错误:cpython/initconfig.h:没有那个文件或目录

…这回是确确实实的无解——还是在移动硬盘间寻找需要的sunpinyin-data好了…哎。不知确实与否,猜测应该是Python2与Python3的问题…结果移动硬盘间没有找到sunpinyin-data,最后只好于debian源代码包库间下载,编译与安装——下载完毕,但是不知道安装至哪里…纯粹的数据文件,只好稍后重启至Liddy’s Linux进行调试,再根据输出内容进行安装好了。

现在首先要安装Wine,因为想起来编译KDE组建的时候应该会有Wine支持,而且Wine迟早会安装。不过需要注意的是,这个版本的Wine只支持运行64位Windows程式。(./configure –prefix=/usr –enable-win64)顺带着在重启(为了安装Sunpinyin词库)之前安装Kate与Dolphin,两者皆为KDE的程式框架所构建的KDE程式,还有Wacomtablet,用于日后编译Plasma5桌面环境之后更好的支持Wacom数位板。

…Wine有一些可选程式包未有满足,下次编译Liddy’s Linux(可能是版本11.1)时英文会有不少进步罢…能够看得懂更多英文,就能够决定安装什么以满足依赖条件…哎。

编译WacomTablet时遇到了如下错误:

/sources/wacomtablet-3.2.0/src/kcmodule/pressurecurvewidget.cpp:185:18: 错误:聚合‘QPainterPath curvePath’类型不完全,无法被定义
/sources/wacomtablet-3.2.0/src/kcmodule/pressurecurvewidget.cpp:190:42: 错误:变量‘QPainterPath areaBelowCurve’有初始值设定,但是类型不完全
/sources/wacomtablet-3.2.0/src/kcmodule/pressurecurvewidget.cpp:194:18: 错误:聚合‘QPainterPath subtract’类型不完全,无法被定义

首先试着从GitHub间拷贝最新版本的wacomtablet编译一试,若仍旧是这样的错误,再想其他办法…问题不再出现,看来应该是与Qt版本兼容的问题。

编译PackageKit-Glib时所用的选项:meson –prefix=/usr –buildtype=release -Dsystemd=false -Doffline_update=false -Dbash_completion=false ..

虽然顺利编译安装成功PackageKit-Qt5,但是回到编译dolphin的过程中,如何设置也找不到PackageKit-Qt5…应该是需要特定的cmake文件,但是/usr中与/opt/kde中皆没有,事实上编译PackageKit-Qt5时也没有安装…「解决的方法是从ubuntu软件包库当中下载带有cmake文件的包(libpackagekitqt5-dev_1.0.1-1_amd64.deb),解压缩需要的cmake文件,进行修改,拷贝至Liddy’s Linux中的/usr/lib/cmake中(新建PackageKit-Qt5文件夹之后)」…没有进行这些,因为半途中发现安装错了…PackageKit-Glib,而不是PackageKit-Qt5…不过Glib版本或许日后也会有用,先留着罢。转回头来再次安装Qt5版本的。

——重新启动至Liddy’s Linux时发现全部已编译好的程式变为英文,并且成功登陆之后必须按Ctrl+C才能够进入命令行,昨日还没有遇到这样的问题…经检查为PackageKit-GLib添加了文件至/etc/profile.d(/PackageKit.sh),更名为.backup试一试…恢复成功,继续编译…但是命令行间运行iBus没有终端输出,而且无法输入日文/中文…待Plasma5桌面环境编译完毕之后再进行调试与设置罢,或者查看Debian/Ubuntu的设置,将词库文件拷贝至正确的位置。

编译libaccounts-glib时所用的选项:meson –prefix=/usr –buildtype=release .. ==> ninja ==> ninja install。
编译libaccounts-qt/SignOnQt5时所用的选项:qmake ==> make ==> make install。

…无法满足QtWebEngine的关系…可恶,因为这样,无法编译kontact与KAddressBook。希望明年三月份,新的LFS与BLFS发布之后,QtWebEngine能够改用Python3…好罢!只能安装QtWebEngine了——因为Digikam也需要QtWebEngine!!可恶…虽然这个版本的Liddy’s Linux只是标明Liddy’s Linux的存在,最多只能使用半年…那样kontact与KAddressBooke也一并稍后编译…哎!!

——花费大概30小时左右罢,终于将QtWebEngine编译完成…下次编译Liddy’s Linux必须要更换一台性能更好的电脑来着,不仅仅为了能够在数个平台间进行系统运行测试,更重要的是这次编译后期(第一次因为内存耗尽而提示编译进程被关闭的时候)使用了NINJAJOBS=1 make…只有一个编译线程的话,8G内存应该足够——但是一个线程就需要将近8GB的内存(库的链接之类的)…至少需要32G内存的电脑,现在看来也不是特别先进,更不论五个月之后下一个LFS版本发布之际…总之,继续编译所有KDE程式。

这次编译的Liddy’s Linux当中有两种日历程式,Calindori与Korganizer,下次编译时保留Korganizer就可以了…哎。因为画使的工作接触的电脑大多为桌面台式或是笔记本,而不是平板电脑等,也可能是咱的想法太保守了。

Digikam推荐安装Eigen3…打开官方网站显示源码库正在维护,只能从Debian程式库当中下载。

编译QtAV的时候遇到了如下错误:
/sources/QtAV-1.12.0/src/QtAV/private/AVCompat.h:82:10: 致命错误:libavfilter/avfiltergraph.h:没有那个文件或目录
经查找,决定重新编译安装一遍FFmpeg,重编译安装之后若仍旧出现这个错误,则表明QtAV版本太旧…最新版本也是四年之前来着——结果没有效果,果然最新的QtAV版本已经太旧了…想到了方才看官方网站的时候,似乎停止更新?…哎。

编译KRename时遇到了如下错误:
/usr/bin/ld: /usr/lib/libpodofo.a(PdfEncrypt.cpp.o): undefined reference to symbol ‘EVP_EncryptUpdate@@OPENSSL_1_1_0’
安装OpenSSL的话应该能解决问题…稍微查找了一下,是很重要的程式包…但是为什么现在的BLFS没有收录?而且libcrypto也已经安装至Liddy’s Linux中…还是保守一些的好,KRename中podofo只是可选项,先看看能否禁用——最后还是没有禁用,设置中添加了“-DCMAKE_CXX_FLAGS=”-lssl -lcrypto””解决了问题…原来如此,既然当初编译Liddy’s Linux之时没有错误的话,libcrypto也不能被准备安装的OpenSSL覆盖…以后多加注意解决链接库的问题罢。还有,编程相关的知识一定要继续去学——准备说这些来着,添加了CXX_FLAGS继续编译之后又遇到了如下问题:
/usr/bin/ld: /usr/lib/libpodofo.a(PdfFontConfigWrapper.cpp.o): undefined reference to symbol ‘FcConfigDestroy’
这样就简单了,继续添加“-lfontconfig”试试…但是又遇到了如下问题:
PdfString.cpp:(.text+0x19ca): undefined reference to `u8_to_u16′
…不可能连基本的GCC库都找不到…查找了一些资料,以及以前Liddy’s Linux的编译资料——再试着重新编译一下PoDoFo一试?这次编译设置当中添加了“-DCMAKE_CXX_FLAGS=”-fPIC””…动态寻找并且链接库的话,再编译Krename不会再出现什么问题罢…看起来不是这样,还是遇到了同样的问题…再试着添加链接库好了,需要一些时间——…结果还是禁用了PoDoFo(-DPoDoFo_INCLUDE_DIRS= -DPoDoFo_LIBRARIES= )进行了Krename的编译——这次编译Liddy’s Linux时再次遇到这样的问题,例如编译Scribus的时候再遇到这样的问题再进行解决罢。

编译Zanshin时所遇到的错误:
/sources/zanshin-0.5.71/build/src/zanshin/kontact/kontact_zanshinplugin_autogen/EWIEGA46WW/../../../../../../src/zanshin/kontact/kontact_plugin.h:39:13: 错误:‘ReadOnlyPart’不是命名空间‘KParts’中的一个类型名
…但是Zanshin的官方网站看起来很新…应该是Zanshin源代码包过旧的问题,一年九个月还是十个月之前…

xplant源代码包过于旧…编译时需要添加-std=c++98,就这样也遇到了错误…
/usr/include/c++/11.2.0/cstdlib:252:22: 错误:‘strtold’ has not been declared in ‘__gnu_cxx’
…没办法,放弃掉。(KStars的可选项)

Kget与KTorrent需要编译Plasma5桌面环境方能获得完整的支持…Plasma5桌面环境安装完毕之后再进行编译安装。另外Krita亦准备放在Plasma5编译安装完成之后继续…编译Plasma5之前还要再次进行备份。那样,今日Liddy’s Linux的编译工作暂且这些…

今日编译与安装的程式,皆为KDE框架之下的程式…各程式详情参见此处:
https://apps.kde.org/zh-cn/

Dolphin Kate Calindori KAddressBook Kontact Korganizer Digikam Kontrast Kruler KXStitch Skanlite Filelight KAlarm KCalc KFind KMag KMouth KNotes KRename KRonometer KTeaTime KTimer KTimetracker Spectacle Sweeper Zanshin Kcharselect KImagemapeditor Dragon KStars Elisa KWave Kid3 Kiten Akregator Ksystemlog Ksysguard Konversation Konqueror Falkon

今日编译与安装的程式包列表如下:

anthy-9100h
iBus-Anthy-1.5.13
SunPinYin-3.0.0-rc2
Wine-6.18
wacomtablet-20211002
baloo-widgets-21.08.0
kuserfeedback-1.0.0
PackageKit-Glib-1.2.4(暂时无用)
PackageKit-Qt5-0.9.6
Dolphin-21.08.0
kate-21.08.0
open-gram-0.1.22+20170109-2
calindori-1.4(不必要的桌面程式)
GPGME-1.16.0 再安装(Qt模块——QGpgme)
Kpimtextedit-21.08.0
libkleo-21.08.0
libaccounts-glib-20211003
libaccounts-qt-20211003
SignOnQt5-20211003
kaccounts-integration-21.08.0
kaccounts-providers-21.08.0
akonadi-21.08.0
Python-2.7.18「重要!仅仅为了满足QtWebEngine依赖关系而构建,若是明年三月之时,QtWebEngine使用Python3的话,不应该再安装该程式包!同时没有安装相关文档,因为没有必要。」
Pipewire-0.3.34
QtWebEngine-5.15.6
Kontactinterface-21.08.0
libkdepim-21.08.0
grantleetheme-21.08.0
Kmime-21.08.0
Akonadi-contacts-21.08.0
Kimap-21.08.0
QtKeyChain-0.12.0(使用了默认cmake设置)
Kldap-21.08.0
akonadi-mime-21.08.0
akonadi-search-21.08.0
Pimcommon-21.08.0
Kontact-21.08.0
Kidentitymanagement-21.08.0
Ksmtp-21.08.0
Libkgapi-21.08.0
Kmailtransport-21.08.0
Kcalutils-21.08.0
Akonadi-calendar-21.08.0
Akonadi-Notes-21.08.0
Kdiagram-2.8.0
CalendarSupport-21.08.0
Eventviews-21.08.0
Incidenceeditor-21.08.0
Korganizer-21.08.0
KAddressBook-21.08.0
Libksane-21.08.0
Eigen3-3.3.9
Libgphoto2-2.5.27
Ccache-4.4.2(添加了-DREDIS_STORAGE_BACKEND=OFF)
Lensfun-0.3.95
Liblqr-0.4.2
FFmpeg-4.4 重新安装,没有效用
marble-21.08.0
digikam-7.3.0
Kontrast-21.08.0
Kruler-21.08.0
KXStitch-2.2.0
Skanlite-21.08.0
Filelight-21.08.0
Kalarmcal-21.08.0
Kalarm-21.08.0
KCalc-21.08.0
KFind-21.08.0
libqaccessibilityclient-0.4.1
KMag-21.08.0
KMouth-21.08.0
KNotes-21.08.0
Podofo-0.9.7(添加了-DCMAKE_CXX_FLAGS=”-fPIC”)
KRename-5.0.1(添加了-DPoDoFo_INCLUDE_DIRS= -DPoDoFo_LIBRARIES= )
KRonometer-2.2.3
KTeaTime-21.08.0
KTimer-21.08.0
KTimeTracker-5.0.1
kColorPicker-0.1.6
kImageAnnotator-0.5.2
Spectacle-21.08.0
Sweeper-21.08.0
KCharSelect-21.08.0
KImagemapeditor-21.08.0
Dragon-21.08.0
cfitsio-4.0.0
wcslib-7.7
KStars-3.5.5
Elisa-21.08.0
Audiofile-0.3.6
id3lib-3.8.3
KWave-21.08.0
Chromaprint-1.5.0
Kid3-3.8.7
Kiten-21.08.0
libgravatar-21.08.0
kmbox-21.08.0
Messagelib-21.08.0
Akregator-21.08.0
KSystemLog-21.08.0
Libksysguard-5.22.4(日后编译Plasma5桌面时还会再编译安装一遍)
KSysGuard-5.22.0
Konversation-21.08.0
Libktorrent-21.08.0
Konqueror-21.08.0
Falkon-3.1.0

Published inLiddy's Linux编译日志

Be First to Comment

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

18 − 2 =