# Perl5.26 upgrade causes error



## alexseitsinger (Apr 11, 2018)

Hello,

I recently pkg upgraded my installation of Perl5.24.3 to Perl5.26.1, which was built via Poudriere. After the installation I get the following error in the console:


> Shared object "libperl.so.5.24" not found, required by "perl"



This error ruins the environment, so things like PATH don't work, and commands that I run require a full /path/to/binary.

As the error suggests, I have something pointing to this older version of perl, but I'm unsure of what and why.

Downgrading the package to the previous version removes the issue, but I'd like to understand what's happening here so I can use the latest version.

Any suggestions are appreciated.


----------



## gnath (Apr 11, 2018)

ShelLuser said:


> After that is done you need to rebuild any port which got build against the previous Perl library. That can be done using this command:  # portmaster -R `pkg shlib -qR libperl.so.5.24`


From Thread 65432


----------



## alexseitsinger (Apr 11, 2018)

I built the perl binary with poudriere, on a separate box.  Installed it via pkg on another. Surprisingly, `pkg shlib -R libperl.so.5.24` returns nothing, either, so there's nothing to rebuild using portmaster.


----------



## SirDice (Apr 11, 2018)

alexseitsinger said:


> As the error suggests, I have something pointing to this older version of perl, but I'm unsure of what and why.
> 
> Downgrading the package to the previous version removes the issue, but I'd like to understand what's happening here so I can use the latest version.


If you get weird dependency issues I usually do a build with -c to force a rebuild of all packages. Then on one of the hosts use `pkg upgrade -f` to reinstall everything. That's the best way to make sure all your dependencies line up correctly.


----------

