Forums

Skip to content

Advanced search
  • Quick links
    • Unanswered topics
    • Active topics
    • Search
  • FAQ
  • Login
  • Register
  • Board index Assistance Portage & Programming
  • Search

[SOLVED] Portage not resolving dependencies for perl 5.20.2

Problems with emerge or ebuilds? Have a basic programming question about C, PHP, Perl, BASH or something else?
Post Reply
Advanced search
7 posts • Page 1 of 1
Author
Message
kres
Tux's lil' helper
Tux's lil' helper
User avatar
Posts: 122
Joined: Tue Jan 14, 2003 1:00 am
Location: Narnia

[SOLVED] Portage not resolving dependencies for perl 5.20.2

  • Quote

Post by kres » Wed Nov 30, 2016 2:51 pm

Time to cry uncle...

I'm supporting a legacy application that must use Perl 5.20.2 and associated modules or it breaks. Upgrading Perl is not an option.

In package.mask/perl is an entry for

Code: Select all

>dev-lang/perl-5.20.2
This keeps perl at 5.20.2, which is good.

What is not good is that Portage doesn't seem to be able to resolve any other perl dependent install without calling for the upgrade to dev-lang/perl-5.24.0-r1. If I mask all of the dependencies it calls out by hand (putting in entries that use perl 5.20.2 in the package.mask) I make slow painful progress. Example:

Code: Select all

>virtual/perl-Scalar-List-Utils-1.380.0
>perl-core/File-Temp-0.230.400-r1
>virtual/perl-Test-Harness-3.330.0
>perl-core/File-Temp-0.230.400-r1
>virtual/perl-ExtUtils-CBuilder-0.280.217-r2
>virtual/perl-ExtUtils-MakeMaker-6.980.0
>virtual/perl-ExtUtils-Manifest-1.630.0-r2
etc...forever...and ever...until I die...
Any hints? Usually when Portage is being this stubborn, I am being stupid - but I'm out of places to look for my stupidity.

Thanks in advance.

(PS - My Portage is up to date - not the sticky problem up top... *sign* )
Last edited by kres on Tue Dec 06, 2016 3:01 pm, edited 1 time in total.
Kres
Top
NeddySeagoon
Administrator
Administrator
User avatar
Posts: 56101
Joined: Sat Jul 05, 2003 9:37 am
Location: 56N 3W

  • Quote

Post by NeddySeagoon » Wed Nov 30, 2016 4:31 pm

kres,

Tell portage to try harder --backtrack=50

The default is 3. It will take longer to do dependency resolution.
Regards,

NeddySeagoon

Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail.
Top
toralf
Developer
Developer
User avatar
Posts: 3944
Joined: Sun Feb 01, 2004 2:58 pm
Location: Hamburg
Contact:
Contact toralf
Website

  • Quote

Post by toralf » Wed Nov 30, 2016 4:34 pm

--backtrack=30
worked here
Top
kres
Tux's lil' helper
Tux's lil' helper
User avatar
Posts: 122
Joined: Tue Jan 14, 2003 1:00 am
Location: Narnia

  • Quote

Post by kres » Wed Nov 30, 2016 9:01 pm

Pushed the --backtrack as far as 1000, no dice, and not a lot of change.

I'm going to start another instance, and try to formally downgrade off a Stage3 and see where that gets me...

However, I'm still going to pluck away at this one. Any additional ClueX4's appreciated.
Kres
Top
asturm
Developer
Developer
Posts: 9496
Joined: Thu Apr 05, 2007 4:07 pm

  • Quote

Post by asturm » Wed Nov 30, 2016 9:03 pm

Full portage output please.
Top
kres
Tux's lil' helper
Tux's lil' helper
User avatar
Posts: 122
Joined: Tue Jan 14, 2003 1:00 am
Location: Narnia

  • Quote

Post by kres » Wed Nov 30, 2016 9:36 pm

asturm wrote:Full portage output please.
Here yah go - Thanks for looking

Code: Select all

