接着上篇,在ddeapi 以及后面的编译耗时最长,不是技术问题而是卡在环境上
架设虚拟机qemu 编译ddeapi 编译 直接把qemu 搞崩溃,要么直接qmenu卡死 无任何响应
大概都是类型这种错误
qemu: uncaught target signal 11 (Segmentation fault) - core dumped
Segmentation fault
Makefile:57: recipe for target 'out/bin/hans2pinyin' failed
make[1]: *** [out/bin/hans2pinyin] Error 139
make[1]: Leaving directory '/home/deep/dde-api-3.18.4.1'
dh_auto_build: make -j1 returned exit code 2
debian/rules:6: recipe for target 'build' failed
make: *** [build] Error 2
dpkg-buildpackage: error: debian/rules build gave error exit status 2
root@debian999:/home/deep/dde-api-3.18.4.1#
然后使用真实的I7 64为Ubuntu 16.04服务器 问题依旧崩溃的更是离谱,虚拟机最起码概率性崩溃,而真实的机器直接一次性崩溃,这种 同样的代码不同的机器编译报错 可以很确定是qemu兼容性问题,也增加了信心,因为知道问题所在,中间尝试使用真实的arm设备 那编译速度简直无法容忍,直接放弃
最后终于测试到了一台机器可以正常编译 欣喜若狂 开始了漫长的编译
编译dde-api之前需要编译各种依赖blur-effect go-dbus-generator go-gir-generator go-lib 自己编译
下面的也可以自己编译 不过查看deepin源发现是适应各种平台 故不需要自己编译
golang-github-cryptix-wav-dev_0.0~git20171107.0.7b3d650-1_all.deb
golang-github-disintegration-imaging-dev_1.4.2-1_all.deb
golang-github-fogleman-gg-dev_1.1.0+r1_all.deb
golang-github-gavv-monotime-dev_0.0~git20161010.0.47d58ef-1_all.deb
golang-github-golang-freetype-dev_1.0+e2365dfd_all.deb
golang-github-linuxdeepin-go-dbus-factory-dev_0.8.0-1_all.deb
golang-github-linuxdeepin-go-x11-client-dev_0.4.0-1_all.deb
golang-golang-x-image-dev_0.0+git20181124+9b1e201e_all.deb
deepin-gettext-tools_1.0.8-1+stable_all.deb
可以到
http://packages.deepin.com/deepin 直接下载安装
最后编译成功
安装时需要 安装依赖
rfkill, locales, libcanberra-pulse, blur-effect, librsvg2-bin, fonts-noto-cjk, ttf-unifont,
bc, fontconfig, coreutils, alsa-utils
直接 apt --fix-broken install 一下即可自动安装
编译 dde-daemon
这里修复了编译时的错误
1.主要找不到 deepin-wm-switcher 而如果你安装了 stardde 又与 deepin-wm-switcher 冲突 故直接吧 报错的代码直接注释掉 这个应该是 deepin-wm 需要的 dde-kwin 不需要
nano dock/dock_manager.go
dock_manager_init.go
"github.com/linuxdeepin/go-dbus-factory/com.deepin.wmswitcher" 注释掉
关联的也去掉
2.
报错
core.c:308:10: error: ‘LIBINPUT_EVENT_GESTURE_TAP_BEGIN’ undeclared (first use in this function); did you mean ‘LIBINPUT_EVENT_GESTURE_SWIPE_BEGIN’?
case LIBINPUT_EVENT_GESTURE_TAP_BEGIN:
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
LIBINPUT_EVENT_GESTURE_SWIPE_BEGIN
core.c:308:10: note: each undeclared identifier is reported only once for each function it appears in
core.c:310:10: error: ‘LIBINPUT_EVENT_GESTURE_TAP_END’ undeclared (first use in this function); did you mean ‘LIBINPUT_EVENT_GESTURE_TAP_BEGIN’?
case LIBINPUT_EVENT_GESTURE_TAP_END:
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
LIBINPUT_EVENT_GESTURE_TAP_BEGIN
core.c: In function ‘handle_events’:
core.c:436:14: error: ‘LIBINPUT_EVENT_GESTURE_TAP_BEGIN’ undeclared (first use in this function); did you mean ‘LIBINPUT_EVENT_GESTURE_SWIPE_BEGIN’?
case LIBINPUT_EVENT_GESTURE_TAP_BEGIN:
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
LIBINPUT_EVENT_GESTURE_SWIPE_BEGIN
core.c:437:14: error: ‘LIBINPUT_EVENT_GESTURE_TAP_UPDATE’ undeclared (first use in this function); did you mean ‘LIBINPUT_EVENT_GESTURE_SWIPE_UPDATE’?
case LIBINPUT_EVENT_GESTURE_TAP_UPDATE:
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
LIBINPUT_EVENT_GESTURE_SWIPE_UPDATE
core.c:438:14: error: ‘LIBINPUT_EVENT_GESTURE_TAP_END’ undeclared (first use in this function); did you mean ‘LIBINPUT_EVENT_GESTURE_TAP_BEGIN’?
case LIBINPUT_EVENT_GESTURE_TAP_END:{
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
LIBINPUT_EVENT_GESTURE_TAP_BEGIN
修改方法
https://github.com/jouyouyun/tap-gesture-patches/blob/master/patches/dde-daemon_3.2.3.patch
编译成功
编译 ddekwin seeionui startdde 正常编译 没多大问题
制作roofs 烧录真实机器
startx startdde