正確安裝Library給cross compiler的方式 - Linux

Ida avatar
By Ida
at 2014-04-04T21:38

Table of Contents

※ 引述《fishlinghu (令狐瑜)》之銘言:
: 我最近在開發Zedboard這塊板子
: 所以有用到cross compiler
: 我是用現成的arm-linux-gnueabi-g++
: 可是最近幾天遇到許多問題
: 就是我不知道該怎麼樣才有辦法把library或相關package
: 安裝好給cross compiler使用
: 我遇到的第一個問題是安裝LibSerial這個library的時候
: 我用apt-get把可以抓的相關套件都裝好了
: 可是不管怎樣我下-lserial的指令的時候cross compiler就是reference不到
: 我照這篇
: http://stackoverflow.com/questions/2272200/undefined-referance-to-libserial
: 下去/usr/lib裡面看該有的檔案明明都有
: 後來我想到這篇可能只適用於一般g++
: 我就把那個library的相關檔案也都丟進/usr/arm-linux-gnueabi/lib下面
: 然後就變成skipping incompatible......cannot find......
: 我認為是library安裝錯誤的問題
: 不知道有沒有人可以告訴我該怎麼正確安裝library
: 或是提供我一個你認為不錯的網站
: 然後另一個問題是
: 我在make uboot的時候遇到沒有dtc的問題
: 我就去抓了dtc壓縮檔
: 解壓之後make + make install(裡面沒有configure檔)
: 可是我打dtc -v terminal還是顯示根本沒有這個套件
: 另外這個套件應該也是要讓我的cross compiler找得到才對
: 以上
: 希望有人可以為我解答
: 或是提供我一個你認為可以參考的網站
: 非常非常感謝你
: 我現在搞不太清楚linux的套件跟library都是怎麼裝還有裝在哪裡
: 還有當我下指令的時候linux是去哪裡找套件
: compiler的時候compiler是怎麼reference到library(我看到超多叫作lib的資料夾)
: 以及該怎麼樣g++/arm-linux-gnueabi-g++才會看得到我要給他們用的東西
: BTW我是用Ubuntu12.04.4 LTS

在ubuntu 12.04/debian 7之前,我會推薦用scratchbox2。

但自從debian系列支持multiarch之後,scratchbox2就壞掉了。



稍微介紹一下scratchbox2原理(假設host是x86, target是armel,就是沒有hard float):

在x86 host上面要編譯arm的binary file,如果只有用到standard C library的話,

cross compiler就可以了。但是當要用到別的library例如qt,gtk, 或是xlib.

你就必須要讓cross compiler知道要去哪裡找到armel版本的library在哪,所以你光是灌

x86版本的lib是不行的,必須灌armel版本的lib. 在現在的multiarch架構下是辦得到的

但是這樣會搞得host端library版本很混亂。

scratchbox2則是需要使用者準備一個arm的rootfs,然後用sb2-init指令建立連結。

以後用sb2 編譯命令(sb2 gcc, sb2 make)時,就會自動到那個rootfs找需要的library.

如果rootfs裡面沒有需要的lib, 則chroot進去,用apt-get裝起來就好了。



只是scratchbox2似乎很久沒有維護了,現在我正在修,不過功力不夠......
(我大部分的時間都在上成人網站,而且coding很爛)
https://github.com/h113331pp/scratchbox2

git下來之後, 記得change branch到2.3_development。
目前sb2 wrapper中的ldd跟dpkg-checkbuilddeps是壞的,哪個好心人幫我修一下 囧

--
Tags: Linux

All Comments

George avatar
By George
at 2014-04-07T23:01
推強者

正確安裝Library給cross compiler的方式

Necoo avatar
By Necoo
at 2014-04-04T11:08
我最近在開發Zedboard這塊板子 所以有用到cross compiler 我是用現成的arm-linux-gnueabi-g++ 可是最近幾天遇到許多問題 就是我不知道該怎麼樣才有辦法把library或相關package 安裝好給cross compiler使用 我遇到的第一個問題是安裝Lib ...

找不到HP ML110 G5 centos的RAID驅動...

Queena avatar
By Queena
at 2014-04-03T01:49
剛剛看了一下 Embedded RAID晶片應該是Adaptec的 這個也可試看看 http://www.adaptec.com/en-us/downloads/rh/ rhel_6/productid=sas-5805andamp;dn=adaptec+raid+5805.html ...

Win8弄雙系統方法?

Madame avatar
By Madame
at 2014-04-02T22:59
我C槽、D槽都有裝程式 原本想用Wubi做多重開機選單 可是後來發現網路上寫Win8不可以 所以想請問有其他 類似Wubi得程式裝Ubuntu12.04 LTS 64位元的嗎? 然後我USB不見了 灌雙作業系統能用iso檔+虛擬光碟機來裝嗎? - ...

徵求高屏區會架討論區之強者

Candice avatar
By Candice
at 2014-04-02T22:33
地點:屏東市或高雄市 徵人需求: 有架設網站論壇經驗(目前是用discuz) 酬勞:面議 說明:因為我想要架設論壇,但因為沒有基礎,雖然用discuz不難,但我在安裝過程 問題百出,所以希望能找到高手能在身邊請教,如此才有效率,教學地點是在網咖 , ,會到的問題可能五花八門,故希望是真的很 ...

刪除ubuntu後,進不去windows

Selena avatar
By Selena
at 2014-04-02T22:15
日前將windows 8.1的筆電, 另外隔出兩個磁區灌ubuntu 13.10 做成雙系統。 但實在難以上手,看網路上建議用ubuntu 12比較穩定 於是就直接在windows 8.1界面下,將ubuntu的那兩個磁區刪除.. 結果重新開機後,連windows也進不去了.. 連想要進去bios設定都不 ...