emerge -pv --backtrack=300 dev-vcs/git 

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild  N     ] dev-libs/npth-1.2::gentoo  USE="-static-libs" 292 KiB
[ebuild  N     ] dev-libs/libassuan-2.4.3::gentoo  USE="-static-libs" 547 KiB
[ebuild  N     ] dev-libs/libksba-1.3.5::gentoo  USE="-static-libs" 607 KiB
[ebuild  N     ] app-eselect/eselect-lib-bin-symlink-0.1.1::gentoo  45 KiB
[ebuild  N     ] app-eselect/eselect-pinentry-0.6::gentoo  0 KiB
[ebuild     U #] dev-lang/perl-5.22.2:0/5.22::gentoo [5.20.2:0/5.20::gentoo] USE="berkdb gdbm -debug -doc -ithreads" 13,416 KiB
[ebuild  N     ] virtual/perl-Scalar-List-Utils-1.410.0-r1::gentoo  0 KiB
[ebuild  N     ] virtual/perl-libnet-3.50.0-r1::gentoo  0 KiB
[ebuild     U #] dev-lang/perl-5.24.0-r2:0/5.24::gentoo [5.20.2:0/5.20::gentoo] USE="berkdb gdbm -debug -doc -ithreads" 13,928 KiB
[ebuild  N     ] virtual/perl-Digest-SHA-5.950.0-r3::gentoo  0 KiB
[ebuild  N     ] virtual/perl-Digest-MD5-2.540.0-r2::gentoo  0 KiB
[ebuild  N     ] virtual/perl-MIME-Base64-3.150.0-r2::gentoo  0 KiB
[ebuild  N     ] dev-perl/Net-SSLeay-1.720.0-r1::gentoo  USE="-examples (-libressl) -minimal {-test}" 377 KiB
[ebuild  N     ] dev-perl/Digest-HMAC-1.30.0-r1::gentoo  8 KiB
[ebuild  N     ] dev-perl/Authen-SASL-2.160.0-r1::gentoo  USE="-kerberos" 45 KiB
[ebuild  N     ] dev-perl/IO-Socket-SSL-2.24.0::gentoo  USE="-idn" 205 KiB
[ebuild  N     ] dev-perl/Error-0.170.240::gentoo  USE="{-test}" 31 KiB
[ebuild  N     ] dev-perl/Net-SMTP-SSL-1.30.0::gentoo  USE="{-test}" 3 KiB
[ebuild  N     ] app-crypt/pinentry-0.9.5::gentoo  USE="ncurses -caps -clipboard -emacs -gnome-keyring -gtk -qt4 -static" 503 KiB
[ebuild  N     ] app-crypt/gnupg-2.1.15::gentoo  USE="bzip2 gnutls ldap nls readline -doc (-selinux) -smartcard -tofu -tools -usb" 5,590 KiB
[ebuild  N     ] dev-vcs/git-2.7.3-r1::gentoo  USE="blksha1 curl gpg iconv nls pcre perl python threads webdav -cgi -cvs -doc -emacs -gnome-keyring -gtk -highlight (-libressl) -mediawiki -mediawiki-experimental (-ppcsha1) -subversion {-test} -tk -xinetd" PYTHON_TARGETS="python2_7" 4,222 KiB

Total: 21 packages (2 upgrades, 19 new), Size of downloads: 39,812 KiB

!!! Multiple package instances within a single package slot have been pulled
!!! into the dependency graph, resulting in a slot conflict:

dev-lang/perl:0

  (dev-lang/perl-5.20.2:0/5.20::gentoo, installed) pulled in by
    dev-lang/perl:0/5.20=[-build(-)] required by (dev-perl/Module-Build-0.420.500:0/0::gentoo, installed)
                 ^^^^^^^^                                                                                                                    
    =dev-lang/perl-5.20* required by (virtual/perl-Archive-Tar-1.960.0-r1:0/0::gentoo, installed)
    ^              ^^^^^                                                                                                                                
    (and 52 more with the same problems)

  (dev-lang/perl-5.24.0-r2:0/5.24::gentoo, ebuild scheduled for merge) pulled in by
    =dev-lang/perl-5.24* required by (virtual/perl-ExtUtils-Manifest-1.700.0-r2:0/0::gentoo, installed)
    ^              ^^^^^                                                                                                                                      
    (and 17 more with the same problem)

  (dev-lang/perl-5.22.2:0/5.22::gentoo, ebuild scheduled for merge) pulled in by
    =dev-lang/perl-5.22* required by (virtual/perl-Parse-CPAN-Meta-1.441.400-r1:0/0::gentoo, installed)
    ^              ^^^^^                                                                                                                                      
    (and 31 more with the same problem)

NOTE: Use the '--verbose-conflicts' option to display parents omitted above

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 keyword changes are necessary to proceed:
 (see "package.accept_keywords" in the portage(5) man page for more details)
# required by virtual/perl-Sys-Syslog-0.330.0-r5::gentoo
# required by dev-perl/DBI-1.634.0::gentoo
# required by dev-perl/DBD-mysql-4.37.0::gentoo
# required by dev-db/mariadb-10.0.28::gentoo[perl]
# required by virtual/mysql-5.6-r6::gentoo[-embedded]
# required by dev-libs/cyrus-sasl-2.1.26-r9::gentoo[mysql]
# required by app-admin/sudo-1.8.16::gentoo[ldap]
# required by @selected
# required by @world (argument)
=dev-lang/perl-5.24.0-r2 ~amd64

The following mask changes are necessary to proceed:
 (see "package.unmask" in the portage(5) man page for more details)
# required by virtual/perl-File-Spec-3.560.100::gentoo
# required by dev-perl/Module-Build-0.420.500::gentoo
# required by dev-perl/Error-0.170.240::gentoo
# required by dev-vcs/git-2.7.3-r1::gentoo[perl]
# required by dev-vcs/git (argument)
# /etc/portage/package.mask/perl:
=dev-lang/perl-5.22.2
# required by virtual/perl-Sys-Syslog-0.330.0-r5::gentoo
# required by dev-perl/DBI-1.634.0::gentoo
# required by dev-perl/DBD-mysql-4.37.0::gentoo
# required by dev-db/mariadb-10.0.28::gentoo[perl]
# required by virtual/mysql-5.6-r6::gentoo[-embedded]
# required by dev-libs/cyrus-sasl-2.1.26-r9::gentoo[mysql]
# required by app-admin/sudo-1.8.16::gentoo[ldap]
# required by @selected
# required by @world (argument)
# /etc/portage/package.mask/perl:
=dev-lang/perl-5.24.0-r2

NOTE: The --autounmask-keep-masks option will prevent emerge
      from creating package.unmask or ** keyword changes.

 * IMPORTANT: 14 news items need reading for repository 'gentoo'.
 * Use eselect news read to view new items.

Kres
Top
kres
Tux's lil' helper
Tux's lil' helper
User avatar
Posts: 122
Joined: Tue Jan 14, 2003 1:00 am
Location: Narnia

  • Quote

Post by kres » Mon Dec 05, 2016 7:02 pm

My solution was not elegant - AT ALL, but here is how I beat it into submission:

1) Unmerge all the virtual/perl*
2) Unmerge all the perl-core
3) Unmerge Perl
4) Make sure that you've masked the higher perl versions in your package.mask config
5) Emerge the specific Perl you are looking for (emerge -pav =dev-lang/perl-5.20.2)
6) Run PerlCleaner, but run each step, as opposed to running the catch all commands (perl-cleaner fails with confused emerge blockers if you push it to fast)
i) perl-cleaner --modules
ii) perl-cleaner --allmodules
iii) perl-cleaner --libperl
iv) perl-cleaner --ph-clean
v) perl-cleaner --ph-clean
7) Emerge world with deps using --backtrack 300

