1. 程式人生 > >linux環境下ARM移植libcurl

linux環境下ARM移植libcurl

因為用的板子是ZLG的imx280a,所以我安裝的Ubuntu直接用他們給的了。

系統環境:VM-Ubuntu-12.04-64bit-zlg(這個無所謂,我直接用的ZLG官方給的映象安裝的)

libcurl的安裝包:curl-7.55.1.tar(這是我做的時候出的最新版本,最新版本去官網下載:戳我!開啟連結

交叉編譯環境:arm-none-linux-gnueabi-   這裡要注意你得安裝了交叉編譯工具鏈,以我的為例,我的交叉編譯鏈都在/opt/gcc-4.4.4-glibc-2.11.1-multilib-1.0/arm-fsl-linux-gnueabi/bin/目錄下。


好了,進入正題。

1.1、直接貼出程式碼:

[email protected]:~$ tar -zxvf curl-7.55.1.tar.gz

[email protected]:~$ cd curl-7.55.1/

[email protected]:~$./configure --prefix=/home/vmuser/libcurl --host=arm-none-linux CC=arm-none-linux-gnueabi-gcc CXX=arm-none-linux-gnueabi-g++(注意綠色部分是你想把生成的檔案存放的位置

[email protected]

:~$ make

[email protected]:~$ make install(注意在這一過程中可能會出現一些錯誤的提示語句,我們先跳過去,執行到最後)

1.2、我們在/home/vmuser目錄下可以看到生成的libcurl資料夾。進去檢視資料夾下的內容,可以看到四個資料夾。


1.3、進入lib目錄,我們要保證有以下幾個檔案就可以了


然後我們把libcurl整個資料夾拷貝到板子上。這裡我用的是U盤拷貝。

2.1、拷貝檔案到/lib目錄。

給開發板上電,登入後將U盤上的檔案拷貝到板子檔案系統根目錄下/usr/lib或者/lib裡都可以。這裡我拷貝到了/lib目錄下。

[email protected]

~# cp -R  /media/usb-sda1/libcurl/.  /lib(綠色部分是我的U盤的目錄)

此時在/lib下可以看到bin、include、lib、share四個檔案。

拓展一下: [email protected] ~# cp -R /media/usb-sda1/libcurl/ /lib

用上邊的命令在/lib下只有libcurl一個資料夾。這是cp -R /. 和cp -R / 的區別。

2.2、修改環境變數。

這裡我修改了/etc/profile檔案,目的是使修改對所有使用者生效,不用每次都修改了。

[email protected] /etc# vi profile
PATH=/iptables/bin:/iptables/sbin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/lib/bin
test_value=`/bin/cat /sys/devices/platform/zlg-systemType/board_name`
if [ $test_value = "287B" ]
then
        echo "this board is EasyARM-iMX287B"
        export HOSTNAME="EasyARM-iMX287B"
fi

我們在第二行的PATH語句末尾新增“:/lib/bin”就可以了,然後儲存退出。輸入sync語句同步檔案,然後重啟即可。

[email protected] /# sync
[email protected] /# reboot

重啟後在開發板裡輸入curl指令,如果跟下面的提示一致,恭喜你成功了。

[email protected] ~# curl
curl: try 'curl --help' or 'curl --manual' for more information
不過我第一次並沒有成功,提示資訊如下:
[email protected] ~# curl
curl: error while loading shared libraries: libcurl.so.4: cannot open shared object file: No such file or directory
提示缺少libcurl.so.4,怎麼辦?還記得我們拷貝到/lib目錄下有一個lib的資料夾,裡邊有這個libcurl.so.4
[email protected] /lib/lib# ls
libcurl.a         libcurl.so        libcurl.so.4.4.0
libcurl.la        libcurl.so.4      pkgconfig
於是把libcurl.so.4這個檔案拷貝到/lib下即可。
[email protected] /lib/lib# cp libcurl.so.4 /lib/
[email protected] /lib/lib# curl
curl: try 'curl --help' or 'curl --manual' for more information

可以看到我們成功安裝curl。

由於開發板的檔案系統都不一樣,所以安裝過程中還有可能出現下面的提示:

[email protected] ~# curl

curl:error while loading shared libraries:libssl.so.1.0.0: cannot open shared object file: No such file or directory

由於我的開發板在/lib目錄下有libssl.so.1.0.0這個檔案,所以具體怎麼做我也沒有細看。不過可以參考另一個部落格,部落格地址:http://blog.csdn.net/miaodichiyou/article/details/50385049

下邊列出我感覺還比較有用的關於ARM移植方面的部落格地址(轉載請註明地址)

1.http://blog.csdn.net/miaodichiyou/article/details/51451134

2.http://blog.csdn.net/makenothing/article/details/39250491

3.http://blog.csdn.net/lifan5/article/details/7350154

4.http://blog.csdn.net/qianghaohao/article/details/51684862

最後,我把我下載的libcurl的安裝包curl-7.55.1.tar和生成的libcurl檔案分享出來,注意這個libcurl檔案只適用於ZLG的imx28系列,其他板子不好使。有用ZLG的imx28系列板子的小夥伴可以下載。

連結:https://pan.baidu.com/s/1jJPsdwy 密碼:r8l7

相關推薦

linux環境ARM移植libcurl

因為用的板子是ZLG的imx280a,所以我安裝的Ubuntu直接用他們給的了。 系統環境:VM-Ubuntu-12.04-64bit-zlg(這個無所謂,我直接用的ZLG官方給的映象安裝的) libcurl的安裝包:curl-7.55.1.tar(這是我做的時候出的最

00 Linux環境ARM裸機開發工程的建立示例(Cortex-A8)

Linux環境下ARM裸機開發工程的建立示例(Cortex-A8)      本文將介紹如何在Linux環境下建立一個ARM的裸機開發專案工程,其內容將涉及Linux c語言,ARM組合語言,Linux shell命令與及Linux工程管理器make的配置檔案--Mak

交叉編譯arm Linux環境的android-tools-adb

前言     專案使用Rockchip的3399挖掘機demo板,使用官方提供的Debian Linux SDK(官方github原始碼連結:https://github.com/rockchip-linux)進行開發定製。當前需要將Android上的除錯工具adb移

ethercat IGH移植linux環境出現的問題

問題1:當進行核心編譯的時候出現了編譯出錯的問題 如圖 編譯核心時出現“Disable CONFIG_CC_STACKPROTECTOR in your kernel configuration”字樣,在網上查詢資料最終在 https://blog.csdn

ARM+linux環境程式的開發和燒錄

一  方法一( 串列埠通訊 ):         1.  在PC開發端的linux環境中寫好原始碼。         2.  使用交叉編譯器arm-linux-gcc編譯之。         3.  用超級終端或者DNW建立ARM開發板與PC開發端的連線給ARM開發

Linux環境的 pyenv的安裝

pyenvCentOS上安裝pyenv:在安裝pyenv前,需要先安裝如下的依賴包:在 CentOS/RHEL/Fedora 下:yum install readline readline-devel readline-static yum install openssl openssl-devel open

linux環境部署zabbix3.2、模板、郵件告警詳細過程

-1 ice erer without zlib zip ever native item 服務端部署: 系統環境及軟件版本: Linux:release 6.3 zabbix:zabbix-3.2.5.tar.gz nginx:nginx-1.12.0.tar.gz ph

2.Linux環境配置Solr4.10.3

margin 內容 src source -type alt 技術 tgz 安裝包 1.準備階段 操作系統:CentOS 6.8 安裝包:/home/test solr-4.10.3.tgz.tar IK Analyzer 2012FF_hf1.zip jdk-8u12

由一個簡單需求到Linux環境的syslog、unix domain socket

message python domain 服務器 import 需求:回到頂部  工作中有一個在Linux(debian8)環境下運行的服務器程序,用python語言實現,代碼中有不同優先級的日誌需要記錄,開發的時候都是使用python的logging模塊輸出到文件,示例代碼如下:  

(1)Jenkins Linux環境的簡單搭建

linux java jenkins安裝部署 jdk apache-maven (1)Jenkins Linux環境下的簡單搭建 Jenkins是一個開源軟件項目,旨在提供一個開放易用的軟件平臺,使軟件的持續集成變成可能。----百度百科 這是一款基於Java開發的工具。種種

linux 環境備份oracle 數據庫

備份 命令 目錄 lin 安裝目錄 su - linux 輸出 所有者 登陸linux後,進入oracle的安裝目錄下,找到bin那個目錄,進入bin目錄ls -l 看這些命令的所有者: su - oracle這時會進入這個用戶的主目錄/home/oracle,此時,可以用

將windows上面的項目拷貝到Linux環境報錯不能夠找到對應的表com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'puyang.ServiceType' doesn't exist

exce 服務 inux 區分 大小 blog alt logs 就會 將一模一樣的項目從win遷移到到linux上報錯: 一開始還是以為是linux不能識別hql語句,查找資料發現是因為Liunx服務器上mysql是區分大小寫的,而本地是不區分的如:代碼是這樣寫的@En

linux環境關於顯示日期及修改密碼的小練習

一只小菜鳥的成長1.顯示1984-11-18是1984年的第幾天 2.顯示當前的日期 ##上面是兩種不同的表現形式## 3.在超級用戶下修改student用戶的密碼,並且student用戶在第一次登錄後強制修改密碼 ## passwd -e ## 強制修改密碼##註意:當使用root用戶修改其他用戶密

Linux環境使用SSH判斷端口是否通

linux telnet redhat 在Linux環境下使用SSH判斷端口是否通在windows/linux環境下,可以使用telnet判斷端口狀態,但有時候在Linux環境下沒有telnet,所以可以使用ssh判斷端口狀態。 一、ssh使用方法:命令:ssh -v -p port [email

linux環境tomcat啟動成功,請求頁面出現404

無法 .html 奇怪 tomcat啟動 web訪問 第一次 裏的 同事 有變 這種情況很多,本文記錄我遇到比較奇葩的情況。 第一次tomact啟動成功,訪問404,亂搗鼓不知怎麽好了;第二次tomcat啟動成功,可以訪問部分鏈接,有些卻報404,但是代碼和數據都還是以前的

linux環境jdk部署配置

etc $path 是否 ssp java jdk1 配置系統 exp 執行文件 1、java官網下載相關的jdk包 2、配置系統環境變量,編輯/etc/profile文件,在文件的末尾添加一下信息: export JAVA_HOME=/usr/jdk1.8.0_101ex

eclipse遠程調試Linux環境的web項目

config pil logs .com xxx web declare 但是 遠程服務 前提: 遠程服務器上的代碼和本地的代碼同步 第一步 : 配置遠程服務器下的startup.sh文件   在第一行添加 : declare -x CATALINA_OPTS="-se

Linux環境安裝XAMPP的PHP的PDF擴展

dynamic obj directory -- lib mic php.ini ble 報錯 安裝pdf擴展1. wget http://pecl.php.net/get/pdflib-4.1.2.tgz2. tar zxvf pdflib-4.1.2.tgz3. cd

Linux環境啟動MySQL數據庫出現找不到mysqld.sock的解決辦法!

備註 sta 就會 超級 默認目錄 sql數據庫 su - 用戶 lib 問題:   在普通用戶權限下運行:mysql -u root -p,回車之後如果會出現如下錯誤:ERROR 2002 (HY000): Can‘t connect to local MySQL ser

linux環境pytesseract的安裝和央行征信中心的登錄驗證碼識別實戰

int tab 權限 linux a-z 都是 提示 解釋 text 首先是安裝,我參考的是這個 http://blog.csdn.net/xinghun_4/article/details/47860645 我是centos,使用yum yum install pyt