[xml] libxml2 cross-compilation && Python
- From: Billie Alsup <billie alsup gmail com>
- To: xml gnome org
- Subject: [xml] libxml2 cross-compilation && Python
- Date: Mon, 13 Aug 2012 18:09:58 -0700
The libxml2 configure script sets PYTHON_LIBS as
PYTHON_LIBS=`python$PYTHON_VERSION-config --ldflags`
How is this expected to work in a cross-compilation environment?
For example, I am on an x86_64 host building for arm-linux.
So by running this command, I'll always get a library path for x86_64 libraries.
Note that I can't run the arm-linux binary on my x86_64 host.
How is this expected to work? Is it expected that you can already run your target binaries on your build
host (using some simulator)?
Should Python support be explicitly disabled when cross-compiling?
Should the configure script be tweaked to massage the output to replace the -L line with something that
involves $prefix?
Am I completely confused and doing something wrong? Missing command line parameter?
Here is the error message I get, as expected when trying to link an x86_64 library to an arm image:
CCLD libxml2mod.la
/project/swbuild38/balsup/trees/gpl/scratch/sysroot/x86_64-linux/usr/local/lib/python2.7/config/libpython2.7.a:
could not read symbols: File format not recognized
configure determined that PYTHON_LIBS should be
PYTHON_LIBS =
-L/project/swbuild38/balsup/trees/gpl/scratch/sysroot/x86_64-linux/usr/local/lib/python2.7/config -lpthread
-ldl -lutil -lm -lpython2.7 -Xlinker -export-dynamic
when in fact it should be
PYTHON_LIBS = -L/project/swbuild38/balsup/trees/gpl/scratch/sysroot/arm-linux/usr/local/lib/python2.7/config
-lpthread -ldl -lutil -lm -lpython2.7 -Xlinker -export-dynamic
What is the best solution?
Certainly I can massage configure to do what I want in this case, but I don't know the correct general
solution.
Simply changing x86_64 to arm (using sed in the PYTHON_LIBS setting) is sufficient, but is not a general
solution.
Using libxml2.9.0 and python2.7.2
Note that PYTHON_INCLUDES was already correct as it is based on $prefix.
CC=/project/swbuild38/balsup/tools/marvell/arm-mv5sft-linux-gnueabi_SW3.2/bin/arm-mv5sft-linux-gnueabi-gcc
./configure --host=arm-linux-gnu
--prefix=/project/swbuild38/balsup/trees/gpl/scratch/sysroot/arm-linux/usr/local
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]