Ask Your Question
2

libperl.so.18.5 missing (?) on Fedora 22

asked 2015-05-29 08:14:40 -0500

mithrial gravatar image

updated 2015-05-29 10:20:56 -0500

If I run the perl program perl -e "require(Encode)" the terminal gives me the following error:

Can't load '/usr/local/lib64/perl5/auto/Encode/Encode.so' for module Encode: libperl.so.5.18: Kann die Shared-Object-Datei nicht öffnen: Datei oder Verzeichnis nicht gefunden at /usr/share/perl5/XSLoader.pm line 68.

at /usr/local/lib64/perl5/Encode.pm line 10. Compilation failed in require at -e line 1.

It tells me that it cannot find /usr/lib64/libperl.so.5.18. The installed version is 5.20.

Is this an error coming from the recent upgrade from F21 to F22, or do I need to reinstall some packages? I tried already dnf reinstall perl perl-\* without success.

At least the following programs cannot run with the same error: shutter, pod2text and cpan.

Perl is located in /usr/bin/perl.

I tried symlinking libperl.so.5.20 to libperl.so.5.18 but this results in a segmentation fault in each perl program.

The output of env | grep /usr/local gives:

INFOPATH=/usr/local/texlive/2015/texmf-dist/doc/info:/usr/local/texlive/2015/texmf-dist/doc/info:
PATH=/home/<user>/.local/bin:/usr/local/texlive/2015/bin/x86_64-linux:/usr/local/texlive/2015/bin/x86_64-linux:/usr/lib64/qt-3.3/bin:/usr/lib64/ccache:/usr/local/bin:/usr/bin:/bin:/home/<username>/bin:/usr/local/sbin:/usr/sbin:/usr/java/latest/bin:/usr/java/latest/bin:/home/<username>/.local/android-studio/sdk/platform-tools:/home/<username>/.local/android-studio/sdk/tools
MANPATH=/usr/local/texlive/2015/texmf-dist/doc/man:/usr/local/texlive/2015/texmf-dist/doc/man:

Additionally, perl -V prints:

Summary of my perl5 (revision 5 version 20 subversion 2) configuration:
     Platform:
    osname=linux, osvers=3.19.1-201.fc21.x86_64, archname=x86_64-linux-thread-multi
    uname='linux buildvm-08.phx2.fedoraproject.org 3.19.1-201.fc21.x86_64 #1 smp wed mar 18 04:29:24 utc 2015 x86_64 x86_64 x86_64 gnulinux '
    config_args='-des -Doptimize=-O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches  -m64 -mtune=generic -Dccdlflags=-Wl,--enable-new-dtags -Dlddlflags=-shared -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches  -m64 -mtune=generic -Wl,-z,relro  -Dshrpdir=/usr/lib64 -DDEBUGGING=-g -Dversion=5.20.2 -Dmyhostname=localhost -Dperladmin=root@localhost -Dcc=gcc -Dcf_by=Red Hat, Inc. -Dprefix=/usr -Dvendorprefix=/usr -Dsiteprefix=/usr/local -Dsitelib=/usr/local/share/perl5 -Dsitearch=/usr/local/lib64/perl5 -Dprivlib=/usr/share/perl5 -Dvendorlib=/usr/share/perl5/vendor_perl -Darchlib=/usr/lib64/perl5 -Dvendorarch=/usr/lib64/perl5/vendor_perl -Darchname=x86_64-linux-thread-multi -Dlibpth=/usr/local/lib64 /lib64 /usr/lib64 -Duseshrplib -Dusethreads -Duseithreads -Dusedtrace=/usr/bin/dtrace -Duselargefiles -Dd_semctl_semun -Di_db -Ui_ndbm -Di_gdbm -Di_shadow -Di_syslog -Dman3ext=3pm -Duseperlio -Dinstallusrbinperl=n -Ubincompat5005 -Uversiononly -Dpager=/usr/bin/less -isr -Dd_gethostent_r_proto -Ud_endhostent_r_proto -Ud_sethostent_r_proto -Ud_endprotoent_r_proto -Ud_setprotoent_r_proto -Ud_endservent_r_proto -Ud_setservent_r_proto -Dscriptdir=/usr/bin -Dusesitecustomize'
    hint=recommended, useposix=true, d_sigaction=define
    useithreads=define, usemultiplicity=define
    use64bitint=define, use64bitall=define, uselongdouble=undef
    usemymalloc=n, bincompat5005=undef
  Compiler:
    cc='gcc', ccflags ='-D_REENTRANT -D_GNU_SOURCE -fwrapv -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64',
    optimize='-O2 -g ...
(more)
edit retag flag offensive close merge delete

Comments

Have you run dnf distro-sync after the upgrade?

FranciscoD_ gravatar imageFranciscoD_ ( 2015-05-29 08:43:27 -0500 )edit

I followed the guide from https://fedoraproject.org/wiki/FedUp#... and did a distro-sync after upgrading. I just ran it again and it reverted some packages (mostly mono stuff) and nothing perl related (wireshark, mono stuff, beignet, intel-gpu-tools, ...)

dnf upgrade and dnf distro-sync are now printing "Nothing to do"

mithrial gravatar imagemithrial ( 2015-05-29 09:22:07 -0500 )edit

it´s looking for some code first in the /usr/local dir , i suppose you have a local install of perl , try which perl

baoboa gravatar imagebaoboa ( 2015-05-29 09:36:45 -0500 )edit

there is something which point to /usr/local ,check this env | grep /usr/local

baoboa gravatar imagebaoboa ( 2015-05-29 09:52:20 -0500 )edit

I put the output in the question, it is not readable as a comment.

mithrial gravatar imagemithrial ( 2015-05-29 10:06:41 -0500 )edit

1 Answer

Sort by » oldest newest most voted
2

answered 2015-05-29 10:31:09 -0500

baoboa gravatar image

by default perl is looking first in

/usr/local/lib64/perl5

three choice then

1) update the version in /usr/local to 5.20

2) rename /usr/local/lib64/perl5 to /usr/local/lib64/perl5_old

3) use an alias or add the PERL5LIB env variable to your bashrc file

alias perl='PERL5LIB="/usr/lib64/perl5/" perl'

edit flag offensive delete link more

Comments

I succeeded with the second option and moved the folder.

Do you have an idea why this folder exists in the first place?

mithrial gravatar imagemithrial ( 2015-05-29 10:40:36 -0500 )edit

normally no package install in /usr/local , it´s for local installation done by the user :)

baoboa gravatar imagebaoboa ( 2015-05-29 10:44:45 -0500 )edit

Thank you for your help. I can't remember installing perl on my own…

mithrial gravatar imagemithrial ( 2015-05-29 10:53:15 -0500 )edit

Question Tools

1 follower

Stats

Asked: 2015-05-29 08:14:40 -0500

Seen: 1,629 times

Last updated: May 29 '15