從零構建deepin armhf系統(二)

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

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章