[oe] [meta-oe][PATCH] postgresql.inc: Fix do_configure error (could not find Python.h)
Mario Domenech Goulart
mario.goulart at gmail.com
Sun Oct 16 15:18:38 UTC 2016
Hi Gary,
On Sun, 16 Oct 2016 15:43:02 +0200 Gary Thomas <gary at mlbassoc.com> wrote:
> On 2016-10-16 14:15, Mario Domenech Goulart wrote:
>> Fixes:
>>
>> | checking for Python.h... no
>> | configure: error: header file <Python.h> is required for Python
>> | NOTE: The following config.log files may provide further information.
>> | WARNING: exit code 1 from a shell command.
>> | NOTE: .../tmp/work/armv5e-poky-linux-gnueabi/postgresql/9.4.8-r0.0/build/config.log
>> | ERROR: configure failed
>>
>> Signed-off-by: Mario Domenech Goulart <mario.goulart at gmail.com>
>> ---
>> meta-oe/recipes-support/postgresql/postgresql.inc | 8 ++------
>> 1 file changed, 2 insertions(+), 6 deletions(-)
>>
>> diff --git a/meta-oe/recipes-support/postgresql/postgresql.inc b/meta-oe/recipes-support/postgresql/postgresql.inc
>> index 9592c79..454624c 100644
>> --- a/meta-oe/recipes-support/postgresql/postgresql.inc
>> +++ b/meta-oe/recipes-support/postgresql/postgresql.inc
>> @@ -40,6 +40,8 @@ export LDFLAGS_SL = "${LDFLAGS}"
>>
>> inherit autotools pkgconfig perlnative pythonnative useradd update-rc.d systemd
>>
>> +CFLAGS += "-I${STAGING_INCDIR}/${PYTHON_DIR}"
>> +
>> SYSTEMD_SERVICE_${PN} = "postgresql.service"
>> SYSTEMD_AUTO_ENABLE_${PN} = "disable"
>>
>> @@ -109,12 +111,6 @@ python populate_packages_prepend() {
>> }
>>
>> do_configure() {
>> - # do_configure_prepend
>> - # make sure configure finds python includdirs with these envs
>> - export \
>> - STAGING_INCDIR=${STAGING_INCDIR} \
>> - STAGING_LIBDIR=${STAGING_LIBDIR}
>> -
>> # do_configure
>> autotools_do_configure
>>
>>
>
> Why is this needed? I just built the existing recipe in a bare build
> without any problems. Perhaps I'm missing something?
Maybe I'm running into a race condition. Now I tried again and could
not reproduce the Python issue (tried both master and krogoth).
However, in both master and krogoth I get the following error after
cleaning sstate for postgresql, removing $TMPDIR and building postgresql
again:
| checking for tclsh... no
| checking for tcl... no
| checking for tclsh8.6... no
| checking for tclsh86... no
| checking for tclsh8.5... no
| checking for tclsh85... no
| checking for tclsh8.4... no
| checking for tclsh84... no
| checking for tclsh8.3... no
| checking for tclsh83... no
| configure: error: Tcl shell not found
| WARNING: exit code 1 from a shell command.
When I could reproduce the issue, I checked the sysroot directory and
Python.h was in ${STAGING_INCDIR}/${PYTHON_DIR}, not in
${STAGING_INCDIR}. ${STAGING_INCDIR}/${PYTHON_DIR} was not in the
compiler's include path and the code included Python.h with
"#include <Python.h>".
Naturally, it is possible that _I_ am missing something.
> Also, would it not be better to just add python to DEPENDS?
Python gets added to DEPENDS via PACKAGECONFIG.
All the best.
Mario
--
http://parenteses.org/mario
More information about the Openembedded-devel
mailing list