Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 745462 - app-portage/smart-live-rebuild: support pypy3
Summary: app-portage/smart-live-rebuild: support pypy3
Status: UNCONFIRMED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal enhancement
Assignee: Michał Górny
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-09-29 19:00 UTC by Alexey
Modified: 2021-01-08 05:37 UTC (History)
4 users (show)

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


Attachments
emerge --info (file_745462.txt,19.94 KB, text/plain)
2020-09-29 19:01 UTC, Alexey
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Alexey 2020-09-29 19:00:50 UTC
When I locally enabled pypy3 support in app-portage/gentoopm and app-portage/smart-live-rebuild, it works fine.

But I can't send such PR because app-portage/gentoopm requires sys-apps/pkgcore to support pypy3, otherwise repoman complains. And its dependency (dev-python/snakeoil) seems to fail tests for me with a compilation error:

x86_64-pc-linux-gnu-gcc -O2 -pipe -march=znver2 -ggdb3 -fPIC -fno-strict-aliasing -Iinclude -I/usr/lib/pypy3.6/include -I/usr/lib/pypy3.6/include -c /mnt/portagetmp/portage/dev-python/snakeoil-0.8.8/work/snakeoil-0.8.8/src/snakeoil/_posix.c -o /mnt/portagetmp/portage/dev-py
thon/snakeoil-0.8.8/work/snakeoil-0.8.8-pypy3/temp.linux-x86_64-3.6/mnt/portagetmp/portage/dev-python/snakeoil-0.8.8/work/snakeoil-0.8.8/src/snakeoil/_posix.o
x86_64-pc-linux-gnu-gcc -O2 -pipe -march=znver2 -ggdb3 -fPIC -fno-strict-aliasing -Iinclude -I/usr/lib/pypy3.6/include -I/usr/lib/pypy3.6/include -c /mnt/portagetmp/portage/dev-python/snakeoil-0.8.8/work/snakeoil-0.8.8/src/snakeoil/_sequences.c -o /mnt/portagetmp/portage/de
v-python/snakeoil-0.8.8/work/snakeoil-0.8.8-pypy3/temp.linux-x86_64-3.6/mnt/portagetmp/portage/dev-python/snakeoil-0.8.8/work/snakeoil-0.8.8/src/snakeoil/_sequences.o
/mnt/portagetmp/portage/dev-python/snakeoil-0.8.8/work/snakeoil-0.8.8/src/snakeoil/_posix.c:501: warning: "PyObject_Unicode" redefined
  501 |   #define PyObject_Unicode             PyObject_Str
      | 
In file included from /usr/lib/pypy3.6/include/Python.h:144,
                 from /mnt/portagetmp/portage/dev-python/snakeoil-0.8.8/work/snakeoil-0.8.8/src/snakeoil/_posix.c:18:
/usr/lib/pypy3.6/include/pypy_decl.h:681: note: this is the location of the previous definition
  681 | #define PyObject_Unicode PyPyObject_Unicode
      | 
/mnt/portagetmp/portage/dev-python/snakeoil-0.8.8/work/snakeoil-0.8.8/src/snakeoil/_sequences.c:500: warning: "PyObject_Unicode" redefined
  500 |   #define PyObject_Unicode             PyObject_Str
      | 
In file included from /usr/lib/pypy3.6/include/Python.h:144,
                 from /mnt/portagetmp/portage/dev-python/snakeoil-0.8.8/work/snakeoil-0.8.8/src/snakeoil/_sequences.c:17:
/usr/lib/pypy3.6/include/pypy_decl.h:681: note: this is the location of the previous definition
  681 | #define PyObject_Unicode PyPyObject_Unicode
      | 
/mnt/portagetmp/portage/dev-python/snakeoil-0.8.8/work/snakeoil-0.8.8/src/snakeoil/_posix.c:618:10: fatal error: osdefs.h: No such file or directory
  618 | #include "osdefs.h"
      |          ^~~~~~~~~~
compilation terminated.
x86_64-pc-linux-gnu-gcc -shared -Wl,-O1 -Wl,--as-needed -O2 -pipe -march=znver2 -ggdb3 /mnt/portagetmp/portage/dev-python/snakeoil-0.8.8/work/snakeoil-0.8.8-pypy3/temp.linux-x86_64-3.6/mnt/portagetmp/portage/dev-python/snakeoil-0.8.8/work/snakeoil-0.8.8/src/snakeoil/_sequen
ces.o -o /mnt/portagetmp/portage/dev-python/snakeoil-0.8.8/work/snakeoil-0.8.8-pypy3/lib/snakeoil/_sequences.pypy36-pp73-x86_64-linux-gnu.so
-- Performing basic C toolchain sanity check
-- Performing basic C toolchain sanity check -- works
error: command 'x86_64-pc-linux-gnu-gcc' failed with exit status 1
Comment 1 Alexey 2020-09-29 19:01:45 UTC
Created attachment 663190 [details]
emerge --info
Comment 2 Alexey 2020-09-29 21:40:10 UTC
This is error shown when I'm running emerge using pypy3:

Error during set creation: Could not import 'smartliverebuild.sets.SmartLiveRebuildSet' for section 'smart-live-rebuild'

This is the reason for this request.

<@mgorny> maybe the set should be split from the tool
Comment 3 flippynelle 2020-12-03 11:20:16 UTC
(In reply to Alexey from comment #2)
> This is error shown when I'm running emerge using pypy3:
> 
> Error during set creation: Could not import
> 'smartliverebuild.sets.SmartLiveRebuildSet' for section 'smart-live-rebuild'
> 

I got that error 
in a new emerge parallel to the emerge @world one after I've added the line "PYTHON_TARGETS="python3_9 python3_8" in /etc/portage/make.conf (had no PYTHON_TARGETS line before, but 3.7 (and 3.6 maybe) were possibly in effect)

but that was because the @world emerge didn't yet emerge app-portage/smart-live-rebuild-1.3.6 so it wasn't using the same python as portage and gentoopm (which were already emerged when I ran the parallel emerge)

So this is unrelated to your issue, but just wanted to mention it just in case anyone temp-hits this error in the future.