Summary: | app-portage/layman-2.4.2 - ImportError: No module named requests | ||
---|---|---|---|
Product: | Portage Development | Reporter: | Martin Mokrejš <mmokrejs> |
Component: | Core - Dependencies | Assignee: | Portage team <dev-portage> |
Status: | RESOLVED FIXED | ||
Severity: | normal | ||
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: |
build.log
emerge.log.xz emerge -e @world --keep-going -pv --tree |
Description
Martin Mokrejš
2018-02-21 10:15:51 UTC
Actually, dev-python/ssl-fetch should have the dev-python/requests dependency. Layman depended on ssl-fetch, and ssl-fetch has always had the dev-python/requests pkg dependency. So, what has been done to clean the requests pkg from your system? Please attach /var/log/emerge.log. Thanks for all your inputs. OK, so I emerged dev-python/requests and also dev-python/urllib3, both were missing. But, to re-test, I just enumeged both urrlib3 and requests and attempting to re-install layman did *not* bring them into the deps. so something is broken. Created attachment 520492 [details]
build.log
# emerge --unmerge requests urllib3
#
# FEATURES=noclean emerge layman
...
[attached build.log]
...
#
# emerge -pv --tree layman
Calculating dependencies... done!
[ebuild R ] app-portage/layman-2.4.2::gentoo USE="git sqlite -bazaar -cvs -darcs -g-sorcery -gpg -mercurial -squashfs -subversion -sync-plugin-portage {-test}" PYTHON_TARGETS="python2_7 python3_4 python3_5 -pypy -python3_6" 0 KiB
Total: 1 package (1 reinstall), Size of downloads: 0 KiB
It really does not trigger installation of dev-python/requests and in turn dev-python/urllib3. Weird.
(In reply to Martin Mokrejš from comment #4) > But, to re-test, I just enumeged both urrlib3 and requests and attempting to > re-install layman did *not* bring them into the deps. so something is broken. You need to use the emerge --deep option. a couple more things: 1) urllib3 is not needed, requests uses either the std py3 lib or it's own bundled version if needed. 2) ssl-fetch deps on requests, so since ssl-fetch was not unmerged, then layman emerge would need the --deep option like Zac said. 3) We needed to see the emerge log (not the build log) to find out how or why the requests pkg was cleaned out in case there is a bug in portage/emerge that missed that dependency so unmerged it during a deplclean. The emerge log records all pkgs that are merged or unmerged. it is located at /var/log/emerge.log (In reply to Zac Medico from comment #6) > You need to use the emerge --deep option. Wow! I (mis)use Gentoo Linux since about 2001 or 2002 and always thought "--deep" is "needed" only for eventual "emerge -uND world" (for real masochists who want to *voluntarily* upgrade even the DEPENDed packages although it is not strictly needed) but in a normal "world" emerge will pick all the necessary deps. So you say that "emerge -uN world" or "emerge layman" is not enough? Uh. (In reply to Martin Mokrejš from comment #8) > (In reply to Zac Medico from comment #6) > > You need to use the emerge --deep option. > > Wow! I (mis)use Gentoo Linux since about 2001 or 2002 and always thought > "--deep" is "needed" only for eventual "emerge -uND world" (for real > masochists who want to *voluntarily* upgrade even the DEPENDed packages > although it is not strictly needed) but in a normal "world" emerge will pick > all the necessary deps. So you say that "emerge -uN world" or "emerge > layman" is not enough? Uh. If you test it, you should see that --deep pulls in the (indirect) requests dependency. Don't take my word for it. ;-) Created attachment 520516 [details]
emerge.log.xz
OK, I think a few times I used emerge with --nodeps because the USE=bindist was such a pain, blocking networkmanager due to qtnetwork ... So provided the discussion we had I cannot rule out I twisted emerge. I am sorry if that is the case. I wasn't aware of the downstream consequences (that I would need to use the --deep option to be safe).
You aren't quite getting why --deep was needed in your case. requests is a dep of ssl-fetch, not layman ssl-fetch was seen as being installed when you tried emerge layman, so didn't look any further. the --deep option tells emerge to look at all dependencies including their dependencies, the deps of ssl-fetch in your case. It would then see that requests was not installed and pull it in to the merge list. thank you for the emerge.log Time for sleep here. As always, USE=bindist is a hassle and a bad decision on this host. Some remnants of that still kicking in.
# emerge -pv --tree --deep layman
!!! Repository 'x-layman' is missing masters attribute in '/scratch/var/lib/layman/metadata/layout.conf'
!!! Set 'masters = gentoo' in this file for future compatibility
!!! Repository 'x-portage' is missing masters attribute in '/scratch/usr/local/portage/metadata/layout.conf'
!!! Set 'masters = gentoo' in this file for future compatibility
WARNING: One or more repositories have missing repo_name entries:
/scratch/var/lib/layman/profiles/repo_name
/scratch/usr/local/portage/profiles/repo_name
NOTE: Each repo_name entry should be a plain text file containing a
unique name for the repository on the first line.
These are the packages that would be merged, in reverse order:
Calculating dependencies... done!
[ebuild R ] app-portage/layman-2.4.2::gentoo USE="git sqlite -bazaar -cvs -darcs -g-sorcery -gpg -mercurial -squashfs -subversion -sync-plugin-portage {-test}" PYTHON_TARGETS="python2_7 python3_4 python3_5 -pypy -python3_6" 0 KiB
[nomerge ] dev-python/ssl-fetch-0.4::gentoo PYTHON_TARGETS="python2_7 python3_4 python3_5 -pypy -python3_6"
[ebuild N ] dev-python/requests-2.18.4::gentoo USE="ssl -socks5" PYTHON_TARGETS="python2_7 python3_4 python3_5 -pypy -pypy3 -python3_6" 0 KiB
[ebuild N ] dev-python/urllib3-1.22::gentoo USE="-doc {-test}" PYTHON_TARGETS="python2_7 python3_4 python3_5 -pypy -pypy3 -python3_6" 0 KiB
[nomerge ] dev-qt/qtnetwork-5.9.3:5/5.9::gentoo USE="bindist ssl -connman -debug -libproxy -networkmanager {-test}"
[ebuild R ] dev-libs/openssl-1.0.2n::gentoo USE="asm bindist* gmp sctp sslv3 tls-heartbeat zlib -kerberos -rfc3779 -sslv2 -static-libs {-test} -vanilla" ABI_X86="32 (64) (-x32)" CPU_FLAGS_X86="(sse2)" 0 KiB
Total: 4 packages (2 new, 2 reinstalls), Size of downloads: 0 KiB
!!! Multiple package instances within a single package slot have been pulled
!!! into the dependency graph, resulting in a slot conflict:
dev-libs/openssl:0
(dev-libs/openssl-1.0.2n:0/0::gentoo, installed) pulled in by
dev-libs/openssl:0[-bindist(-)] required by (dev-python/cryptography-2.1.4:0/0::gentoo, installed)
>=dev-libs/openssl-1.0.1:0/0=[-bindist] required by (net-misc/openssh-7.6_p1-r4:0/0::gentoo, installed)
^^^^^^^^
>=dev-libs/openssl-1.0.1:0=[bindist=] required by (net-misc/openssh-7.6_p1-r4:0/0::gentoo, installed)
^^^^^^^^
(dev-libs/openssl-1.0.2n:0/0::gentoo, ebuild scheduled for merge) pulled in by
dev-libs/openssl:0/0=[bindist] required by (dev-qt/qtnetwork-5.9.3:5/5.9::gentoo, installed)
^^^^^^^
It may be possible to solve this problem by using package.mask to
prevent one of those packages from being selected. However, it is also
possible that conflicting dependencies exist such that they are
impossible to satisfy simultaneously. If such a conflict exists in
the dependencies of two different packages, then those packages can
not be installed simultaneously.
For more information, see MASKED PACKAGES section in the emerge man
page or refer to the Gentoo Handbook.
The following USE changes are necessary to proceed:
(see "package.use" in the portage(5) man page for more details)
# required by dev-qt/qtnetwork-5.9.3::gentoo
# required by @selected
# required by @world (argument)
>=dev-libs/openssl-1.0.2n bindist
* In order to avoid wasting time, backtracking has terminated early
* due to the above autounmask change(s). The --autounmask-backtrack=y
* option can be used to force further backtracking, but there is no
* guarantee that it will produce a solution.
I will fix that in he morning, later with "emerge --deep -uN world". I thought the "emerge --changed-deps world --keep-going" was the most I could have done today already. I don't see a reason why --deep behavior is not the default. Who want's a broken install? If --deep is mandatory, then it should be a default.
yes, you did unmerge requests many times, emerge --no-deps it... Also several groups of emerge fails for lots of pkgs... I would recommend you do an emerge -e @world to get your system fully in sync with all it's deps... Your system may benefit greatly from it. Created attachment 520544 [details]
emerge -e @world --keep-going -pv --tree
Well there are not that many issues actually but I need to get over bugs #648504 and #648506 first.
Often I did
emerge -uND world --keep-going --changed-deps=y --backtrack=30000 | grep '^\[' | grep -v 'virtual/' | awk '{print $4}' | while read p; do emerge -uN1 --keep-going --backtrack=30000 =$p --changed-deps=y =$p; done
so my system is rather OK. Something emerge could have done easier to users. Notoriously every tiny perl, qt version bump causes so much troubles and emerge is just unable to perform at least some of the scheduled work.
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=805fe7c0495e1bf3a34d518041e466258944b82b commit 805fe7c0495e1bf3a34d518041e466258944b82b Author: Jakov Smolić <jsmolic@gentoo.org> AuthorDate: 2023-06-22 13:15:09 +0000 Commit: Jakov Smolić <jsmolic@gentoo.org> CommitDate: 2023-06-22 13:15:09 +0000 app-portage/layman: treeclean Closes: https://bugs.gentoo.org/761199 Closes: https://bugs.gentoo.org/609720 Closes: https://bugs.gentoo.org/627930 Closes: https://bugs.gentoo.org/700742 Closes: https://bugs.gentoo.org/649766 Closes: https://bugs.gentoo.org/681144 Closes: https://bugs.gentoo.org/648374 Closes: https://bugs.gentoo.org/545568 Closes: https://bugs.gentoo.org/581890 Closes: https://bugs.gentoo.org/539336 Closes: https://bugs.gentoo.org/590132 Closes: https://bugs.gentoo.org/574190 Closes: https://bugs.gentoo.org/578992 Closes: https://bugs.gentoo.org/540012 Closes: https://bugs.gentoo.org/412883 Closes: https://bugs.gentoo.org/443880 Closes: https://bugs.gentoo.org/480884 Closes: https://bugs.gentoo.org/567386 Closes: https://bugs.gentoo.org/454604 Closes: https://bugs.gentoo.org/567384 Signed-off-by: Jakov Smolić <jsmolic@gentoo.org> app-portage/layman/Manifest | 1 - app-portage/layman/layman-2.4.3.ebuild | 100 --------------------------------- app-portage/layman/layman-9999.ebuild | 100 --------------------------------- app-portage/layman/metadata.xml | 24 -------- profiles/package.mask | 5 -- 5 files changed, 230 deletions(-) The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=abfaed0b3460e638410c0fd74783f8d292d63afc commit abfaed0b3460e638410c0fd74783f8d292d63afc Author: Andreas K. Hüttel <dilfridge@gentoo.org> AuthorDate: 2023-09-08 00:41:10 +0000 Commit: Andreas K. Hüttel <dilfridge@gentoo.org> CommitDate: 2023-09-08 00:42:07 +0000 app-portage/layman: treeclan Closes: https://bugs.gentoo.org/761199 Closes: https://bugs.gentoo.org/609720 Closes: https://bugs.gentoo.org/627930 Closes: https://bugs.gentoo.org/700742 Closes: https://bugs.gentoo.org/649766 Closes: https://bugs.gentoo.org/681144 Closes: https://bugs.gentoo.org/648374 Closes: https://bugs.gentoo.org/545568 Closes: https://bugs.gentoo.org/581890 Closes: https://bugs.gentoo.org/539336 Closes: https://bugs.gentoo.org/590132 Closes: https://bugs.gentoo.org/574190 Closes: https://bugs.gentoo.org/578992 Closes: https://bugs.gentoo.org/540012 Closes: https://bugs.gentoo.org/412883 Closes: https://bugs.gentoo.org/443880 Closes: https://bugs.gentoo.org/480884 Closes: https://bugs.gentoo.org/567386 Closes: https://bugs.gentoo.org/454604 Closes: https://bugs.gentoo.org/567384 Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org> app-portage/layman/Manifest | 1 - app-portage/layman/layman-2.4.3.ebuild | 100 --------------------------------- app-portage/layman/layman-9999.ebuild | 100 --------------------------------- app-portage/layman/metadata.xml | 24 -------- profiles/package.mask | 5 -- 5 files changed, 230 deletions(-) |