使用ELDK 5.3 APR.H ssize_t错误在Centos 6.3上交叉编译ARM的freeswitch

时间:2013-01-19 07:26:58

标签: linux arm cross-compiling freeswitch

我正在尝试使用CentOS 6.3上的ELDK 5.3交叉编译ARM的freeswitch。

在make上发现此错误:

./include/apr.h:347:2: error: #error Can not determine the proper size for ssize_t

我已经完成了声明以下内容

declare -x CROSS_COMPILE="/opt/eldk-5.3/armv5te/sysroots/i686-eldk-linux/usr/bin/armv5te-linux-gnueabi/arm-linux-gnueabi-"
declare -x CC="$CROSS_COMPILE"gcc
declare -x CXX="$CROSS_COMPILE"g++
declare -x CPP="$CROSS_COMPILE"cpp
declare -x STRIP="$CROSS_COMPILE"strip
declare -x RANLIB="$CROSS_COMPILE"ranlib
declare -x AR="$CROSS_COMPILE"ar
declare -x AS="$CROSS_COMPILE"as
declare -x NM="$CROSS_COMPILE"nm
declare -x LD="$CROSS_COMPILE"ld

export PATH=$PATH:/opt/eldk-5.3/armv5te/sysroots/i686-eldk-linux/usr/bin/armv5te-linux-gnueabi

使用以下标志配置

./configure --target=arm --host=arm-linux --build=i686-linux --prefix=/opt/eldk-5.3/armv5te/rootfs-base/armcodasVL  ac_cv_file__dev_ptmx=yes config_BUILD_CC=gcc config_TARGET_CC=arm-linux-gnueabi-gcc config_TARGET_READLINE_INC=" " ac_cv_file__dev_zero=yes ac_cv_func_setpgrp_void=yes apr_cv_tcp_nodelay_with_cork=yes ac_cv_file_dbd_apr_dbd_mysql_c=no ac_cv_va_copy=yes

接着是make,我无法弄明白为什么会发生这种情况!如果您有任何人面对同样的情况,请建议吗?

2 个答案:

答案 0 :(得分:1)

我之前发布的解决方案有点糟糕,因为它是在生成的标题中,后来我找出了正确的方法,这就是添加配置标志

export ac_cv_sizeof_ssize_t=4;

在配置之前就完成了,从那以后一切都很顺利!

答案 1 :(得分:0)

我以某种方式通过替换libs / apr / include / apr中的以下行来管理它。

#error Can not determine the proper size for ssize_t

#define APR_SSIZE_T_FMT "ld"