I just installed Passenger 3.0.11 and nginx and got this error:
Starting nginx: /opt/nginx/sbin/nginx: error while loading shared libraries: libpcre.so.0: cannot open shared object file: No such file or directory
I just installed Passenger 3.0.11 and nginx and got this error:
Starting nginx: /opt/nginx/sbin/nginx: error while loading shared libraries: libpcre.so.0: cannot open shared object file: No such file or directory
I got the same error, and I fixed the problem by running sudo ldconfig.
The message means what it says. The nginx executable was compiled to expect the PCRE (Perl-compatible Regular Expression) shared library to be available somewhere on LD_LIBRARY_PATH or specified in /etc/ld.so.conf or whatever equivalent library-locating mechanisms apply to your operating system, and it cannot find the library.
You will need to install PCRE - or configure your environment so that nginx will look for the PCRE library where it is installed.
LD_LIBRARY_PATH environment variable and try running again. If that works, then you need to investigate /etc/ld.so.conf. If it doesn't work, then you need to check whether Ruby is 32-bit and PCRE is 64-bit, or whether Ruby is 64-bit and PCRE is 32-bit. The mixture won't work. If you have a mixture, reinstall the correct version (bittiness) of one of the products, but PCRE alone is simpler than Ruby plus its extensions. Use file and ldd to analyze binaries and shared libraries.libssl and libcrypto when both the static archive and shared object are present. Careful placement of -Bstatic and -Bshared does not help.It's an old post, but hopefully might be useful for someone.
I was trying to install/start up an older version of NGINX on Amazon-Linux 2 and encountered this error.
NGINX is expecting libpcre.so.0, but the library wasn't available on Amazon-Linux 2.
Solution
libpcre.so using find / -name libpcre.so*libpcre.so.1 symlinked to libpcre.so.1.2.0 in /usr/lib64/libpcre.so.1.2.0 and named it libpcre.so.0 using ln -s libpcre.so.1.2.0 libpcre.so.0There are few recommendations, with this I have solved the issue which I had.
ldconfig -v.bash_profile and refresh the same with . . bash profile.updatedb to refresh the library list.I got the same error after I installed ClamAV, Antivirus for my Linux server.
[root@10 ~]# yum install clamav clamav-db clamd -y
Loaded plugins: aliases, changelog, kabi, presto, product-id, refresh-packagekit, security, subscription-manager, tmprepo, verify,
: versionlock
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
Loading support for Red Hat kernel ABI
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package clamav.x86_64 0:0.100.3-1.el6 will be installed
--> Processing Dependency: libjson-c.so.2()(64bit) for package: clamav-0.100.3-1.el6.x86_64
---> Package clamav-db.x86_64 0:0.100.3-1.el6 will be installed
---> Package clamd.x86_64 0:0.100.3-1.el6 will be installed
--> Running transaction check
---> Package json-c.x86_64 0:0.11-13.el6 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
====================================================================================================================================
Package Arch Version Repository Size
====================================================================================================================================
Installing:
clamav x86_64 0.100.3-1.el6 base 1.3 M
clamav-db x86_64 0.100.3-1.el6 base 150 M
clamd x86_64 0.100.3-1.el6 base 243 k
Installing for dependencies:
json-c x86_64 0.11-13.el6 base 27 k
Transaction Summary
====================================================================================================================================
Install 4 Package(s)
Total download size: 152 M
Installed size: 154 M
Downloading Packages:
Setting up and reading Presto delta metadata
Processing delta metadata
Package(s) data still to download: 152 M
(1/4): clamav-0.100.3-1.el6.x86_64.rpm | 1.3 MB 00:00
(2/4): clamav-db-0.100.3-1.el6.x86_64.rpm | 150 MB 00:01
(3/4): clamd-0.100.3-1.el6.x86_64.rpm | 243 kB 00:00
(4/4): json-c-0.11-13.el6.x86_64.rpm | 27 kB 00:00
------------------------------------------------------------------------------------------------------------------------------------
Total 100 MB/s | 152 MB 00:01
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : json-c-0.11-13.el6.x86_64 1/4
/sbin/ldconfig: libraries libpcre.so.0 and libpcre.so.1 in directory /lib64 have same soname but different type.
Installing : clamav-db-0.100.3-1.el6.x86_64 [############################# ] 2/4
Installing : clamav-db-0.100.3-1.el6.x86_64 2/4
Installing : clamav-0.100.3-1.el6.x86_64 3/4
Installing : clamd-0.100.3-1.el6.x86_64 4/4
Verifying : clamd-0.100.3-1.el6.x86_64 1/4
Verifying : clamav-0.100.3-1.el6.x86_64 2/4
Verifying : json-c-0.11-13.el6.x86_64 3/4
Verifying : clamav-db-0.100.3-1.el6.x86_64 4/4
Installed:
clamav.x86_64 0:0.100.3-1.el6 clamav-db.x86_64 0:0.100.3-1.el6 clamd.x86_64 0:0.100.3-1.el6
Dependency Installed:
json-c.x86_64 0:0.11-13.el6
Complete!
[root@10 ~]#
[root@10 ~]# grep: error while loading shared libraries: libpcre.so.0: wrong ELF class: ELFCLASS32
grep: error while loading shared libraries: libpcre.so.0: wrong ELF class: ELFCLASS32
[root@10 ~]# grep: error while loading shared libraries: libpcre.so.0: wrong ELF class: ELFCLASS32
Later I found below libraries got deleted from /lib64
libjson-c.so.2.0.1
libjson.so.0.1.0
libpcre.so.0 -> libpcre.so.0.0.1
I copied those from other server and uninstalled ClamAV.
Running Transaction
Erasing : clamd-0.100.3-1.el6.x86_64 1/3
Erasing : clamav-0.100.3-1.el6.x86_64 2/3
warning: /etc/freshclam.conf saved as /etc/freshclam.conf.rpmsave
Erasing : clamav-db-0.100.3-1.el6.x86_64 3/3
Verifying : clamd-0.100.3-1.el6.x86_64 1/3
Verifying : clamav-0.100.3-1.el6.x86_64 2/3
Verifying : clamav-db-0.100.3-1.el6.x86_64 3/3
Removed:
clamav.x86_64 0:0.100.3-1.el6 clamav-db.x86_64 0:0.100.3-1.el6 clamd.x86_64 0:0.100.3-1.el6
Complete!
sending incremental file list
libjson-c.so.2.0.1
libjson.so.0.1.0
libpcre.so.0 -> libpcre.so.0.0.1