Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 702810 - dev-libs/libpeas-1.22.0: error: undefined reference to 'Py_IsInitialized' ...
Summary: dev-libs/libpeas-1.22.0: error: undefined reference to 'Py_IsInitialized' ...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo Linux Gnome Desktop Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2019-12-14 08:03 UTC by Michał Górny
Modified: 2020-02-16 10:35 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
/var/log/portage/dev-libs:libpeas-1.22.0:20191214-075654.log (dev-libs:libpeas-1.22.0:20191214-075654.log,130.52 KB, text/plain)
2019-12-14 08:03 UTC, Michał Górny
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2019-12-14 08:03:45 UTC
Created attachment 599474 [details]
/var/log/portage/dev-libs:libpeas-1.22.0:20191214-075654.log

The package fails after enabling py3.8:

libtool: link: x86_64-pc-linux-gnu-gcc-9.2.0 -I/usr/include/pygobject-3.0 -I/usr/lib64/libffi/include -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/python3.8 -I/usr/include/python3.8 -march=x86-64 -mtune=k8 -mcx16 -msahf -msse3 --param l1-cache-size=64 --param l1-cache-line-size=64 --param l2-cache-size=512 -O2 -pipe -frecord-gcc-switches -Wl,-O1 -Wl,--defsym=__gentoo_check_ldflags__=0 -o .libs/extension-python3 extension_python3-extension-py.o -Wl,--export-dynamic -pthread  -Wl,--as-needed ../../libpeas/.libs/libpeas-1.0.so ./introspection/.libs/libintrospection-1.0.so ./testing/.libs/libtesting.a /tmp/portage/dev-libs/libpeas-1.22.0/work/libpeas-1.22.0/tests/libpeas/introspection/.libs/libintrospection-1.0.so ../testing-util/.libs/libtesting-util.a /tmp/portage/dev-libs/libpeas-1.22.0/work/libpeas-1.22.0/libpeas/.libs/libpeas-1.0.so -lgmodule-2.0 -lgio-2.0 -lgirepository-1.0 -lgobject-2.0 -lglib-2.0 -lcrypt -lpthread -ldl -lutil -lm -pthread -Wl,-rpath -Wl,/nowhere
extension_python3-extension-py.o:extension-py.c:function test_extension_py_already_initialized_subprocess: error: undefined reference to 'Py_IsInitialized'
extension_python3-extension-py.o:extension-py.c:function test_extension_py_already_initialized_subprocess: error: undefined reference to 'Py_InitializeEx'
extension_python3-extension-py.o:extension-py.c:function test_extension_py_already_initialized_subprocess: error: undefined reference to 'PyImport_ImportModule'
extension_python3-extension-py.o:extension-py.c:function test_extension_py_already_initialized_subprocess: error: undefined reference to 'PyObject_GetAttrString'
Comment 1 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2019-12-14 08:07:55 UTC
The problem is this:

  PYTHON3_LIBS=`${PYTHON3_CONFIG} --libs`

Since py3.8, it must include '--embed' to list the Python library.  Ofc, this option is incompatible with earlier versions.

FWICS, upstream's meson.build is already fixed.
Comment 2 Larry the Git Cow gentoo-dev 2020-02-16 10:35:20 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=67c42e74dcd45c7716bc29be6368e512ded7439a

commit 67c42e74dcd45c7716bc29be6368e512ded7439a
Author:     Mart Raudsepp <leio@gentoo.org>
AuthorDate: 2020-02-16 09:36:57 +0000
Commit:     Mart Raudsepp <leio@gentoo.org>
CommitDate: 2020-02-16 10:34:21 +0000

    dev-libs/libpeas: fix python:3.8 compatibility
    
    Looks like the addition of 3.8 to libpeas and almost all of its
    consumers months ago was completely untested; fix it up in
    straight-to-stable because all of those consumers already have
    3.8 in their stable versions PYTHON_COMPAT.
    
    Closes: https://bugs.gentoo.org/702810
    Package-Manager: Portage-2.3.84, Repoman-2.3.20
    Signed-off-by: Mart Raudsepp <leio@gentoo.org>

 dev-libs/libpeas/files/1.22.0-py38-support.patch   | 29 ++++++++++++++++++++++
 ...s-1.22.0-r1.ebuild => libpeas-1.22.0-r2.ebuild} | 14 +++++------
 2 files changed, 36 insertions(+), 7 deletions(-)