工作需要,開始折騰海思晶元,從頭開始,折騰。
終端顯示的內容如下:
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...