接着上篇,在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