[oe] [meta-oe][PATCH] postgresql.inc: Fix do_configure error (could not find Python.h)

Khem Raj raj.khem at gmail.com
Sun Oct 16 17:21:47 UTC 2016


On Sun, Oct 16, 2016 at 8:18 AM, Mario Domenech Goulart
<mario.goulart at gmail.com> wrote:
> 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.
>

This is a different error probably missing a dependency on tcl, if its missing
then add it via a pkgconfig or disable it explicitly with --disable-tcl

> 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.

That should do the needed bits of adding it to depends. However unless we have
some packageconfig or somesuch exposing the subdir for python inside includedir
compiler will not find it. It will be interesting to know the
commandline from config.log
where its complaining about missing python.h secondly, there could be
some mechanism
in postgresql build system to detect it and its not triggering for
some reason in failing
case.

>
> All the best.
> Mario
> --
> http://parenteses.org/mario
> --
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel at lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-devel



More information about the Openembedded-devel mailing list