Perl is such kudzu in the system / portage dependency patterns that until you rip it out by the roots and walk it back home, portage chases it's tail.

Once I did all this, portage stopped trying to ignore my explicit instructions.
Kres
Top
Post Reply

7 posts • Page 1 of 1

Return to “Portage & Programming”

Jump to
  • Assistance
  • ↳   News & Announcements
  • ↳   Frequently Asked Questions
  • ↳   Installing Gentoo
  • ↳   Multimedia
  • ↳   Desktop Environments
  • ↳   Networking & Security
  • ↳   Kernel & Hardware
  • ↳   Portage & Programming
  • ↳   Gamers & Players
  • ↳   Other Things Gentoo
  • ↳   Unsupported Software
  • Discussion & Documentation
  • ↳   Documentation, Tips & Tricks
  • ↳   Gentoo Chat
  • ↳   Gentoo Forums Feedback
  • ↳   Duplicate Threads
  • International Gentoo Users
  • ↳   中文 (Chinese)
  • ↳   Dutch
  • ↳   Finnish
  • ↳   French
  • ↳   Deutsches Forum (German)
  • ↳   Diskussionsforum
  • ↳   Deutsche Dokumentation
  • ↳   Greek
  • ↳   Forum italiano (Italian)
  • ↳   Forum di discussione italiano
  • ↳   Risorse italiane (documentazione e tools)
  • ↳   Polskie forum (Polish)
  • ↳   Instalacja i sprzęt
  • ↳   Polish OTW
  • ↳   Portuguese
  • ↳   Documentação, Ferramentas e Dicas
  • ↳   Russian
  • ↳   Scandinavian
  • ↳   Spanish
  • ↳   Other Languages
  • Architectures & Platforms
  • ↳   Gentoo on ARM
  • ↳   Gentoo on PPC
  • ↳   Gentoo on Sparc
  • ↳   Gentoo on Alternative Architectures
  • ↳   Gentoo on AMD64
  • ↳   Gentoo for Mac OS X (Portage for Mac OS X)
  • Board index
  • All times are UTC
  • Delete cookies

© 2001–2026 Gentoo Foundation, Inc.

Powered by phpBB® Forum Software © phpBB Limited

Privacy Policy

 

 

magic