Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
how to break the cycle?
View unanswered posts
View posts from last 24 hours

Goto page 1, 2  Next  
Reply to topic    Gentoo Forums Forum Index Portage & Programming
View previous topic :: View next topic  
Author Message
ferdish
n00b
n00b


Joined: 11 Jun 2024
Posts: 23

PostPosted: Tue Jun 11, 2024 7:31 am    Post subject: how to break the cycle? Reply with quote

PC hadn't executed
Quote:
emerge --sync
for 4.5 years.
I got almost all packages updated and switched profile from 17.0 to 17.1. After the finishing steps (rebuilding the toolchain) I ran
Quote:
emerge --sync
and with the next command I got a surprise:
Code:

# emerge --verbose --update --pretend portage
...
!!! The following update has been skipped due to unsatisfied dependencies:

sys-apps/portage:0

  selected: (sys-apps/portage-2.3.79:0/0::gentoo, installed)
  skipped: (sys-apps/portage-3.0.63-r1:0/0::gentoo, ebuild scheduled for merge) (see unsatisfied dependency below)

!!! All ebuilds that could satisfy "dev-lang/python:3.12[bzip2(+),threads(+)]" have been masked.
!!! One of the following masked packages is required to complete your request:
- dev-lang/python-3.13.0_beta2::gentoo (masked by: EAPI 8)
- dev-lang/python-3.13.0_beta1_p3::gentoo (masked by: EAPI 8)
- dev-lang/python-3.13.0_beta1_p2::gentoo (masked by: EAPI 8)
- dev-lang/python-3.13.0_beta1_p1::gentoo (masked by: EAPI 8)
- dev-lang/python-3.12.4::gentoo (masked by: EAPI 8)
- dev-lang/python-3.12.3-r1::gentoo (masked by: EAPI 8)
- dev-lang/python-3.12.3::gentoo (masked by: EAPI 8)
- dev-lang/python-3.11.9-r1::gentoo (masked by: EAPI 8)
- dev-lang/python-3.11.9::gentoo (masked by: EAPI 8)
- dev-lang/python-3.10.14_p1-r1::gentoo (masked by: EAPI 8)
- dev-lang/python-3.10.14_p1::gentoo (masked by: EAPI 8)
- dev-lang/python-3.9.19_p3::gentoo (masked by: EAPI 8)
- dev-lang/python-3.9.19_p2::gentoo (masked by: EAPI 8)
- dev-lang/python-3.8.19_p2::gentoo (masked by: EAPI 8)
- dev-lang/python-3.8.19_p1::gentoo (masked by: EAPI 8)

The current version of portage supports EAPI '7'. You must upgrade to a
newer version of portage before EAPI masked packages can be installed.
(dependency required by "sys-apps/portage-3.0.63-r1::gentoo[python_targets_python3_12]" [ebuild])


# emerge --verbose --nodeps --pretend portage
...
These are the packages that would be merged, in order:

[ebuild     U  ] sys-apps/portage-3.0.63-r1::gentoo [2.3.79::gentoo] USE="(ipc) native-extensions rsync-verify xattr -apidoc% -build -doc -gentoo-dev (-selinux) -test% (-epydoc%)" PYTHON_TARGETS="python3_12%* (-pypy3) -python3_10% -python3_11% (-pypy%) (-python2_7%*) (-python3_5%) (-python3_6%*) (-python3_7%) (-python3_8%)" 1,161 KiB

# python --version
Python 3.6.9


Is it safe to execute
Code:
emerge --verbose --nodeps --oneshot portage
?

Would the updated portage work with Python 3.6.9 while ebuild requires
Quote:
PYTHON_COMPAT=( pypy3 python3_{10..12} )
?
Is there any other way to get python/portage (and then the whole system) updated without breaking it?
Back to top
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


Joined: 05 Jul 2003
Posts: 54577
Location: 56N 3W

PostPosted: Tue Jun 11, 2024 8:46 am    Post subject: Reply with quote

ferdish,

Welcome to the forums.

It looks like you have been a user for some time but your install has been a bit neglected.
There are two or three ways to fix this.

1. HOWTO Update Old Gentoo
2. Get an old portage snapshot from https://distfiles.gentoo.org/snapshots/squashfs. Add squashfs support to your kernel and update to that.
Essentially, you update in baby steps until your install is current.
3. Install a newer python and portage in /root, so that they understand EAPI8 and call them directly. Upgrading Portage.

