Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Sniffnet (installed from .deb) not starting on Debian 11 (stable) due to missing/not available libraries and versions #199

Closed
sysms opened this issue May 20, 2023 · 21 comments · Fixed by #259
Labels
Linux Something related to Linux operating system missing dependency Problem related to an external required dependency
Milestone

Comments

@sysms
Copy link

sysms commented May 20, 2023

Describe the bug
When installed from the current stable .deb (v1.2.0) on up-to-date Debian 11 (current stable), the binary cannot be launched.

To Reproduce
Describe steps to reproduce the bug, e.g.:

  1. Download current 1.2.0 .deb
  2. Install package via dpkg -i and install dependencies
  3. try to start binary sniffnet from commandline
  4. Experience error:

sniffnet: error while loading shared libraries: libssl.so.3: cannot open shared object file: No such file or directory

Expected behavior
Program should be started.

Desktop (please complete the following information):

  • OS: Debian Linux
  • Version 11 (stable)

Additional context

ldd /usr/bin/sniffnet | grep "not found"
/usr/bin/sniffnet: /lib/x86_64-linux-gnu/libm.so.6: version GLIBC_2.35' not found (required by /usr/bin/sniffnet) /usr/bin/sniffnet: /lib/x86_64-linux-gnu/libc.so.6: version GLIBC_2.33' not found (required by /usr/bin/sniffnet)
/usr/bin/sniffnet: /lib/x86_64-linux-gnu/libc.so.6: version GLIBC_2.32' not found (required by /usr/bin/sniffnet) /usr/bin/sniffnet: /lib/x86_64-linux-gnu/libc.so.6: version GLIBC_2.34' not found (required by /usr/bin/sniffnet)
libssl.so.3 => not found
libcrypto.so.3 => not found

Available libraries on Debian 11:

ll /lib/x86_64-linux-gnu/libssl*
-rw-r--r-- 1 root root 398K 15. Feb 21:31 /lib/x86_64-linux-gnu/libssl3.so
-rw-r--r-- 1 root root 988K 5. Feb 22:23 /lib/x86_64-linux-gnu/libssl.a
lrwxrwxrwx 1 root root 13 5. Feb 22:23 /lib/x86_64-linux-gnu/libssl.so -> libssl.so.1.1
-rw-r--r-- 1 root root 584K 5. Feb 22:23 /lib/x86_64-linux-gnu/libssl.so.1.1

ll /lib/x86_64-linux-gnu/libcrypto*
-rw-r--r-- 1 root root 5,3M 5. Feb 22:23 /lib/x86_64-linux-gnu/libcrypto.a
lrwxrwxrwx 1 root root 16 5. Feb 22:23 /lib/x86_64-linux-gnu/libcrypto.so -> libcrypto.so.1.1
-rw-r--r-- 1 root root 3,0M 5. Feb 22:23 /lib/x86_64-linux-gnu/libcrypto.so.1.1

@GyulyVGC
Copy link
Owner

I built it on Ubuntu-latest, could this be the problem?

@GyulyVGC GyulyVGC added the missing dependency Problem related to an external required dependency label May 20, 2023
@GyulyVGC
Copy link
Owner

Other folks already pointed out similar issues on Debian, while seems to work fine in Ubuntu.

I'll come back to you when I have found a solution.

In the meantime, it'd be amazing if you could build it with cargo (requires Rust installed).
If in that case it works, it's definitely a problem of compatibility between the Ubuntu Sniffnet binary and the Debian distro.

@sysms
Copy link
Author

sysms commented May 20, 2023

Thank you for looking into this.

I built it on Ubuntu-latest, could this be the problem?

Yes, this would explain it.

it's definitely a problem of compatibility between the Ubuntu Sniffnet binary and the Debian distro.

Ubuntu latest has completely different (newer) libraries than Debian (stable).
Also the versioning/naming of libraries may be different.

Welcome to dependency hell on Linux. :D

So: yes, it's definitely a compatibility problem between the binary compiled on/for Ubuntu, trying to be run on Debian.

