用 docker container 來編譯程式

故事是這樣子的,最近受朋友之託研究一個套件,在編譯的時候…不知道為什麼我的 Archlinux 編不起來,有某個奇怪的 bug 蒙蔽了我的雙眼擋住了我而且一時之間解不掉,目前看起來像是 golang 那邊的鍋。
總之目前看起來像是 Archlinux 限定的問題,如果裝一台 ubuntu 18.04 的虛擬機,在裡面 build 就沒這個問題,可以完成編譯。
不過想想,現在都 2020 年了,怎麼連 docker 怎麼用都還沒學起來(查一下這玩意 2013 年就已經問世了耶…), 就本例來說沒事還要開一個巨大的 virtualbox ,建個巨大的虛擬磁碟再安裝作業系統真的有點划不來,就花了點時間學了一下 docker , 然後順便記個筆記,不然這年頭發現自己學習能力低落,連 docker 這麼簡單的東西都學不好QQ。

...

在Archlinux 上安裝mariadb筆記 (Install mariadb on Archlinux)

最近在我的Archlinux 上面安裝MySQL,結果撞了一堆牆,在這裡筆記一下過程,希望有機會的話能幫到其他使用者。

...

進行arm 開發時遇到的各種狀況

約一週前重灌了電腦,重灌這檔事最麻煩的就是一些開發環境會消失不見,平常用得順手的東西突然不見了,例如我的arm 開發環境就是一例:

...

在Archlinux 安裝arduino 開發環境

最近開始接觸arduino開發板,在archlinux 上開發arduino 也相當簡單,照著 wiki 做便是:

...

archlinux 上使用archlinux-java 切換不同java 版本

Java 2014 年就推出java 8 了,從java 6 到java 8 共有三個版本的 java,各版本間無法相容,例如要開發Android 的話就要使用java 6, 而目前電腦上安裝的Eclipse Mars 2.0,看到java 6 就會作嘔回報:

Version 1.6.0_45 of the JVM is not suitable for this product. Version: 1.7 or greater is required.

在Ubuntu 上開發時,可以使用alternatives 來切換不同的java 版本

...

在X86機器上debug ARM 執行檔

以後有可能會用到,寫這篇純粹做個記錄。

故事是這樣子的,最近閒來無事研究一下傳說中 jserv 大神的amacc,有些地方實在看不出程式執行至此時一些變數的值為何,這時我們就要用gdb 了
不過amacc 是用 arm-linux-gnueabihf-gcc 編出來的arm 執行檔,我們host gdb 是X86 在執行時就會報錯:可執行檔格式錯誤
如果用arm-linux-gnueabihf-gdb 呢:它會寫 Don’t know how to run.

...