Lastly, you could reinstall but that would rob you of a wonderful learning opportunity.
_________________
Regards,

NeddySeagoon

Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail.
Back to top
View user's profile Send private message
Hu
Administrator
Administrator


Joined: 06 Mar 2007
Posts: 22649

PostPosted: Tue Jun 11, 2024 12:15 pm    Post subject: Reply with quote

To expand on Neddy's welcome, could you tell us a bit about your experience level? There are two ways people bring us this problem:
  • The user installs Gentoo, sets it aside for some time, then comes back and hits this problem.
  • User A installs Gentoo, neglects it, and eventually user B inherits the neglected system. User B then comes to us with this problem. (This problem is particularly likely in corporate environments, where user A left the company.)
In the first case, you probably know your way around Gentoo, and just need us to help with some of the more exotic points. In the second case, user B may be a complete novice to Gentoo, and will need guidance even for managing a system that is relatively current. Throwing such a user into a badly outdated system is a recipe for frustration, so if you are the second case, please tell us up front so that we do not gloss over points that a veteran user would just know. We can help you in either case, but we can better tailor our advice if we know how much you already know.
Back to top
View user's profile Send private message
ferdish
n00b
n00b


Joined: 11 Jun 2024
Posts: 23

PostPosted: Wed Jun 12, 2024 4:00 am    Post subject: Reply with quote

Thank you NeddySeagoon for the warm welcome.

You provided great links - exactly what I was looking for (and even more).

Third suggestion looked interesting until I realized that EAPI 8 requires bash v5 (which I don't have yet) and most likely some other packages/utilities updated.

Currently I'm trying second approach (I didn't know there were portage snapshots out there. Nice finding for me). Some packages (distfiles) from them aren't available though. Doing a lot of manual work and having progress here. Basically I want to get bash v5, python 3.10+ and then I should be able to use the current portage snapshot and current portage package.

Reinstall suggestion is kind of troublesome as this system is so old that it cannot boot from USB. And I agree with you on this option - a lot of opportunities to learn would be missed.

Thank you very much for the options and links. Learning a lot from them and related pages.

Hu, I think I'm in the first category. This is my old system, that was put aside for a long time but now I think it could be useful and trying to bring it up to life.
I'm having some progress already - options from this topic are very useful.

If I hit some wall or have some good progress - I'll share it with you guys. Back to burning CPU for now ;-)
Back to top
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


Joined: 05 Jul 2003
Posts: 54577
Location: 56N 3W

PostPosted: Wed Jun 12, 2024 7:25 am    Post subject: Reply with quote

ferdish,

All my distfiles from mid 2006 are at https://bloodnoc.org/~roy/olde-distfiles/ This is about 600G of stuff there so the page is very slow to autoindex.

Try
Code:
GENTOO_MIRRORS="https://bloodnoc.org/~roy/olde-distfiles" emerge ....

Also
Code:
GENTOO_MIRRORS="" emerge ....
tells portage not to use the gentoo mirror system at all but go straight to the SRC_URI in the ebuild.
That's considered antisocial for everyday use but portage would get to the SRC_URI eventually anyway.

Lastly, you can do
Code:
emerge -fp ...
That will spit out a list of required files.
Hunt them down manually with the aid of the search engine of your choice. There are other distfiles archives out there. Not just mine.
_________________
Regards,

NeddySeagoon

Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail.
Back to top
View user's profile Send private message
ferdish
n00b
n00b


Joined: 11 Jun 2024
Posts: 23

PostPosted: Wed Jun 19, 2024 4:31 am    Post subject: Reply with quote

Updated system up to gentoo-20200701 (almost: less than 10 packages aren't updated).

Thank you, NeddySeagoon, for the link to your distfiles - that helped a lot.

QT libs from that time got changed links on the official site. Now they're under 'archive' - had to download them manually.

As before I tried to run emerge on the current portage, some packages got renamed and when I traveled back to 2020-07, got some interesting upgrade conflicts. The most hilarious one was when I had to uninstall renamed _make_ package and then I ended up with no make on the system. I think this is an upgraded case of
Code:
chmod a-x /bin/chmod


Frankly I thought baby step in less than a year would be much easier. Got bash v5, no needed portage or python (>=5.0) yet. Took much longer than I expected.

Now I'll try to update to gentoo-20220601, which should give me needed portage and python.
Back to top
View user's profile Send private message
logrusx
Advocate
Advocate


Joined: 22 Feb 2018
Posts: 2419

PostPosted: Wed Jun 19, 2024 12:00 pm    Post subject: Reply with quote

ferdish wrote:

Now I'll try to update to gentoo-20220601, which should give me needed portage and python.


I would advice to first jump around that time: https://www.gentoo.org/support/news-items/2021-10-18-libxcrypt-migration-stable.html

Best Regards,
Georgi
Back to top
View user's profile Send private message
ferdish
n00b
n00b


Joined: 11 Jun 2024
Posts: 23

PostPosted: Wed Jun 19, 2024 7:42 pm    Post subject: Reply with quote

logrusx wrote:


I would advice to first jump around that time: https://www.gentoo.org/support/news-items/2021-10-18-libxcrypt-migration-stable.html



Thank you for this advice. I actually hit this crypt wall at the full speed. I ended up loosing portage and currently forced to use /tmp/portage version ;-) (update: got system portage back!)
Your pinpoint of time is very useful. Stepping back in time for a bit :-)
Back to top
View user's profile Send private message
ferdish
n00b
n00b


Joined: 11 Jun 2024
Posts: 23

PostPosted: Sun Jul 14, 2024 1:05 am    Post subject: Reply with quote

A new obstacle on my path.
While updating packages (no time traveling now - current portage) to be ready to switch to new profile I decided to re-emerge already updated and working python
Code:
# python --version
Python 3.12.3
# emerge --verbose --oneshot dev-lang/python

That was successful, but now portage got broken somehow. And even having temporary portage in /tmp/ doesn't help:
Code:
/tmp/portage # bin/emerge --info
Traceback (most recent call last):
  File "/tmp/portage/bin/emerge", line 59, in <module>
    retval = emerge_main()
             ^^^^^^^^^^^^^
  File "/tmp/portage/lib/_emerge/main.py", line 1250, in emerge_main
    exit_code = portage.process.spawn_bash(
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/tmp/portage/lib/portage/process.py", line 158, in spawn_bash
    return spawn(args, opt_name=opt_name, **keywords)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/tmp/portage/lib/portage/process.py", line 421, in spawn
    _has_ipv6()
  File "/tmp/portage/lib/portage/process.py", line 587, in _has_ipv6
    sock.bind(("::1", 0))
    ^^^^^^^^^
AttributeError: 'socket' object has no attribute 'bind'


Maybe somebody has any hints how it got broken and how can it be fixed?
Back to top
View user's profile Send private message
bstaletic
Guru
Guru


Joined: 05 Apr 2014
Posts: 373

PostPosted: Sun Jul 14, 2024 4:55 am    Post subject: Reply with quote

sock is of type socket.socket and bind() should be inherited from the C module _sock.

https://github.com/python/cpython/blob/v3.12.3/Modules/socketmodule.c#L5123-L5126

As you can see, _sock.bind only exists if HAVE_BIND is defined.
However, HAVE_BIND should be 1... https://github.com/python/cpython/blob/v3.12.3/PC/pyconfig.h#L724

Does `python -c 'print(__import__("_socket").bind)'` work?
What USE flags do you have enabled for your python?
Back to top
View user's profile Send private message
ferdish
n00b
n00b


Joined: 11 Jun 2024
Posts: 23

PostPosted: Sun Jul 14, 2024 5:03 am    Post subject: Reply with quote

bstaletic wrote:
Does `python -c 'print(__import__("_socket").bind)'` work?


Code:
# python -c 'print(__import__("_socket").bind)'
Traceback (most recent call last):
  File "<string>", line 1, in <module>
AttributeError: module '_socket' has no attribute 'bind'


Quote:
What USE flags do you have enabled for your python?

I added 'sqlite' a very long time ago. emerge was working (that means python was too). The only change that broke it was - I re-emerged the same python version.
Back to top
View user's profile Send private message
bstaletic
Guru
Guru


Joined: 05 Apr 2014
Posts: 373

PostPosted: Sun Jul 14, 2024 5:18 am    Post subject: Reply with quote

For the USE flags, you can check equery u python. If you don't have equery installed, you can check /var/db/pkg/dev-lang/python-3.12.3*/USE.

I am also guessing two things:

Code:
nm -CD /usr/lib/python3.12/lib-dynload/_socket.cpython*.so | grep bind


outputs nothing for you, when it should say something like U bind@GLIBC_2.2.5.

Code:
nm -CD /lib*/libc.so* | grep bind


outputs something.
Back to top
View user's profile Send private message
ferdish
n00b
n00b


Joined: 11 Jun 2024
Posts: 23

PostPosted: Sun Jul 14, 2024 5:40 am    Post subject: Reply with quote

Oh, sorry, here's the whole output:
Code:
# equery uses dev-lang/python

[ Legend : U - final flag setting for installation]
[        : I - package is installed with flag     ]
[ Colors : set, unset                             ]
 * Found these USE flags for dev-lang/python-3.12.3-r1:
 U I
 - - bluetooth  : Build Bluetooth protocol support in socket module
 - - build      : !!internal use only!! DO NOT SET THIS FLAG YOURSELF!, used for creating build images and the first half of bootstrapping [make stage1]
 - - debug      : Enable extra debug codepaths, like asserts and extra output. If you want to get meaningful backtraces see https://wiki.gentoo.org/wiki/Project:Quality_Assurance/Backtraces
 + + ensurepip  : Install the ensurepip module that uses bundled wheels to bootstrap pip and setuptools (if disabled, it will be only possible to use venv `--without-pip`)
 - - examples   : Install examples, usually source code
 + + gdbm       : Add support for sys-libs/gdbm (GNU database libraries)
 - - libedit    : Link readline extension against dev-libs/libedit instead of sys-libs/readline
 + + ncurses    : Add ncurses support (console display library)
 - - pgo        : Optimize the build using Profile Guided Optimization (PGO) by running Python's test suite and collecting statistics based on its performance. This will take longer to build.
 + + readline   : Enable support for libreadline, a GNU line-editing library that almost everyone wants
 + + sqlite     : Add support for sqlite - embedded sql database
 + + ssl        : Add support for SSL/TLS connections (Secure Socket Layer / Transport Layer Security)
 - - test       : Enable dependencies and/or preparations necessary to run tests (usually controlled by FEATURES=test but can be toggled independently)
 - - tk         : Add support for Tk GUI toolkit
 - - valgrind   : Disable pymalloc when running under dev-debug/valgrind is detected (may incur minor performance penalty even when valgrind is not used)
 - - verify-sig : Verify upstream signatures on distfiles


You're right that
Code:
nm -CD /usr/lib/python3.12/lib-dynload/_socket.cpython*.so | grep bind
outputs nothing and

Code:
# nm -CD /lib*/libc.so* | grep bind
0000000000104dc0 W bind@@GLIBC_2.2.5
00000000001106a0 T bindresvport@@GLIBC_2.2.5
0000000000034a80 W bindtextdomain@@GLIBC_2.2.5
0000000000034ac0 W bind_textdomain_codeset@@GLIBC_2.2.5
                 U _dl_audit_symbind_alt@GLIBC_PRIVATE
00000000001cd998 B _nl_domain_bindings@@GLIBC_2.2.5
0012a130 W bind@@GLIBC_2.0
001379a0 T bindresvport@@GLIBC_2.0
00031340 W bindtextdomain@@GLIBC_2.0
00031370 W bind_textdomain_codeset@@GLIBC_2.2
         U _dl_audit_symbind_alt@GLIBC_PRIVATE
00208060 B _nl_domain_bindings@@GLIBC_2.0
Back to top
View user's profile Send private message
bstaletic
Guru
Guru


Joined: 05 Apr 2014
Posts: 373

PostPosted: Sun Jul 14, 2024 6:04 am    Post subject: Reply with quote

That looks like autotools failed to detect your glibc's bind.
I don't know autotools, but during the configure step, autotools spits out
Code:
  checking for bind... yes
, but in your case I expect that "yes" was actually a "no".
If I am reading things right, the existence of bind is checked by compiling the following
Code:
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>

int
main (void)
{
void *x=bind
  ;
  return 0;
}


and it is compiled with $CC -c $CFLAGS $CPPFLAGS test.c. That should work, as bind should be declared in sys/socket.h.
Back to top
View user's profile Send private message
ferdish
n00b
n00b


Joined: 11 Jun 2024
Posts: 23

PostPosted: Sun Jul 14, 2024 6:23 am    Post subject: Reply with quote

Not sure how that helps me.
Seeing in /usr/lib that I have python 3.5, 3.7, 3.8, 3.9, 3.10, 3.11, 3.12. Was going to depclean after updating the world, but haven't reach that state.
Is there a way to switch python?
eselect python list shows only 3.10, 3.11, 3.12 and switching to none of these helps...
Back to top
View user's profile Send private message
Hu
Administrator
Administrator


Joined: 06 Mar 2007
Posts: 22649

PostPosted: Sun Jul 14, 2024 2:55 pm    Post subject: Reply with quote

I think bstaletic is trying to help you find why your current Python failed to detect bind, because it should have detected it. Evidence you presented so far indicates it failed to detect bind. As for your older Python versions, most of them can be removed, but my preference would be to let emerge --depclean remove them at the end, after we fix this problem. At the very least, we will benefit from a working Python to rebuild the broken one. Hopefully, 3.11 is working well enough that it can be used for that purpose. On the assumption that rebuilding any Python without fixing your bind problem will break the rebuild, I suggest not rebuilding Python 3.10 or Python 3.11 at this time.

I further suggest running the test proposed above, so we can determine why Python 3.12 failed to detect bind.
Back to top
View user's profile Send private message
ferdish
n00b
n00b


Joined: 11 Jun 2024
Posts: 23

PostPosted: Sun Jul 14, 2024 3:56 pm    Post subject: Reply with quote

Oh, yeah, bstaletic is right with his conclusions.
Code:
dev-lang:python-3.12.3-r1:20240713-232243.log.gz:
...
checking for bind... no
...

dev-lang:python-3.12.3-r1:20240705-115306.log.gz:
...
checking for bind... yes
...

dev-lang:python-3.11.9-r1:20240705-114646.log.gz:
...
checking for bind... yes
...


and the test:
Code:
# gcc test.c
# ./a.out && echo true
true


btw, tried all my pythons like
Code:
/usr/lib/python-exec/python3.11/python -c 'print(__import__("_socket").bind)'

they all fail in the same way. Which is weird because all those pythons were working correctly before I re-emerged 3.12.3-r1.
Back to top
View user's profile Send private message
Hu
Administrator
Administrator


Joined: 06 Mar 2007
Posts: 22649

PostPosted: Sun Jul 14, 2024 4:25 pm    Post subject: Reply with quote

I don't think that Python -c line is right. It fails for me too, even on a working Python.

I suggest you run the src_configure phase for Python 3.12, then inspect the configure log to see why it decided bind is not available.
Back to top
View user's profile Send private message
bstaletic
Guru
Guru


Joined: 05 Apr 2014
Posts: 373

PostPosted: Sun Jul 14, 2024 4:35 pm    Post subject: Reply with quote

ferdish wrote:
and the test:
Code:
# gcc test.c
# ./a.out && echo true
true


Well, I did say I am not too familiar with autotools!
I see two options:

First is to try configuring cpython in some temporary directory and seeing if it detects bind. If it doesn't, then mess around with the configure script to find out what went wrong. If it does find bind, well tough luck.
Second is to start a rebuild of python 3.12, but interrupt it after configuring cpython and then messing with the configure script in the portage build dir.

@Hu is also advocating for the latter option.

Just change it to exit after testing for bind, and then look what is in conftest.c and conftest.err.

This is the try-compile function:

Code:
ac_fn_c_try_compile ()
{
  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
  rm -f conftest.$ac_objext conftest.beam
  if { { ac_try="$ac_compile"
case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
printf "%s\n" "$ac_try_echo"; } >&5
  (eval "$ac_compile") 2>conftest.err
  ac_status=$?
  if test -s conftest.err; then
    grep -v '^ *+' conftest.err >conftest.er1
    cat conftest.er1 >&5
    mv -f conftest.er1 conftest.err
  fi
  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; } && {
    test -z "$ac_c_werror_flag" ||
    test ! -s conftest.err
       } && test -s conftest.$ac_objext
then :
  ac_retval=0
else $as_nop
  printf "%s\n" "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

   ac_retval=1
fi
  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
  as_fn_set_status $ac_retval

} # ac_fn_c_try_compile


And this is the call regarding bind:
Code:
  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for bind" >&5
printf %s "checking for bind... " >&6; }
if test ${ac_cv_func_bind+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h.  */

#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>

int
main (void)
{
void *x=bind
  ;
  return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
  ac_cv_func_bind=yes
else $as_nop
  ac_cv_func_bind=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext

fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_bind" >&5
printf "%s\n" "$ac_cv_func_bind" >&6; }
  if test "x$ac_cv_func_bind" = xyes
then :

printf "%s\n" "#define HAVE_BIND 1" >>confdefs.h
Back to top
View user's profile Send private message
bstaletic
Guru
Guru


Joined: 05 Apr 2014
Posts: 373

PostPosted: Sun Jul 14, 2024 4:37 pm    Post subject: Reply with quote

Hu wrote:
I don't think that Python -c line is right. It fails for me too, even on a working Python.


My bad! The line should be

Code:
python -c 'print(__import__("_socket").socket.bind)'


And the output should be

Code:
<method 'bind' of '_socket.socket' objects>


_socket is the module, then socket is the class and bind is our missing function.
Back to top
View user's profile Send private message
ferdish
n00b
n00b


Joined: 11 Jun 2024
Posts: 23

PostPosted: Sun Jul 14, 2024 4:38 pm    Post subject: Reply with quote

Hu wrote:
I don't think that Python -c line is right. It fails for me too, even on a working Python.

That's a relief. I was puzzled by all my failures, but looks like the test isn't perfect. That gives me a hope.

Quote:
I suggest you run the src_configure phase for Python 3.12, then inspect the configure log to see why it decided bind is not available.

How do I do that? Off-portage python and ./configure ?
Back to top
View user's profile Send private message
ferdish
n00b
n00b


Joined: 11 Jun 2024
Posts: 23

PostPosted: Sun Jul 14, 2024 4:46 pm    Post subject: Reply with quote

bstaletic wrote:
Hu wrote:
I don't think that Python -c line is right. It fails for me too, even on a working Python.


My bad! The line should be

Code:
python -c 'print(__import__("_socket").socket.bind)'


And the output should be

Code:
<method 'bind' of '_socket.socket' objects>


_socket is the module, then socket is the class and bind is our missing function.


You're right again:
Code:
# /usr/lib/python-exec/python3.12/python -c 'print(__import__("_socket").socket.bind)'
Traceback (most recent call last):
  File "<string>", line 1, in <module>
AttributeError: type object '_socket.socket' has no attribute 'bind'
# /usr/lib/python-exec/python3.11/python -c 'print(__import__("_socket").socket.bind)'
<method 'bind' of '_socket.socket' objects>
# /usr/lib/python-exec/python3.10/python -c 'print(__import__("_socket").socket.bind)'
<method 'bind' of '_socket.socket' objects>


Well, at least some of my pythons are working :-)

