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目录下;

你可能感兴趣的:(网络,linuxc,802.1x)