Maybe a static compiled binary could be the solution here (if that's possible) - or publishing as a Flatpak or AppImage.

@GyulyVGC
Copy link
Owner

Thanks very much for your confirmation. And yes, managing all the different distros is a nightmare.

@4r7if3x is going to help me package an AppImage / Flatpak in the future, and I will take care of pinging you.

Maybe it's a stupid question but: could Homebrew work for you?

@sysms
Copy link
Author

sysms commented May 20, 2023

@4r7if3x is going to help me package an AppImage / Flatpak in the future, and I will take care of pinging you.

Thank you very much! Much appreciated!

could Homebrew work for you?

For me personally not, because I don't want another package manager on my system which I have to take care of.

But maybe others could benefit?

@4r7if3x
Copy link
Contributor

4r7if3x commented May 20, 2023

@4r7if3x is going to help me package an AppImage / Flatpak in the future, and I will take care of pinging you.

Yes, unfortunately, I've been quite busy lately and haven't been able to spend as much time as I'd like on testing and improving the new packaging feature. But it's definitely next up on my to-do list...

@GyulyVGC
Copy link
Owner

Don't worry man!

@4r7if3x
Copy link
Contributor

4r7if3x commented Jun 1, 2023

Same as #225, the issue is that the reqwest crate defaults to using the native-ssl feature, which relies on v1.1 of OpenSSL. While Debian aligns with this version by default, Ubuntu adopts v3. To resolve this matter, you can opt to build the project with the rustls-tls feature, or alternatively, ask the user manually install the older libssl1.1 package.

P.S. I've already addressed this issue in my incoming PR.

@onlineapps-cloud
Copy link

hi, on mx-linux not working, when i try to open app, i received console to enter sudo password, after i enter sudo password, nothing happens, app not running :(

@GyulyVGC
Copy link
Owner

GyulyVGC commented Jun 2, 2023

hi, on mx-linux not working, when i try to open app, i received console to enter sudo password, after i enter sudo password, nothing happens, app not running :(

Hi @onlineapps-cloud
We need more info:

  • did you install the .deb package, right?
  • can you try opening a terminal typing sudo -E sniffnet to see if that solves the issue?
  • did you install the required dependencies?
  • can you give us more details about the behaviour of the app? (error messages etc..)

@RP-11
Copy link

RP-11 commented Jun 3, 2023

I have the same issue on Linux Mint 20.3
sudo -E sniffnet
sniffnet: error while loading shared libraries: libssl.so.3: cannot open shared object file: No such file or director

@4r7if3x
Copy link
Contributor

4r7if3x commented Jun 3, 2023

I have the same issue on Linux Mint 20.3 sudo -E sniffnet sniffnet: error while loading shared libraries: libssl.so.3: cannot open shared object file: No such file or director

You probably don't have libssl1.1 installed on your system. This issue will be resolved in a near future update, but you could install it manually for the time being.

@RP-11
Copy link

RP-11 commented Jun 3, 2023

I checked and it seems it is installed

$apt list libssl1.1                                                                                                                  1 ↵
Listing... Done
libssl1.1/focal-updates,focal-security,now 1.1.1f-1ubuntu2.19 amd64 [installed]
libssl1.1/focal-updates,focal-security,now 1.1.1f-1ubuntu2.19 i386 [installed]

@4r7if3x
Copy link
Contributor

4r7if3x commented Jun 3, 2023

sniffnet: error while loading shared libraries: libssl.so.3: cannot open shared object file: No such file or director

May you please share the result of this command as well:

ldd /usr/bin/sniffnet | grep libssl

@RP-11
Copy link

RP-11 commented Jun 4, 2023

No it is not loaded. this is the full output when I try to start sniffnet and they grep for libssl

$ sniffnet                  
sniffnet: error while loading shared libraries: libssl.so.3: cannot open shared object file: No such file or directory
$ ldd /usr/bin/sniffnet | grep libssl                                                                                                                                                                              
	libssl.so.3 => not found

If there is a way to log in detail the start process let me know I can get you the log. I don't see any option that will allow me to collect them

@ZEROF
Copy link

ZEROF commented Jun 5, 2023

Right now using cargo is the solution. Small how to install ( tested on Ubuntu 20.04):

Install cargo:

curl https://sh.rustup.rs -sSf | sh

Install dependency (one is missing in documentation libfontconfig1-dev)

sudo apt install libfontconfig1-dev libasound2-dev libfontconfig1 libpcap-dev

cargo install sniffnet

sudo setcap cap_net_raw,cap_net_admin=eip /home/$USER/.cargo/bin/sniffnet

Start using:

sniffnet

This allow running sniffnet as regular user, not root.

@GyulyVGC
Copy link
Owner

GyulyVGC commented Jun 5, 2023

Right now using cargo is the solution.

Thanks for pointing out.
Using cargo will perform the build step directly on the target machine, therefore in this case all the dependency should actually be on point 👍

@GyulyVGC
Copy link
Owner

GyulyVGC commented Jun 7, 2023

Hey @ZEROF @sysms @RP-11 @onlineapps-cloud

We changed the building strategy and we are looking for feedback/testers to see if we finally solved this issue.

Could you kindly try the new package available below?

Sniffnet_LinuxDEB_amd64.deb.zip

Thanks in advance.

@sysms
Copy link
Author

sysms commented Jun 8, 2023

@GyulyVGC I can confirm, that this DEB (better: it's contents :) ) now work fine on Debian 11 (current stable)!

Sniffnet now starts without errors. 🥇

Thank you for your efforts!

EDIT: I'll leave this issue open for now, until the other affected people have also confirmed.

@GyulyVGC
Copy link
Owner

GyulyVGC commented Jun 8, 2023

Thanks for the confirmation!

Don't worry about the issue, I will personally close it after other confirmations or eventually due to inactivity.

I'm happy it's working for you for the moment!!

@ZEROF
Copy link

ZEROF commented Jun 8, 2023

Hey @ZEROF @sysms @RP-11 @onlineapps-cloud

We changed the building strategy and we are looking for feedback/testers to see if we finally solved this issue.

Could you kindly try the new package available below?

Sniffnet_LinuxDEB_amd64.deb.zip

Thanks in advance.

Just tested, looks OK for me on BackBox linux, based on Ubuntu. GJ.

@GyulyVGC GyulyVGC linked a pull request Jun 8, 2023 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Linux Something related to Linux operating system missing dependency Problem related to an external required dependency
Projects
None yet
Development

Successfully merging a pull request may close this issue.

6 participants