All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Andreas Müller" <schnitzeltony@googlemail.com>
To: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Cc: Patches and discussions about the oe-core layer
	<openembedded-core@lists.openembedded.org>
Subject: Re: [PATCH 02/24] python3-native: use the previous version of python-config script
Date: Wed, 16 Mar 2016 22:28:30 +0100	[thread overview]
Message-ID: <CALbNGRQJGWRmXdBnCDVa9X=S5n_VrtycaKrWa=UpBf_mJOt3RA@mail.gmail.com> (raw)
In-Reply-To: <56781.10.252.1.171.1458145410.squirrel@linux.intel.com>

On Wed, Mar 16, 2016 at 5:23 PM,  <alexander.kanavin@linux.intel.com> wrote:
>>> Apologies for being terse. I should've explained that when building
>>> recipes that make use of this script, it will be run with the native
>>> python (instead of host python) because native python will come first in
>>> the PATH, and so the version reported will be correct, because native
>>> python will match target python. This is set up in pythonnative.bbclass
>>> for python 2, and in python3native.bbclass for python 3.
>> Sorry but I don't get it: The script reports the version of host's
>> python which might be different from what we are building native and
>> cross. When something is trying to link against python libs and is
>> using this script this crashes for host's with python < 3.5. This is a
>> bug. It should be either corrected or using of pkg-config should be
>> enforced if possible.
>
> The script reports the version of the host python, because you are running
> it with the host python. If you run it with the native python, it will
> report version of the native python. All recipes that need to execute
> python code as a part of their build are doing that, and therefore are
> getting the correct version.
This was the missing bit for me. Seems for some reason (qmake-native?
- see below) my recipe is running host's python.
> Where is the bug here? Can you demonstrate
> it? (by something else than running the script using host python,
> obviously)
>
> I agree that we should generally get rid of such custom,
> separately-maintained configuration scripts and migrate everything to
> pkgconfig, but that is a separate issue.
>
>> By the way: What was wrong with the shell script exactly? We have used
>> it for long time and it reported the correct version.
>
> The shell script was introduced with Python 3.4. All previous versions of
> python, including python 2.x, are using a different, python-based version
> of the script, to which we do some patching so that it reports things
> correctly in our cross-compilation environment. [1]
>
> The problem with the shell script is that it lacks those tweaks, and
> things break down when you try to build python3-based software with it.
> Specifically, I ran into issues building pygobject 3.x, and after trying
> to fix the shell script, I gave up and reverted to tried and tested
> python-based version - which is what this patch does. I believe the
> problem wasn't noticed earlier, because prior to pygobject 3.x there was
> no other python3-based software using python-config.
>
> Now you need to be exact: where and how did you use the shell script for a
> long time? Why should oe-core start using it, if it's known to be broken
> and requires patching?
>
Ok 'long time' was an assumption I have to regret but [1] first failed
when I updated 3.4 -> 3.5 (due to hard coded version in qmake pri -
file) and then failed again after updating to pythonic python3-config.
I know the fix I chose then is bad hack, but I tried to backport an
upstream solution and that failed for reasons we discuss here: linking
python3.4m which does not exist.

Thanks for explanation and sorry for shouting out - I'll rework that
recipe to use pkg-config as it is interested in version of python's
libraries - not the interpreter scripts are running on.

[1] https://github.com/schnitzeltony/meta-qt5-extra/blob/master/recipes-misc/recipes-cad/antimony/antimony_0.9.0c.bb

Andreas


  reply	other threads:[~2016-03-16 21:28 UTC|newest]

