Rocket Chat cannot enable SSL using Caddy: libdns.so.162 not found - linux

I installed rocket chat using snap, following the documentation here.
Now I am trying to enable SSL following the documentation: Auto SSL with Snaps. However, the following error shows up:
$ sudo snap set rocketchat-server https=enable
error: cannot perform the following tasks:
- Run configure hook of "rocketchat-server" snap (run hook "configure":
-----
dig: error while loading shared libraries: libdns.so.162: cannot open shared object file: No such file or directory
Error: Can't resove DNS query for <my_domain_name>, check your DNS configuration, disabling https ...
-----)
Checking what ldd has to say for dig, I found few other libs are also not found:
$ ldd /snap/rocketchat-server/current/usr/bin/dig
linux-vdso.so.1 (0x0000ffff98afc000)
libdns.so.162 => not found
liblwres.so.141 => not found
libbind9.so.140 => not found
libisccfg.so.140 => not found
libisc.so.160 => not found
libpthread.so.0 => /lib/aarch64-linux-gnu/libpthread.so.0 (0x0000ffff98a71000)
libc.so.6 => /lib/aarch64-linux-gnu/libc.so.6 (0x0000ffff98900000)
/lib/ld-linux-aarch64.so.1 (0x0000ffff98acc000)
So, checked if libdns.so exists at all.
$ locate libdns.so
/snap/rocketchat-server/1437/usr/lib/aarch64-linux-gnu/libdns.so.162
/snap/rocketchat-server/1437/usr/lib/aarch64-linux-gnu/libdns.so.162.1.3
/usr/lib/aarch64-linux-gnu/libdns.so.1601
/usr/lib/aarch64-linux-gnu/libdns.so.1601.0.0
It appears that the concerned library exists under snap.
Is there a way to resolve this and make caddy/https work?
System:
Raspberry Pi 4 (aarch64)
Linux ubuntu 5.4.0-1022-raspi
Ubuntu Server 20.04.1 LTS
Similar issues:
dig: error while loading shared libraries: libdns.so.162: cannot open shared object file: No such file or directory
shared libraries of dig and nslookup

Try to do a soft-link to library in your file system
ln -s /snap/rocketchat-server/1437/usr/lib/aarch64-linux-gnu/libdns.so.162 /lib
Or install dns-utils which should add missing lib to your system.

Related

error while loading shared libraries: libpng16.so.16

The problem is that I'm trying to use nodejs for building some css files from scss. On the local computer everything is ok.
When I run npm run production it shows me the error:
ERROR in ./resources/assets/sass/images/promo.jpg
Module build failed: Error: Command failed: /var/www/vhosts/site.ru/shared/node_modules/mozjpeg/vendor/cjpeg
/var/www/vhosts/site.ru/shared/node_modules/mozjpeg/vendor/cjpeg: error while loading
shared libraries: libpng16.so.16: cannot open shared object file: No such file or
directory
But when I run the same command from another directory(For example: /var/www/vhosts/site2.ru/) everything is ok(script works with jpg files too).
If I run ldconfig -p | grep libpng I see the next:
libpng12.so.0 (libc6,x86-64) => /lib/x86_64-linux-gnu/libpng12.so.0
libpng12.so.0 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libpng12.so.0
So, my Libng12 is working correctly, why does the system needs in libpng16?
And what should I try do in this situation?
My system is Ubuntu 16.04
Find the solution:
apt-get install libpng16-dev
so, I just installed the required library.

How do I determine what OS dependency packages are required for a Haskell executable?

I've just compiled an executable with stack build and then just copying over the executable to a different machine, however running the application results in:
./app: error while loading shared libraries: libcrypto.so.1.1: cannot open shared object file: No such file or directory
I'm guessing I need to install some packages from the appropriate Linux distro's packages - but is there more efficient way then googling for each error that comes up and trying to identify the package?
I've tried running executable within some docker images:
fpco/haskell-scratch, debian:stretch-slim which all result in the same behaviour:
sudo docker run --rm -it -v $(pwd):/abcxyz fpco/haskell-scratch sh
# /abcxyz/app
/abcxyz/app: error while loading shared libraries: libcrypto.so.1.1: cannot open shared object file: No such file or directory
Update
With the debian image I installed openssl:
apt-get install openssl
New error:
/abcxyz/app: error while loading shared libraries: libgmp.so.10: cannot open shared object file: No such file or directory
apt-get install libgmp-dev
And it works...
This is actually not specific to Haskell, but rather to the way Linux dynamically links shared libraries. You can use ldd <file>:
% ldd ./StateSort
linux-vdso.so.1 (0x00007ffd29385000)
libm.so.6 => /usr/lib/libm.so.6 (0x00007fd986bd1000)
libgmp.so.10 => /usr/lib/libgmp.so.10 (0x00007fd98693e000)
librt.so.1 => /usr/lib/librt.so.1 (0x00007fd986736000)
libdl.so.2 => /usr/lib/libdl.so.2 (0x00007fd986532000)
libpthread.so.0 => /usr/lib/libpthread.so.0 (0x00007fd986314000)
libc.so.6 => /usr/lib/libc.so.6 (0x00007fd985f5c000)
/lib64/ld-linux-x86-64.so.2 => /usr/lib64/ld-linux-x86-64.so.2 (0x00007fd986f1d000)
If there are missing libraries, you will notice them right away: the right hand side with the path to the so file will be absent.
You will then have to refer to your Linux distro's package management system to find out what package may contain the desired so file. For Ubuntu you would use apt-file, for ArchLinux − pkgfile, and so on.
I must warn you that ldd actually executes some of the code found in a file, so a malicious program may take over and wreak havoc. If you want to dissect an executable of unknown origin this way, you must do so in a disposable forensic containment. As I understand, this is not applicable in the case at hand, but nevertheless I must warn you.

