From: Peter Korsgaard <jacmet@uclibc.org>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH 21/33] rrdtool: add python binding support
Date: Tue, 15 Jan 2013 22:57:40 +0100 [thread overview]
Message-ID: <871udmkt2j.fsf@dell.be.48ers.dk> (raw)
In-Reply-To: <1353543503-8952-22-git-send-email-s.martin49@gmail.com> (Samuel Martin's message of "Thu, 22 Nov 2012 01:18:11 +0100")
>>>>> "Samuel" == Samuel Martin <s.martin49@gmail.com> writes:
Samuel> Signed-off-by: Samuel Martin <s.martin49@gmail.com>
I was about to commit this, but it doesn't work here. I'm doing an ARM
build but get:
building 'rrdtoolmodule' extension
creating build
creating build/temp.linux-x86_64-2.7
/usr/bin/gcc -pthread -fno-strict-aliasing -O2 -I/home/peko/source/buildroot/testrrd/host/usr/include -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I../../src -I/home/peko/source/buildroot/testrrd/host/usr/include/python2.7 -c rrdtoolmodule.c -o build/temp.linux-x86_64-2.7/rrdtoolmodule.o
rrdtoolmodule.c: In function ?PyRRD_info?:
rrdtoolmodule.c:450:9: warning: implicit declaration of function ?dst_conv? [-Wimplicit-function-declaration]
creating build/lib.linux-x86_64-2.7
/usr/bin/gcc -pthread -shared -L/home/peko/source/buildroot/testrrd/host/lib -L/home/peko/source/buildroot/testrrd/host/usr/lib -Wl,-rpath,/home/peko/source/buildroot/testrrd/host/usr/lib build/temp.linux-x86_64-2.7/rrdtoolmodule.o -L../../src/.libs -L/home/peko/source/buildroot/testrrd/host/usr/lib -Wl,-R/usr/lib -lrrd -lpython2.7 -o build/lib.linux-x86_64-2.7/rrdtoolmodule.so
/usr/bin/ld: skipping incompatible ../../src/.libs/librrd.so when searching for -lrrd
/usr/bin/ld: skipping incompatible ../../src/.libs/librrd.a when searching for -lrrd
/usr/bin/ld: cannot find -lrrd
collect2: error: ld returned 1 exit status
It looks like it's building for the host instead of for the target. Any
ideas?
Samuel> ---
Samuel> package/rrdtool/Config.in | 8 +++++++
Samuel> package/rrdtool/rrdtool-fix-python-includes.patch | 29 +++++++++++++++++++++++
Samuel> package/rrdtool/rrdtool.mk | 19 +++++++++++++--
Samuel> 3 files changed, 54 insertions(+), 2 deletions(-)
Samuel> create mode 100644 package/rrdtool/rrdtool-fix-python-includes.patch
Samuel> diff --git a/package/rrdtool/Config.in b/package/rrdtool/Config.in
Samuel> index d315b57..ed3f71e 100644
Samuel> --- a/package/rrdtool/Config.in
Samuel> +++ b/package/rrdtool/Config.in
Samuel> @@ -11,5 +11,13 @@ config BR2_PACKAGE_RRDTOOL
Samuel> http://oss.oetiker.ch/rrdtool/
Samuel> +if BR2_PACKAGE_RRDTOOL
Samuel> +
Samuel> +config BR2_PACKAGE_RRDTOOL_PYTHON
Samuel> + bool "Python bindings"
Samuel> + depends on BR2_PACKAGE_PYTHON
Samuel> +
Samuel> +endif
Samuel> +
Samuel> comment "rrdtool requires a toolchain with WCHAR support"
Samuel> depends on !BR2_USE_WCHAR
Samuel> diff --git a/package/rrdtool/rrdtool-fix-python-includes.patch b/package/rrdtool/rrdtool-fix-python-includes.patch
Samuel> new file mode 100644
Samuel> index 0000000..07ff3df
Samuel> --- /dev/null
Samuel> +++ b/package/rrdtool/rrdtool-fix-python-includes.patch
Samuel> @@ -0,0 +1,29 @@
Samuel> +Allow to override the python include directories.
Samuel> +When cross-compiling python extensions, python headers must be taken from the
Samuel> +staging directory, not the host one.
Samuel> +
Samuel> +This patch avoids to run into some weird, ununderstable error about LONG_BIT
Samuel> +definition, especially when the build and the target machine have different
Samuel> +bitwises.
Samuel> +
Samuel> +Signed-off-by: Samuel Martin <s.martin49@gmail.com>
Samuel> +
Samuel> +--- rrdtool-1.2.30.orig/acinclude.m4 2012-11-17 11:33:40.194321803 +0100
Samuel> ++++ rrdtool-1.2.30/acinclude.m4 2012-11-17 12:18:12.490326127 +0100
Samuel> +@@ -467,9 +467,13 @@ AC_MSG_CHECKING(for headers required to
Samuel> + dnl deduce PYTHON_INCLUDES
Samuel> + py_prefix=`$PYTHON -c "import sys; print sys.prefix"`
Samuel> + py_exec_prefix=`$PYTHON -c "import sys; print sys.exec_prefix"`
Samuel> +-PYTHON_INCLUDES="-I${py_prefix}/include/python${PYTHON_VERSION}"
Samuel> +-if test "$py_prefix" != "$py_exec_prefix"; then
Samuel> +- PYTHON_INCLUDES="$PYTHON_INCLUDES -I${py_exec_prefix}/include/python${PYTHON_VERSION}"
Samuel> ++if test "x$am_cv_python_includes" = "x" ; then
Samuel> ++ PYTHON_INCLUDES="-I${py_prefix}/include/python${PYTHON_VERSION}"
Samuel> ++ if test "$py_prefix" != "$py_exec_prefix"; then
Samuel> ++ PYTHON_INCLUDES="$PYTHON_INCLUDES -I${py_exec_prefix}/include/python${PYTHON_VERSION}"
Samuel> ++ fi
Samuel> ++else
Samuel> ++ PYTHON_INCLUDES="-I${am_cv_python_includes}"
Samuel> + fi
Samuel> + AC_SUBST(PYTHON_INCLUDES)
Samuel> + dnl check if the headers exist:
Samuel> diff --git a/package/rrdtool/rrdtool.mk b/package/rrdtool/rrdtool.mk
Samuel> index 7521aba..8799a85 100644
Samuel> --- a/package/rrdtool/rrdtool.mk
Samuel> +++ b/package/rrdtool/rrdtool.mk
Samuel> @@ -11,8 +11,23 @@ RRDTOOL_AUTORECONF = YES
Samuel> RRDTOOL_INSTALL_STAGING = YES
Samuel> RRDTOOL_CONF_ENV = rd_cv_ieee_works=yes rd_cv_null_realloc=nope \
Samuel> ac_cv_func_mmap_fixed_mapped=yes
Samuel> -RRDTOOL_CONF_OPT = --disable-perl --disable-python --disable-ruby \
Samuel> - --disable-tcl --program-transform-name=''
Samuel> +RRDTOOL_CONF_OPT = --program-transform-name='' \
Samuel> + --disable-perl \
Samuel> + --disable-ruby \
Samuel> + --disable-tcl \
Samuel> +
Samuel> +ifneq ($(BR2_PACKAGE_RRDTOOL_PYTHON),)
Samuel> +RRDTOOL_CONF_OPT += --enable-python
Samuel> +RRDTOOL_CONF_ENV += \
Samuel> + am_cv_pathless_PYTHON=python \
Samuel> + ac_cv_path_PYTHON=$(HOST_DIR)/usr/bin/python \
Samuel> + am_cv_python_platform=linux2 \
Samuel> + am_cv_python_includes=$(STAGING_DIR)/usr/include/python$(PYTHON_VERSION_MAJOR)
Samuel> +RRDTOOL_DEPENDENCIES += python
Samuel> +else
Samuel> +RRDTOOL_CONF_OPT += --disable-python
Samuel> +endif
Samuel> +
Samuel> RRDTOOL_MAKE = $(MAKE1)
Samuel> define RRDTOOL_REMOVE_EXAMPLES
Samuel> --
Samuel> 1.8.0
Samuel> _______________________________________________
Samuel> buildroot mailing list
Samuel> buildroot at busybox.net
Samuel> http://lists.busybox.net/mailman/listinfo/buildroot
--
Bye, Peter Korsgaard
next prev parent reply other threads:[~2013-01-15 21:57 UTC|newest]
Thread overview: 82+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-11-22 0:17 [Buildroot] [PATCH 00/33] Pull request for 2012.11/bug-fixes Samuel Martin
2012-11-22 0:17 ` [Buildroot] [PATCH 01/33] libecore: fix build with glibc >=2.16 Samuel Martin
2012-11-23 9:00 ` Peter Korsgaard
2012-11-22 0:17 ` [Buildroot] [PATCH 02/33] libpcap: add pcap.pc file Samuel Martin
2012-11-22 10:09 ` Thomas Petazzoni
2012-11-22 10:39 ` Samuel Martin
2012-11-22 0:17 ` [Buildroot] [PATCH 03/33] tcpdump: use 'pkg-config pcap' instead of pcap-config Samuel Martin
2012-11-22 10:10 ` Thomas Petazzoni
2012-11-22 10:46 ` Samuel Martin
2012-11-22 0:17 ` [Buildroot] [PATCH 04/33] igh-ethercat: disable drivers build with kernel 3.6 Samuel Martin
2012-11-22 10:12 ` Thomas Petazzoni
2012-11-22 11:07 ` Samuel Martin
2012-11-22 0:17 ` [Buildroot] [PATCH 05/33] imagemagick: explicitly disable c++ support if no c++ compiler available Samuel Martin
2012-11-23 9:09 ` Peter Korsgaard
2012-11-22 0:17 ` [Buildroot] [PATCH 06/33] sylpheed: fix build disabling gpgme support Samuel Martin
2012-11-23 9:10 ` Peter Korsgaard
2013-05-06 8:01 ` Peter Korsgaard
2013-05-06 10:02 ` Samuel Martin
2012-11-22 0:17 ` [Buildroot] [PATCH 07/33] fluxbox: fix build against imlib2 Samuel Martin
2012-11-23 9:14 ` Peter Korsgaard
2012-12-09 18:14 ` Samuel Martin
2012-11-22 0:17 ` [Buildroot] [PATCH 08/33] owl-linux: update help text about linux kernel dependencies Samuel Martin
2012-11-30 15:45 ` Peter Korsgaard
2012-11-22 0:17 ` [Buildroot] [PATCH 09/33] linux-fusion: fix build Samuel Martin
2012-11-29 12:38 ` Simon Dawson
2012-11-30 0:34 ` Peter Korsgaard
2012-11-22 0:18 ` [Buildroot] [PATCH 10/33] ltp-testsuite: add warning about bessel function support if uclibc toolchain Samuel Martin
2013-03-04 9:30 ` Peter Korsgaard
2012-11-22 0:18 ` [Buildroot] [PATCH 11/33] ltp-testsuite: fix build on uClibc exp10 Samuel Martin
2013-03-04 9:29 ` Peter Korsgaard
2012-11-22 0:18 ` [Buildroot] [PATCH 12/33] sconeserver: fix configure.in Samuel Martin
2012-11-22 0:18 ` [Buildroot] [PATCH 13/33] sconeserver: fix imagemagick dependency Samuel Martin
2012-11-22 0:18 ` [Buildroot] [PATCH 14/33] dependencies: build a host python2 if no suitable one can be found Samuel Martin
2012-11-22 0:18 ` [Buildroot] [PATCH 15/33] scons: force to use python2 on the host Samuel Martin
2012-11-22 0:18 ` [Buildroot] [PATCH 16/33] libmad: do not install mad.pc on the target Samuel Martin
2012-11-22 0:18 ` [Buildroot] [PATCH 17/33] matchbox packages: fix broken urls Samuel Martin
2012-11-30 15:43 ` Peter Korsgaard
2012-11-30 19:57 ` Samuel Martin
2012-11-30 20:16 ` Peter Korsgaard
2012-11-30 20:38 ` [Buildroot] [PATCH] " Samuel Martin
2012-11-30 21:09 ` Peter Korsgaard
2012-11-22 0:18 ` [Buildroot] [PATCH 18/33] linux-fusion: bump to version 8.10.4 Samuel Martin
2012-11-29 12:38 ` Simon Dawson
2012-11-30 15:24 ` Peter Korsgaard
2012-11-22 0:18 ` [Buildroot] [PATCH 19/33] python2: bump to 2.7.3 Samuel Martin
2012-11-22 10:16 ` Thomas Petazzoni
2012-11-22 10:47 ` Samuel Martin
2012-11-22 10:52 ` Thomas Petazzoni
2012-11-22 0:18 ` [Buildroot] [PATCH 20/33] pkg-download.mk: add tarball check in the wget method Samuel Martin
2012-11-22 0:18 ` [Buildroot] [PATCH 21/33] rrdtool: add python binding support Samuel Martin
2013-01-15 21:57 ` Peter Korsgaard [this message]
2013-01-15 22:17 ` Samuel Martin
2012-11-22 0:18 ` [Buildroot] [PATCH 22/33] libmad: add license info Samuel Martin
2012-11-24 23:08 ` Arnout Vandecappelle
2012-11-30 15:29 ` Peter Korsgaard
2012-11-22 0:18 ` [Buildroot] [PATCH 23/33] scons: " Samuel Martin
2012-11-24 23:06 ` Arnout Vandecappelle
2012-11-30 15:32 ` Peter Korsgaard
2012-11-22 0:18 ` [Buildroot] [PATCH 24/33] efl packages: " Samuel Martin
2012-11-24 23:04 ` Arnout Vandecappelle
2012-11-22 0:18 ` [Buildroot] [PATCH 25/33] fluxbox: " Samuel Martin
2012-11-24 20:48 ` Arnout Vandecappelle
2012-11-22 0:18 ` [Buildroot] [PATCH 26/33] igh-ethercat: " Samuel Martin
2012-11-24 20:46 ` Arnout Vandecappelle
2012-11-22 0:18 ` [Buildroot] [PATCH 27/33] imagemagick: " Samuel Martin
2012-11-24 20:42 ` Arnout Vandecappelle
2012-11-30 15:34 ` Peter Korsgaard
2012-11-22 0:18 ` [Buildroot] [PATCH 28/33] imlib2: " Samuel Martin
2012-11-24 20:29 ` Arnout Vandecappelle
2012-11-22 0:18 ` [Buildroot] [PATCH 29/33] ltp-testsuite: " Samuel Martin
2012-11-24 20:41 ` Arnout Vandecappelle
2013-01-15 22:18 ` Peter Korsgaard
2012-11-22 0:18 ` [Buildroot] [PATCH 30/33] matchbox packages: " Samuel Martin
2012-11-24 20:37 ` Arnout Vandecappelle
2012-11-22 0:18 ` [Buildroot] [PATCH 31/33] owl-linux: " Samuel Martin
2012-11-24 20:20 ` Arnout Vandecappelle
2012-11-22 0:18 ` [Buildroot] [PATCH 32/33] rrdtool: " Samuel Martin
2012-11-22 5:17 ` Baruch Siach
2012-11-22 10:07 ` Samuel Martin
2012-11-24 20:09 ` Arnout Vandecappelle
2012-11-22 0:18 ` [Buildroot] [PATCH 33/33] sylpheed: " Samuel Martin
2012-11-24 23:15 ` Arnout Vandecappelle
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=871udmkt2j.fsf@dell.be.48ers.dk \
--to=jacmet@uclibc.org \
--cc=buildroot@busybox.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox