截编制Apache便携式运行时的iPhone
-
05-07-2019 - |
题
这是一个随到前一个问题上的交叉编制的iPhone:
截汇编Autotools基于图书馆的官方iPhone SDK
基本上,我试图汇编的Apache便携式运行时(四)版本1.3.8(新)的iPhone。我目前正在运行成以下错误在配置过程中的步骤:
checking for working PROCESS_SHARED locks... configure: error: in `/Users/michaelsafyan/Downloads/apr-1.3.8': configure: error: cannot run test program while cross compiling See `config.log' for more details.
我援引"configure"script通过"iphone3.1配置--disable-dso--enable-线",其中"iphone3.1配置"是以下脚本,我已经熟了援引"configure"script:
#! /bin/bash # # Program : iphone3.1-configure # Authors : Michael Aaron Safyan (michaelsafyan@gmail.com) # Synopsis : # This program runs the "configure" script generated by the # GNU Autotools in order to cross-compile thirdparty libraries # for the iPhone 3.1 SDK. Run this script while in a directory # containing an autotools "configure" script. Once you run this, # you can use "make" and "sudo make install" to build the library. # An install prefix of "/opt/iphone-3.1/" is used. # unset CPATH unset C_INCLUDE_PATH unset CPLUS_INCLUDE_PATH unset OBJC_INCLUDE_PATH unset LIBS unset DYLD_FALLBACK_LIBRARY_PATH unset DYLD_FALLBACK_FRAMEWORK_PATH export BUILD_DARWIN_VER=`uname -r` export SDKVER="3.1" export DEVROOT="/Developer/Platforms/iPhoneOS.platform/Developer" export SDKROOT="$DEVROOT/SDKs/iPhoneOS$SDKVER.sdk" export PKG_CONFIG_PATH=/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS$SDKVER.sdk/usr/lib/pkgconfig:/Developer/Platforms/iPhoneOS.platform/Developer/usr/lib/pkgconfig:/opt/iphone-$SDKVER/lib/pkgconfig:/usr/local/iphone-$SDKVER/lib/pkgconfig export PREFIX="/opt/iphone-$SDKVER" export AS="$DEVROOT/usr/bin/as" export ASCPP="$DEVROOT/usr/bin/as" export AR="$DEVROOT/usr/bin/ar" export RANLIB="$DEVROOT/usr/bin/ranlib" export CPPFLAGS="-pipe -no-cpp-precomp -I$SDKROOT/usr/lib/gcc/arm-apple-darwin9/4.2.1/include/ -I$SDKROOT/usr/include -I$DEVROOT/usr/include -I/opt/iphone-$SDKVER/include -I/usr/local/iphone-$SDKVER/include" export CFLAGS="-std=c99 -arch armv6 -pipe -no-cpp-precomp --sysroot='$SDKROOT' -isystem $SDKROOT/usr/lib/gcc/arm-apple-darwin9/4.2.1/include/ -isystem $SDKROOT/usr/include -isystem $DEVROOT/usr/include -isystem /opt/iphone-$SDKVER/include -isystem /usr/local/iphone-$SDKVER/include" export CXXFLAGS="-std=c99 -arch armv6 -pipe -no-cpp-precomp --sysroot='$SDKROOT' -isystem $SDKROOT/usr/lib/gcc/arm-apple-darwin9/4.2.1/include/ -isystem $SDKROOT/usr/include -isystem $DEVROOT/usr/include -isystem /opt/iphone-$SDKVER/include -isystem /usr/local/iphone-$SDKVER/include" export LDFLAGS="-arch armv6 --sysroot='$SDKROOT' -L$SDKROOT/usr/lib -L$DEVROOT/usr/lib -L/opt/iphone-$SDKVER/lib -L/usr/local/iphone-$SDKVER/lib" export CPP="$DEVROOT/usr/bin/cpp" export CXXCPP="$DEVROOT/usr/bin/cpp" export CC="$DEVROOT/usr/bin/gcc-4.2" export CXX="$DEVROOT/usr/bin/g++-4.2" export LD="$DEVROOT/usr/bin/ld" export STRIP="$DEVROOT/usr/bin/strip" if [ ! \( -d "$DEVROOT" \) ] ; then echo "The iPhone SDK could not be found. Folder \"$DEVROOT\" does not exist." exit 1 fi if [ ! \( -d "$SDKROOT" \) ] ; then echo "The iPhone SDK could not be found. Folder \"$SDKROOT\" does not exist." exit 1 fi ./configure --prefix="$PREFIX" --build="i386-apple-darwin$BUILD_DARWIN_VER" --host="arm-apple-darwin9" --enable-static --disable-shared ac_cv_file__dev_zero=no ac_cv_func_setpgrp_void=yes $@
的的错误配置是给我的不是我第一次收到消息沿线的"无法运行测试程序的同时,交叉编制".事实上,"交流_cv_文件__开发_零=没有"和"ac_cv_func_setpgrp_void=yes"的元素中的"iphone3.1-configure"script引起两个类似的失败的测试被绕过。这问题我有的是,我不知道如何绕过这个检查--也就是说,我不知道什么变量(s)设置绕过这个测试以及任何额外的测试,尝试运行可执行的内置为目标的平台。我能绕过前两个类似的试验,只是因为我能够找到解决办法在谷歌...任何人都不会知道什么变量设定或另一种方式来绕过这个检查吗?
如果有人知道一种方式抑制所有的测试,不能时执行交叉编制,或者如果你只是知道如何压制这一具体检查,我将大大赞赏。非常感谢你。
解决方案
以下变量,需要设置:
- 交流_cv_文件__开发_零="yes"
- ac_cv_func_setpgrp_void="yes"
- apr_cv_process_shared_works="yes"
- apr_cv_mutex_robust_shared="no"
- apr_cv_tcp_nodelay_with_cork="yes"
- ac_cv_sizeof_struct_iovec="8"
- apr_cv_mutex_recursive="yes"
使用以下更新"iphone3.1配置"的剧本配置程序:
#! /bin/bash # # Program : iphone3.1-configure # Authors : Michael Aaron Safyan (michaelsafyan@gmail.com) # Synopsis : # This program runs the "configure" script generated by the # GNU Autotools in order to cross-compile thirdparty libraries # for the iPhone 3.1 SDK. Run this script while in a directory # containing an autotools "configure" script. Once you run this, # you can use "make" and "sudo make install" to build the library. # An install prefix of "/opt/iphone-3.1/" is used. # unset CPATH unset C_INCLUDE_PATH unset CPLUS_INCLUDE_PATH unset OBJC_INCLUDE_PATH unset LIBS unset DYLD_FALLBACK_LIBRARY_PATH unset DYLD_FALLBACK_FRAMEWORK_PATH export BUILD_DARWIN_VER=`uname -r` export SDKVER="3.1" export DEVROOT="/Developer/Platforms/iPhoneOS.platform/Developer" export SDKROOT="$DEVROOT/SDKs/iPhoneOS$SDKVER.sdk" export PKG_CONFIG_PATH=/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS$SDKVER.sdk/usr/lib/pkgconfig:/Developer/Platforms/iPhoneOS.platform/Developer/usr/lib/pkgconfig:/opt/iphone-$SDKVER/lib/pkgconfig:/usr/local/iphone-$SDKVER/lib/pkgconfig export PREFIX="/opt/iphone-$SDKVER" export AS="$DEVROOT/usr/bin/as" export ASCPP="$DEVROOT/usr/bin/as" export AR="$DEVROOT/usr/bin/ar" export RANLIB="$DEVROOT/usr/bin/ranlib" export CPPFLAGS="-pipe -no-cpp-precomp -I$SDKROOT/usr/lib/gcc/arm-apple-darwin9/4.2.1/include/ -I$SDKROOT/usr/include -I$DEVROOT/usr/include -I/opt/iphone-$SDKVER/include -I/usr/local/iphone-$SDKVER/include" export CFLAGS="-std=c99 -arch armv6 -pipe -no-cpp-precomp --sysroot='$SDKROOT' -isystem $SDKROOT/usr/lib/gcc/arm-apple-darwin9/4.2.1/include/ -isystem $SDKROOT/usr/include -isystem $DEVROOT/usr/include -isystem /opt/iphone-$SDKVER/include -isystem /usr/local/iphone-$SDKVER/include" export CXXFLAGS="-std=c99 -arch armv6 -pipe -no-cpp-precomp --sysroot='$SDKROOT' -isystem $SDKROOT/usr/lib/gcc/arm-apple-darwin9/4.2.1/include/ -isystem $SDKROOT/usr/include -isystem $DEVROOT/usr/include -isystem /opt/iphone-$SDKVER/include -isystem /usr/local/iphone-$SDKVER/include" export LDFLAGS="-arch armv6 --sysroot='$SDKROOT' -L$SDKROOT/usr/lib -L$DEVROOT/usr/lib -L/opt/iphone-$SDKVER/lib -L/usr/local/iphone-$SDKVER/lib" export CPP="$DEVROOT/usr/bin/cpp" export CXXCPP="$DEVROOT/usr/bin/cpp" export CC="$DEVROOT/usr/bin/gcc-4.2" export CXX="$DEVROOT/usr/bin/g++-4.2" export LD="$DEVROOT/usr/bin/ld" export STRIP="$DEVROOT/usr/bin/strip" if [ ! \( -d "$DEVROOT" \) ] ; then echo "The iPhone SDK could not be found. Folder \"$DEVROOT\" does not exist." exit 1 fi if [ ! \( -d "$SDKROOT" \) ] ; then echo "The iPhone SDK could not be found. Folder \"$SDKROOT\" does not exist." exit 1 fi ./configure \ --prefix="$PREFIX" \ --build="i386-apple-darwin$BUILD_DARWIN_VER" \ --host="arm-apple-darwin9" \ --enable-static \ --disable-shared \ ac_cv_file__dev_zero="yes" \ ac_cv_func_setpgrp_void="yes" \ apr_cv_process_shared_works="yes" \ apr_cv_mutex_robust_shared="no" \ apr_cv_tcp_nodelay_with_cork="yes" \ ac_cv_sizeof_struct_iovec="8" \ apr_cv_mutex_recursive="yes" $@
使用"iphone3.1配置--disable-dso--enable-线和&做",然后"sudo使安装"。
不隶属于 StackOverflow