shared libraries of dig and nslookup

I am using centos 6.4. While doing dig or nslookup, I got below error
dig google.com
dig: error while loading shared libraries: libcrypto.so.4: cannot open shared object file: No such file or directory
here is my ldd of dig
'# ldd /usr/bin/dig
linux-vdso.so.1 => (0x00007fff5e674000)
liblwres.so.80 => /usr/lib64/liblwres.so.80 (0x00007f73d5c1c000)
libdns.so.81 => /usr/lib64/libdns.so.81 (0x00007f73d5883000)
libbind9.so.80 => /usr/lib64/libbind9.so.80 (0x00007f73d5676000)
libisccfg.so.82 => /usr/lib64/libisccfg.so.82 (0x00007f73d5454000)
libgssapi_krb5.so.2 => /lib64/libgssapi_krb5.so.2 (0x00007f73d5210000)
libcrypto.so.10 => /usr/lib64/libcrypto.so.10 (0x00007f73d4e75000)
libisccc.so.80 => /usr/lib64/libisccc.so.80 (0x00007f73d4c6d000) '
....
Do you know how can I fix this error?
Please help,
Thanks,
SP
try a soft link
ln -s /usr/lib64/libcrypto.so.10 /lib
Let us know if that helped you.
Or you can remove and install again using yum. Normally library files places to its apt position when installs using yum.
yum remove dns-utils
yum install dns-utils
You can enable epel repositories in case you need it epel
When you are trying
ldd /usr/bin/dig
Are you able to find a line like
libcrypto.so.4 => not found
If so Try
locate libcrypto.so.4
Suppose you can locate the file at /path/to/file/libcrypto.so.4
then try the command
export LD_LIBRARY_PATH="/path/to/file"
Then try command dig. It should be fine. Other wise you need to search for the package that provides the libcrypto.so.4 library

centos 6.2 can not load my shared library

I compile my project on the Gentoo linux(x86_64) with 2.15 glibc.
Then i copy the *.so and out to centos server (6.2 x86_64) with glibc 2.12.
when i run command:
LD_LIBRARY_PATH=/home/ray/deploy/lib:/opt/glibc-2.15/lib:$LD_LIBRARY_PATH ./deploy/proxy/scan
i got error :
./deploy/proxy/scan: error while loading shared libraries: libchecksum.so: cannot open shared object file: No such file or directory
what confusing me is that when i run command :
sudo LD_LIBRARY_PATH=/home/ray/deploy/lib:/opt/glibc-2.15/lib:$LD_LIBRARY_PATH ./deploy/proxy/scan
it works.
Does anybody know what goes wrong?
ldd info:
linux-vdso.so.1 => (0x00007fff207c1000)
libchecksum.so => /home/ray/deploy/lib/libchecksum.so (0x00007fcccced2000)
libportscan.so => /home/ray/deploy/lib/libportscan.so (0x00007fccccccc000)
libc.so.6 => /opt/glibc-2.15/lib/libc.so.6 (0x00007fcccc926000)
/lib64/ld-linux-x86-64.so.2 (0x00007fcccd0d5000)
it shows that the *.so are found.
Thanks for your comments.
I try to compile on the server machine but the problem still exists.
I try to give 0777 to the libs and run scripts but still not work.
The setcap or sudo disable the LD_LIBRARY_PATH variable. So, it do not work.
You may use rpath option in gcc or just link the shared lib to /usr/lib.

Fulfilling missing .so file in libftdi

I am using ft232r library provided by ftdi for programming an LPC11C14 micro-controller through Linux Mint. To initialize the software, I need to run the following command:
./ft232r_prog --manufacturer Sunswift --product $(PROJECT_NAME) --invert_rts --invert_dtr
When I run the code, I get the following issue:
Error while loading shared libraries: libftdi.so.1: cannot open shared object file: No such file or directory
on running ldd ft232r_prog, I get:
linux-gate.so.1 => (0xf77b8000)
libusb-0.1.so.4 => /lib/i386-linux-gnu/libusb-0.1.so.4 (0xf7790000)
libftdi.so.1 => not found
libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xf75e5000)
/lib/ld-linux.so.2 (0xf77b9000)
The file libftdi.so.1 is located in /usr/lib/x86_64-linux-gnu. Since the executable ft232r_prog is unable to find the .so file, I have tried the following:
Updated the path environment variable to contain /usr/lib/x86_64-linux-gnu -- Failed
Updated the $LD_LIBRARY_PATH environment variable to contain /usr/lib/x86_64-linux-gnu -- Failed
Ran ldconfig in /usr/lib/x86_64-linux-gnu -- Failed
This appears to be a common issue with including shared libraries. Any ideas on how I can resolve it?
Thanks
To install 32-bit version of libftdi on Ubuntu 12.04 x64 try following:
$ sudo apt-get install libftdi1:i386
I suspect your system is 64-bit and the program is 32-bit. In this case, you need to install the 32-bit version of the library.

Resources