As for the configure approaches - I'll try to dig there on my own, but most likely I'll need a guidance here.
Back to top
View user's profile Send private message
bstaletic
Guru
Guru


Joined: 05 Apr 2014
Posts: 373

PostPosted: Sun Jul 14, 2024 5:03 pm    Post subject: Reply with quote

ferdish wrote:
You're right again:

See, I know python! Sometimes...

ferdish wrote:
As for the configure approaches - I'll try to dig there on my own, but most likely I'll need a guidance here.


Sure thing! Hint: qmerge can execute individual steps, instead of invoking the entire process like emerge. Check the man page for it.
Back to top
View user's profile Send private message
Hu
Administrator
Administrator


Joined: 06 Mar 2007
Posts: 22649

PostPosted: Sun Jul 14, 2024 5:04 pm    Post subject: Reply with quote

I was thinking start with ebuild /var/db/repos/gentoo/dev-lang/python/python-3.12.3-r1.ebuild configure, so that Portage would stop on its own. You might need to force use of an older Python by setting EPYTHON=python3.11 in the environment.

As I read the manual page for qmerge, that only works on binary packages.
Back to top
View user's profile Send private message
bstaletic
Guru
Guru


Joined: 05 Apr 2014
Posts: 373

PostPosted: Sun Jul 14, 2024 5:29 pm    Post subject: Reply with quote

Hu wrote:
As I read the manual page for qmerge, that only works on binary packages.


Right... I was thinking of ebuild.

Note to self: go eat something - your brain is clearly not working right now!
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Portage & Programming All times are GMT
Goto page 1, 2  Next
Page 1 of 2

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum