[
https://issues.apache.org/jira/browse/THRIFT-2127?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13742610#comment-13742610
]
Frank Earl edited comment on THRIFT-2127 at 8/16/13 9:19 PM:
-------------------------------------------------------------
It's automatically set by the OpenEmbedded build recipe if I claim it's an
Autotools based build.
configure --build=x86_64-linux --host=arm-poky-linux-gnueabi
--target=arm-poky-linux-gnueabi --prefix=/usr
--exec_prefix=/usr --bindir=/usr/bin
--sbindir=/usr/sbin --libexecdir=/usr/lib/thrift
--datadir=/usr/share --sysconfdir=/etc
--sharedstatedir=/com --localstatedir=/var
--libdir=/usr/lib --includedir=/usr/include
--oldincludedir=/usr/include --infodir=/usr/share/info
--mandir=/usr/share/man --disable-silent-rules
--disable-dependency-tracking
--with-libtool-sysroot=/home/fearl/git/dc_image_build/poky/build/tmp/sysroots/beaglebone
--with-qt4=no --with-csharp=no
--with-java=no --with-erlang=no --with-perl=no
--with-php=no --with-ruby=no --with-haskell=no
--with-d=no --with-go=no --with-python=no
--with-libevent=no --with-zlib=no
Problem is:
1) Re-doing --includedir for a cross compile when you're supposed to use a
--libtool-sysroot specification for cross-compiling is bogus. That's supposed
to prefix everything else per the help description.
2) It doesn't change anything. You've got static paths in your macros...
BOOST_ROOT_PATH="$ac_boost_path"
else
for ac_boost_path_tmp in /usr /usr/local /opt /opt/local ; do
This does nothing for cross-compilation unless you're building within the
Scratchbox2 tool.
Attached is a patch for a "fix" that gets me to the next mess within the PHP
Autoconf that's along the same lines.
was (Author: svartalf):
It's automatically set by the OpenEmbedded build recipe if I claim it's an
Autotools based build.
Problem is:
1) Re-doing --includedir for a cross compile when you're supposed to use a
--libtool-sysroot specification for cross-compiling is bogus.
2) It doesn't change anything. You've got static paths in your macros...
BOOST_ROOT_PATH="$ac_boost_path"
else
for ac_boost_path_tmp in /usr /usr/local /opt /opt/local ; do
This does nothing for cross-compilation unless you're building within the
Scratchbox2 tool.
Attached is a patch for a "fix" that gets me to the next mess within the PHP
Autoconf that's along the same lines.
> Autoconf scripting does not properly account for cross-compile
> --------------------------------------------------------------
>
> Key: THRIFT-2127
> URL: https://issues.apache.org/jira/browse/THRIFT-2127
> Project: Thrift
> Issue Type: Bug
> Components: Build Process
> Affects Versions: 0.9
> Environment: Ubuntu 12.04 running OpenEmbedded Dylan
> Reporter: Frank Earl
>
> Trying to get Thrift to Cross-compile within OpenEmbedded to get an ARM based
> build combined with a full-on SDK for our embedded target. So far, I'm
> getting this:
> configure:16347: checking for boostlib >= 1.40.0
> configure:16401: arm-poky-linux-gnueabi-g++ -march=armv7-a -mthumb-interwork
> -mfloat-abi=softfp -mfpu=neon
> --sysroot=/home/fearl/git/dc_image_build/poky/build/tmp/sysroots/beaglebone
> -c -O2 -pipe -g -feliminate-unused-debug-types -fpermissive
> -fvisibility-inlines-hidden -I/usr/include conftest.cpp >&5
> cc1plus: warning: include location "/usr/include" is unsafe for
> cross-compilation [-Wpoison-system-directories]
> configure:16401: $? = 0
> This means it's grabbing from outside the sysroot- which can present bad
> results on the cross-compile pass.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira