When Nginx is run after Ubuntu is upgraded, the following error occurs: $/usr/local/nginx/sbin/nginx: errorwhileloadingsharedlibraries: libssl. so.0.9.8: cannotopen#dobjectfile: Nosuchfileordirectory cannot be found from the error message. how does so.0.9.8 solve this problem?
When Nginx is run after Ubuntu is upgraded, the following error occurs:
$/Usr/local/nginx/sbin/nginx: error while loading shared libraries: libssl. so.0.9.8: cannot open shared object file: No such file or directory
The error message indicates that libssl. so.0.9.8 is not found.
How can this problem be solved?
1. Search for Missing libraries through ldd
- $ Ldd $ (which/usr/local/nginx/sbin/nginx)
- Linux-gate.so.1 => (0xb7773000)
- Libcrypt. so.1 =>/lib/i386-linux-gnu/libcrypt. so.1 (0xb7729000)
- Libpcre. so.3 =>/lib/i386-linux-gnu/libpcre. so.3 (0xb76ea000)
- Libssl. so.0.9.8 => not found
- Libcrypto. so.0.9.8 => not found
- Libdl. so.2 =>/lib/i386-linux-gnu/libdl. so.2 (0xb76e4000)
- Libz. so.1 =>/lib/i386-linux-gnu/libz. so.1 (0xb76cf000)
- Libc. so.6 =>/lib/i386-linux-gnu/libc. so.6 (0xb7553000)
- /Lib/ld-linux.so.2 (0xb7774000)
2. Enter the/lib/i386-linux-gnu/directory and find the original is
Libssl. so.0.9.8 libcrypto. so.0.9.8 files are upgraded
Libssl. so.1.0.0 libcrypto. so.1.0.0,
There is no way to solve the dependency when using soft links. In this case, it is best to re-compile the nginx repository and use the upgraded library.
- $ Ldd $ (which/usr/local/nginx/sbin/nginx)
- Linux-gate.so.1 => (0xb77b8000)
- Libcrypt. so.1 =>/lib/i386-linux-gnu/libcrypt. so.1 (0xb776e000)
- Libpcre. so.3 =>/lib/i386-linux-gnu/libpcre. so.3 (0xb772f000)
- Libssl. so.1.0.0 =>/lib/i386-linux-gnu/libssl. so.1.0.0 (0xb76e1000)
- Libcrypto. so.1.0.0 =>/lib/i386-linux-gnu/libcrypto. so.1.0.0 (0xb753d000)
- Libz. so.1 =>/lib/i386-linux-gnu/libz. so.1 (0xb7528000)
- Libc. so.6 =>/lib/i386-linux-gnu/libc. so.6 (0xb73ac000)
- Libdl. so.2 =>/lib/i386-linux-gnu/libdl. so.2 (0xb73a7000)
- /Lib/ld-linux.so.2 (0xb77b9000)