http://qs1969.pair.com?node_id=11148704


in reply to Re: How can I find installed packages in a broken Perlbrew?
in thread How can I find installed packages in a broken Perlbrew?

Thanks for the reply. I ran the "automatic upgrade" from Linux Mint 20.3 to Linux Mint 21. In order to do this I had to remove a bunch of PPAs and a few other packages that were not compatible with LM21. Thanks for pointing it out, you are right I should have said ~/perl5. When I tried to run perlbrew or a perl script I was getting these errors:

$ perlbrew ListUtil.c: loadable library and perl binaries are mismatched (got han +dshake key 0xcd00080, needed 0xeb00080) $ perl imap-test.pl ListUtil.c: loadable library and perl binaries are mismatched (got han +dshake key 0xcd00080, needed 0xeb00080) [download]

I changed ~/perl5 to ~/perl5-deactivated

and that allowed me to run perl. I ran:
~/perl5--deactivated/perlbrew$ bin/perlbrew version bin/perlbrew - App::perlbrew/0.94

What is the best way forward? I noted that the latest version is 0.96. If I change the directory back to perl5 and run the install script will it upgrade everything?

Replies are listed 'Best First'.
Re^3: How can I find installed packages in a broken Perlbrew?
by kcott (Archbishop) on Dec 10, 2022 at 07:31 UTC
    "I changed ~/perl5 to ~/perl5-deactivated ... and that allowed me to run perl. ... If I change the directory back to perl5 ..."

    Look in your PERLBREW_* environment variables. Perhaps you need to change instances of perl5-deactivated to perl5.

    Also look in your ~/.bashrc (or equivalent). Maybe similar changes are needed there.

    "~/perl5--deactivated/perlbrew$ bin/perlbrew version"

    Is it ~/perl5-deactivated, or ~/perl5--deactivated, or something else?

    — Ken

      Hi Ken

      I initially installed perlbrew and it created ~/perl, I did my upgrade and it ran into problems. The way I got things to the point that perl would run was to deactivate perlbrew by changing the name of the ~/perl directory. I didn't change anything else. When I start a shell I get errors because of the statements in the bashrc referencing a directory that doesn't exist.

      I don't know what is causing the library error I was getting. I don't know if just doing a reinstall of perlbrew over top of the old one (i.e. by changing the directory name back to ./perl will fix the problem and keep/upgrade any packages that I had previously installed. That's what I'm looking for guidance on.