You are not logged in.

#1 2016-04-27 13:31:24

Gregosky
Member
From: UK
Registered: 2013-07-26
Posts: 174

[Solved] Python requirements not listed

Hi guys,

I came accross weird issue.
I was running a python script from chroot and the script was failing for missing lib requirement (and failing with core dump to journal)
The error message was saying:
"libgcc_s.so.1 must be installed for pthread_cancel to work"
I checked https://www.archlinux.org/packages/extra/x86_64/python/ - gcc-libs are not listed as one of requirements.
I also checked ldd for all *.so files from /lib/python3.5

find lib/python3.5 -name '*.so*' -exec ldd {} \; | grep '=>' | grep -v 'not found' | sort | uniq | awk '{ print $3 }' | uniq

libgcc_s.so.1 not listed
I found this thread: https://bugs.python.org/issue18748
but I'm not sure this applies...

Can anybody help me understand what is happening here? Python is not listed to require gcc-libs and in the same time it fails if libgcc_s.so.1 is not there..?

Last edited by Gregosky (2016-04-27 14:36:23)

Offline

#2 2016-04-27 14:09:59

V1del
Forum Moderator
Registered: 2012-10-16
Posts: 21,738

Re: [Solved] Python requirements not listed

gcc-libs is in the base group, and the base group is assumed to be installed. You would have a huge chain of obvious necessities attached to each package if that weren't the case.

Offline

#3 2016-04-27 14:20:36

Gregosky
Member
From: UK
Registered: 2013-07-26
Posts: 174

Re: [Solved] Python requirements not listed

Thanks @V1del - I would think all dependencies are always listed (even those obvious dependencies) - otherwise how would pacman manage packages? I would also say nothing is obvious when it comes to engineering unless it's written down this way or another... Anyways I'll ask maintainer why is this not listed.

Offline

#4 2016-04-27 14:33:55

Trilby
Inspector Parrot
Registered: 2011-11-29
Posts: 29,530
Website

Re: [Solved] Python requirements not listed

Actually the base group is not assumed.  Base-devel is assumed for AUR package builds, but not base.  For main repo packages, neither is assumed.  But deps are not listed recursively.  Python depends on openssl, openssl on db, and db on gcc-libs.  If you've installed Python with pacman, you would pull in gcc-libs (if you didn't already have it).

However, something else seems off here.  This clearly wasn't an archlinux chroot as gcc-libs is also required (indirectly) by bash and numerous other basic system components.  I can't imagine how it could be possible to chroot into an archlinux system that doesn't have gcc-libs installed.


"UNIX is simple and coherent..." - Dennis Ritchie, "GNU's Not UNIX" -  Richard Stallman

Offline

#5 2016-04-27 14:36:03

Gregosky
Member
From: UK
Registered: 2013-07-26
Posts: 174

Re: [Solved] Python requirements not listed

Thanks @Trilby, now I understand. Recursive dependencies are not listed. All clear now!


@Trillby - answering your question - I was not running bash on this chroot. I was running my python script like this:
/usr/bin/chroot --userspec=my_user:my_group /my/chroot /usr/bin/env -i HOME=/ /usr/bin/python my_script.py

Last edited by Gregosky (2016-04-27 14:55:03)

Offline

Board footer

Powered by FluxBB