3531交叉編譯htop

2021-10-11 19:12:26 字數 3397 閱讀 6126

工作需要,開始折騰海思晶元,從頭開始,折騰。

終端顯示的內容如下:

checking if compiler supports -wextra... yes

checking for refresh in -lncurses... no

checking for refresh in -lncurses6... no

checking for refresh in -lncurses... (cached) no

checking curses.h usability... yes

checking curses.h presence... yes

checking for curses.h... yes

checking for python... python

configure: error: missing libraries: libncurses

最後只好看config.log檔案了,發現裡面有個奇怪的問題,提示缺少libtinfo庫,和libcurses

tinfo -l/home/hero/project/ncurses-6.1/install/lib conftest.c -lncurses  -lm  >&5

/opt/hisi-linux/x86-arm/aarch64-himix200-linux/host_bin/../lib/gcc/aarch64-linux-gnu/7.3.0/../../../../aarch64-linux-gnu/bin/ld: cannot find -ltinfo

collect2: error: ld returned 1 exit status

configure:6210: $? = 1

其實真不知道什麼意思,但是在網上瀏覽的時候找到乙個編譯vim的文章裡面提到了libtinfo的問題,只需要建立乙個鏈結到libcurses.so.6.1的軟連線即可。確實是這樣,建立軟連線後的庫如下:

hero@hero-virtual-machine:~/project/ncurses-6.1/install/lib$ ls -alh

total 12m

drwxrwxr-x 2 hero hero 4.0k 12月 10 17:24 .

drwxrwxr-x 6 hero hero 4.0k 11月 10 13:47 ..

-rw-r--r-- 1 hero hero 116k 12月 10 15:44 libform.a

-rw-r--r-- 1 hero hero 1.7m 12月 10 15:44 libform_g.a

lrwxrwxrwx 1 hero hero 12 12月 10 15:44 libform.so -> libform.so.6

lrwxrwxrwx 1 hero hero 14 12月 10 15:44 libform.so.6 -> libform.so.6.1

-rwxrwxr-x 1 hero hero 71k 12月 10 15:44 libform.so.6.1

-rw-r--r-- 1 hero hero 60k 12月 10 15:44 libmenu.a

-rw-r--r-- 1 hero hero 966k 12月 10 15:44 libmenu_g.a

lrwxrwxrwx 1 hero hero 12 12月 10 15:44 libmenu.so -> libmenu.so.6

lrwxrwxrwx 1 hero hero 14 12月 10 15:44 libmenu.so.6 -> libmenu.so.6.1

-rwxrwxr-x 1 hero hero 34k 12月 10 15:44 libmenu.so.6.1

-rw-r--r-- 1 hero hero 622k 12月 10 15:44 libncurses.a

-rw-r--r-- 1 hero hero 132k 11月 10 14:10 libncurses++.a

-rw-r--r-- 1 hero hero 6.3m 12月 10 15:44 libncurses_g.a

-rw-r--r-- 1 hero hero 865k 11月 10 14:10 libncurses++_g.a

lrwxrwxrwx 1 hero hero 15 12月 10 15:44 libncurses.so -> libncurses.so.6

lrwxrwxrwx 1 hero hero 17 12月 10 15:44 libncurses.so.6 -> libncurses.so.6.1

-rwxrwxr-x 1 hero hero 327k 12月 10 15:44 libncurses.so.6.1

-rw-r--r-- 1 hero hero 25k 12月 10 15:44 libpanel.a

-rw-r--r-- 1 hero hero 471k 12月 10 15:44 libpanel_g.a

lrwxrwxrwx 1 hero hero 13 12月 10 15:44 libpanel.so -> libpanel.so.6

lrwxrwxrwx 1 hero hero 15 12月 10 15:44 libpanel.so.6 -> libpanel.so.6.1

-rwxrwxr-x 1 hero hero 18k 12月 10 15:44 libpanel.so.6.1

lrwxrwxrwx 1 hero hero 13 12月 10 17:24 libtinfo.so -> libtinfo.so.6

lrwxrwxrwx 1 hero hero 17 12月 10 17:24 libtinfo.so.6 -> libncurses.so.6.1

lrwxrwxrwx 1 hero hero 17 12月 10 15:44 terminfo -> ../share/terminfo

把編譯好的htop和libncurses.so.6.1拷貝到板子上面,執行有報錯了!!!!這次是error opening terminal: xterm., 根據這個文件裡面的說明,我把電腦上面的/usr/share/terminfo放到了板子上面,執行還是會報同樣的錯誤,然後看echo $term的結果是

-bash-5.1$ echo $term

xterm

但是我去/usr/share/terminfo/x/目錄裡面找,卻沒有發現xterm,而是有其他的所以我嘗試了export term=xterm-vi再執行htop,ok了。

htop 交叉編譯,應用

在操作上面,比top顯得更加方便,但是好多系統預設是沒喲htop的,這樣我就總結一下htop的交叉編譯方法,同樣htop的原始碼也有助於自己編寫系統程序,方便從後台來了解系統的運 況。htop的交叉編譯,和大多數的開源專案的交叉編譯方法都是一樣的,所一我還要說萬變不離其宗。所以在某乙個問題上,啃下來...

hisi3531 valgrind 交叉編譯移植

valgrind 神器不用我多說,linux平台開發利器。一 安裝 1.autoconf wget tar zxvf autoconf 2.69.tar.gz cd autoconf 2.69 configure make make install 2.automake wget tar zxvf ...

編譯htop命令

輸入上面的內容開始自動配置makefile。但是出錯了,找不到libncurses庫。這時候需要編譯libncurses庫了。如上圖編譯ncurses 5.7庫的步驟,由於這裡只需要庫和標頭檔案。所以就選擇性編譯。最終編譯成功。即可在目標版上執行htop命令。但是執行出錯了。如下圖 這是因為ncur...