Re: [PATCH 1/2] perf: Be compatible with all python versions when fetching ldflags
From: Arnaldo Carvalho de Melo
Date: Wed Mar 25 2020 - 15:26:45 EST
Em Wed, Mar 25, 2020 at 09:40:34AM -0500, Sam Lunt escreveu:
> On Wed, Mar 25, 2020 at 8:30 AM Arnaldo Carvalho de Melo
> <arnaldo.melo@xxxxxxxxx> wrote:
> >
> > Em Mon, Feb 17, 2020 at 10:24:27AM +0800, He Zhe escreveu:
> > >
> > >
> > > On 2/17/20 6:22 AM, Jiri Olsa wrote:
> > > > On Fri, Feb 14, 2020 at 02:21:05AM +0800, zhe.he@xxxxxxxxxxxxx wrote:
> > > >> From: He Zhe <zhe.he@xxxxxxxxxxxxx>
> > > >>
> > > >> Since Python v3.8.0, with the following commit
> > > >> 0a8e57248b91 ("bpo-36721: Add --embed option to python-config (GH-13500)"),
> > > > we got similar change recently.. might have not been picked up yet
> > > >
> > > > https://lore.kernel.org/lkml/20200131181123.tmamivhq4b7uqasr@xxxxxxxxx/
> > >
> > > Thanks for pointing out.
> >
> > So, just with your patch:
> >
> > [acme@five perf]$ rm -rf /tmp/build/perf ; mkdir -p /tmp/build/perf
> > [acme@five perf]$ make PYTHON=python3 -C tools/perf O=/tmp/build/perf install-bin |& grep python
> > ... libpython: [ OFF ]
> > Makefile.config:750: No 'Python.h' (for Python 2.x support) was found: disables Python support - please install python-devel/python-dev
> > CC /tmp/build/perf/tests/python-use.o
> > [acme@five perf]$
> >
> > [acme@five perf]$ rpm -q python2-devel python3-devel python-devel
> > package python2-devel is not installed
> > python3-devel-3.7.6-2.fc31.x86_64
> > package python-devel is not installed
> > [acme@five perf]$
> >
> > [acme@five perf]$ cat /tmp/build/perf/feature/test-libpython.make.output
> > /bin/sh: --configdir: command not found
> > [acme@five perf]$ cat /tmp/build/perf/feature/test-libpython
> > test-libpython.make.output test-libpython-version.make.output
> > [acme@five perf]$ cat /tmp/build/perf/feature/test-libpython-version.make.output
> > /bin/sh: --configdir: command not found
> > [acme@five perf]$
> >
> >
> > Without your patch:
> >
> > [acme@five perf]$ rm -rf /tmp/build/perf ; mkdir -p /tmp/build/perf
> > [acme@five perf]$ make PYTHON=python3 -C tools/perf O=/tmp/build/perf install-bin |& grep python
> > ... libpython: [ on ]
> > GEN /tmp/build/perf/python/perf.so
> > MKDIR /tmp/build/perf/scripts/python/Perf-Trace-Util/
> > CC /tmp/build/perf/scripts/python/Perf-Trace-Util/Context.o
> > LD /tmp/build/perf/scripts/python/Perf-Trace-Util/perf-in.o
> > CC /tmp/build/perf/tests/python-use.o
> > CC /tmp/build/perf/util/scripting-engines/trace-event-python.o
> > INSTALL python-scripts
> > [acme@five perf]$
> >
> > [acme@five perf]$ ldd /tmp/build/perf/perf |& grep python
> > libpython3.7m.so.1.0 => /lib64/libpython3.7m.so.1.0 (0x00007f11dd1ee000)
> > [acme@five perf]$ perf -vv |& grep -i python
> > libpython: [ on ] # HAVE_LIBPYTHON_SUPPORT
> > [acme@five perf]$
> >
> > What am I missing?
>
> It looks like you are using python3.7, but the change in behavior for
> python-config happened in version 3.8
Humm, but shouldn't this continue to work with python3.7?
- Arnaldo
> > [acme@five perf]$ cat /etc/redhat-release
> > Fedora release 31 (Thirty One)
> > [acme@five perf]$
> >
> > - Arnaldo
--
- Arnaldo