linux下的freeradius的交叉編譯(總結)

1.下載壓縮包

下載路徑:https://download.csdn.net/download/cao849861802/11422879

下載的壓縮包的名字爲: freeradius_2.1.4.zip
2.解壓安裝包:

得到文件目錄freeradius_2.1.4

3.製作Makefile

Makefile存放最好創建在freeradius_2.1.4的上層目錄,好管理;

Makefile中的內容爲:

export CROSS-COMPILE := /home/freeradius/Marvell_toolchain_201201/armv7-marvell-linux-gnueabi-softfp_i686/bin/arm-marvell-linux-gnueabi-

export CC = $(CROSS-COMPILE)gcc
export AS = $(CROSS-COMPILE)as
export AR = $(CROSS-COMPILE)ar
export LD = $(CROSS-COMPILE)ld
export STRIP = $(CROSS-COMPILE)strip
export OBJCOPY = $(CROSS-COMPILE)objcopy
freeradiusconf:
    cd /home/freeradius/freeradius_2.1.4 && \
    ./configure --host=arm-linux --prefix=/home/freeradius/soft

freeradius:
    cd /home/freeradius/freeradius_2.1.4 && make

freeradiusinstall:
    cd /home/freeradius/freeradius_2.1.4 && make install

=========================================================================================

其中CROSS-COMPILE指的的編譯的工具鏈存放的位置,freeradiusconf中的--prefix指的是編譯make後執行make install的時候文件的存放路徑;

交叉編譯工具鏈目錄如下:

root@ecs-6ea7-0001:/home/freeradius/sdk/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi# ls
arm-poky-linux-gnueabi-           arm-poky-linux-gnueabi-gcc-ar      arm-poky-linux-gnueabi-nm
arm-poky-linux-gnueabi-addr2line  arm-poky-linux-gnueabi-gcc-nm      arm-poky-linux-gnueabi-objcopy
arm-poky-linux-gnueabi-ar         arm-poky-linux-gnueabi-gcc-ranlib  arm-poky-linux-gnueabi-objdump
arm-poky-linux-gnueabi-as         arm-poky-linux-gnueabi-gcov        arm-poky-linux-gnueabi-ranlib
arm-poky-linux-gnueabi-c++filt    arm-poky-linux-gnueabi-gcov-tool   arm-poky-linux-gnueabi-readelf
arm-poky-linux-gnueabi-cpp        arm-poky-linux-gnueabi-gdb         arm-poky-linux-gnueabi-size
arm-poky-linux-gnueabi-dwp        arm-poky-linux-gnueabi-gprof       arm-poky-linux-gnueabi-strings
arm-poky-linux-gnueabi-elfedit    arm-poky-linux-gnueabi-ld          arm-poky-linux-gnueabi-strip
arm-poky-linux-gnueabi-g++        arm-poky-linux-gnueabi-ld.bfd      
arm-poky-linux-gnueabi-gcc        arm-poky-linux-gnueabi-ld.gold
=========================================================================================

4.make freeradiusconf

5.make freeradius

6.make freeradiusinstall

遇到的問題及解決方法:

1.在編譯的過程中有時候可能會報錯(取決於編譯鏈是否好用)然後freeradius會將錯誤信息存放在/freeradius_2.1.4/config.log中,在文件中報錯如果是not found lib*。。。。,那麼就爲Makefile添加CFLAG 或者LIBOBJ之類的變量爲其添加庫的路徑;

2.在軟件運行過程中,如果編譯通過但是在實際的設備上運行過程中報某個庫找不到,查看上傳的軟件的目錄下的lib文件夾中是否有這個lib(1)如果有,則採用export LD_LIBRARY_PATH這種命令的形式爲其添加路徑;(2)如果目錄下沒有,則去工具鏈下查找利用find -name lib。。*查找,找到那個lib的位置將其弄出來上傳到設備的freeradius的目錄下的lib目錄下;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章