Thread overview: 41+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-03-09 15:01 [PATCH 00/24] Add gobject introspection support to oe-core Alexander Kanavin
2016-03-09 15:01 ` [PATCH 01/24] qemu.bbclass: add qemu_wrapper_cmdline() Alexander Kanavin
2016-03-09 15:01 ` [PATCH 02/24] python3-native: use the previous version of python-config script Alexander Kanavin
2016-03-10 21:24   ` Andreas Müller
2016-03-15 15:59     ` Alexander Kanavin
2016-03-15 16:40       ` Andreas Müller
2016-03-15 19:23       ` Khem Raj
2016-03-15 22:29         ` alexander.kanavin
2016-03-15 22:37           ` Andreas Müller
2016-03-16 16:23             ` alexander.kanavin
2016-03-16 21:28               ` Andreas Müller [this message]
2016-03-18 19:29                 ` alexander.kanavin
2016-03-09 15:01 ` [PATCH 03/24] python3: fix patching get_python_lib() in distutils/sysconfig.py Alexander Kanavin
2016-03-09 15:01 ` [PATCH 04/24] gobject-introspection: add the recipe Alexander Kanavin
2016-03-09 15:01 ` [PATCH 05/24] gtk-doc-stub: remove introspection stubs Alexander Kanavin
2016-03-09 15:01 ` [PATCH 06/24] gobject-introspection.bbclass: add a class that enables gobject introspection Alexander Kanavin
2016-03-09 23:52   ` Andreas Oberritter
2016-03-10  0:09     ` Martin Jansa
2016-03-10  0:15       ` Richard Purdie
2016-03-10  0:26         ` Andreas Oberritter
2016-03-10  0:28           ` Richard Purdie
2016-03-10  1:38             ` Andreas Oberritter
2016-03-10  0:30         ` Martin Jansa
2016-03-09 15:01 ` [PATCH 07/24] vala: enable the use of vapigen by packages with vala support Alexander Kanavin
2016-03-09 15:01 ` [PATCH 08/24] vala.bbclass: remove pre-packaged vapigen.m4 from tarballs Alexander Kanavin
2016-03-09 15:01 ` [PATCH 09/24] avahi-ui: remove the dependency on python-pygtk by disabling avahi-discover Alexander Kanavin
2016-03-09 15:01 ` [PATCH 10/24] python-pygtk: remove the recipe Alexander Kanavin
2016-03-09 15:01 ` [PATCH 11/24] avahi: enable gobject-introspection Alexander Kanavin
2016-03-09 15:01 ` [PATCH 12/24] gtk+: enable gobject introspection Alexander Kanavin
2016-03-09 15:01 ` [PATCH 13/24] gtk+3: enable gobject-introspection Alexander Kanavin
2016-03-09 15:02 ` [PATCH 14/24] clutter: enable gobject introspection Alexander Kanavin
2016-03-09 15:02 ` [PATCH 15/24] libsoup-2.4: " Alexander Kanavin
2016-03-09 15:02 ` [PATCH 16/24] gstreamer: " Alexander Kanavin
2016-03-09 15:02 ` [PATCH 17/24] gnomebase.bbclass: do not disable " Alexander Kanavin
2016-03-09 15:02 ` [PATCH 18/24] python-pygobject: update to 3.18.2 Alexander Kanavin
2016-03-09 15:02 ` [PATCH 19/24] recipes-gnome: fix introspection support Alexander Kanavin
2016-03-09 15:02 ` [PATCH 20/24] webkitgtk: enable gobject introspection Alexander Kanavin
2016-03-09 15:02 ` [PATCH 21/24] packagegroup-core-x11-sato: add python-pygobject and gtk+3 Alexander Kanavin
2016-03-09 15:02 ` [PATCH 22/24] bitbake.conf: add 'gobject-introspection-data' to DISTRO/MACHINE_FEATURES_BACKFILL Alexander Kanavin
2016-03-09 15:02 ` [PATCH 23/24] machine/include/arch-x86: Make x32 ABI not supporting gobject-introspection-data Alexander Kanavin
2016-03-09 15:02 ` [PATCH 24/24] musl: disable building of gobject introspection data Alexander Kanavin

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='CALbNGRQJGWRmXdBnCDVa9X=S5n_VrtycaKrWa=UpBf_mJOt3RA@mail.gmail.com' \
    --to=schnitzeltony@googlemail.com \
    --cc=alexander.kanavin@linux.intel.com \
    --cc=openembedded-core@lists.openembedded.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.