Doorbird - Kompatibilitätsproblem bei der Installation von Crypt::NaCl::Sodium

Begonnen von SebastianStorb, 18 November 2023, 12:59:18

Vorheriges Thema - Nächstes Thema

SebastianStorb

Kompatibilitätsproblem bei der Installation von Crypt::NaCl::Sodium auf Debian-Server

Beschreibung:
Ich versuche, das Perl-Modul Crypt::NaCl::Sodium auf meinem Debian-Server zu installieren, stoße jedoch auf Kompatibilitätsprobleme mit der libsodium-Bibliothek. Die Installation scheitert mit mehreren Fehlermeldungen, die auf fehlende Funktionen und Konstanten in libsodium hinweisen.

Installationsversuch:

Befehl verwendet: sudo cpanm Crypt::NaCl::Sodium
Fehlermeldung: Die wichtigsten Fehler beziehen sich auf undefinierte Bezeichner wie crypto_stream_aes128ctr_NONCEBYTES, crypto_stream_aes128ctr_KEYBYTES und crypto_stream_aes128ctr.
Systemdetails:

Betriebssystem: Debian 12 (neueste Version)

uname -mi
x86_64 unknown

Perl-Version: 5.036000
libsodium-Version: 1.0.19
Bereits unternommene Schritte:

Versuch der Installation über CPANminus.
Überprüfung und Deinstallation der aktuellen libsodium-Version.
Versuch, eine ältere Version von libsodium zu finden und zu installieren, die die erforderlichen Funktionen enthält.
Hauptproblem:
Das Hauptproblem scheint zu sein, dass die erforderlichen Funktionen (crypto_stream_aes128ctr_*) in der aktuellen Version von libsodium (1.0.19) nicht vorhanden sind und ich Schwierigkeiten habe, eine ältere Version von libsodium zu finden, die diese Funktionen enthält.

Gesuchte Lösung:
Ich suche nach einer Möglichkeit, entweder eine kompatible Version von libsodium zu finden und zu installieren oder eine alternative Lösung, um Crypt::NaCl::Sodium erfolgreich auf meinem Debian-Server zu installieren.

Ich habe noch folgendes erfolglos probiert:
sudo apt-get remove --purge libsodium-dev
wget http://archive.debian.org/debian/pool/main/libs/libsodium/libsodium18_1.0.11-2_amd64.deb
sudo dpkg -i libsodium18_1.0.11-2_amd64.deb
sudo cpanm Crypt::NaCl::Sodium


Die im Forum und im Wiki genannte Lösung funktioniert bei mir nicht:
cpan Crypt::NaCl::Sodium --force
...
make: *** [Makefile:367: Sodium.o] Fehler 1
  AJGB/Crypt-NaCl-Sodium-1.0.8.0.tar.gz
  /usr/bin/make -- NOT OK
>(error): Could not expand [--force]. Check the module name.
>(info): I can suggest names if you install one of Text::Levenshtein::XS, Text::                                                                             Levenshtein::Damerau::XS, Text::Levenshtein, and Text::Levenshtein::Damerau::PP
>(info): and you provide the -x option on invocation.
>(error): Skipping --force because I couldn't find a matching namespace.

SebastianStorb

Mein Kumpel Moritz hat es heute gefixt:

apt-get install git build-essential automake autoconf
git clone https://github.com/jedisct1/libsodium.git
cd libsodium
git checkout 1.0.13
./autogen.sh
./configure --with-pic
make
sudo make install
and then running sudo cpan -f Crypt::NaCl::Sodium again.

Hier auch die Veröffentlichung und Quelle für git
https://github.com/ajgb/crypt-nacl-sodium/issues/12#issuecomment-1936201045

SebastianStorb

gstreamer-1.0-doc kann man einfach weglassen.

mit der neuen doorbird.pm ist es jetzt Sodium::FFI und die benoetigt sodium 1.0.19:

apt-get install git build-essential automake autoconf
git clone https://github.com/jedisct1/libsodium.git
cd libsodium
git checkout 1.0.19
./autogen.sh
./configure --with-pic
make
sudo make install



Wernieman

NBur so ...
sudo dpkg -i libsodium18_1.0.11-2_amd64.debDamit hättest Du eigentlich schon die lib installiert. Bei Deinem ersten Versuch hast DU also die lib direkt und über CPAN installiert. jetzt hast Du sie selber auf dem System kompiliert.

Brauchst Du eine so neue Version, das Du direkt auf die git-Quellen zugreifen mußt? Wird Dir beim nächsten Update/Upgrade des Systemes (und ja, das wird kommen) auf die Füße fallen ...
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

Sailor

Moin zusammen

Zitat von: Wernieman am 10 März 2024, 13:23:38Brauchst Du eine so neue Version, das Du direkt auf die git-Quellen zugreifen mußt?
Nein. Basierend auf einem frischen Raspbian Bookworm Image muss nur
sudo apt-get install -y sox && sudo apt-get install -y libsox-fmt-all && sudo apt-get install -y libsodium-dev
sudo apt-get install libgstreamer1.0-0 gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly gstreamer1.0-libav gstreamer1.0-tools gstreamer1.0-x gstreamer1.0-alsa gstreamer1.0-gl gstreamer1.0-gtk3 gstreamer1.0-pulseaudio
sudo cpan install Crypt::Argon2
sudo cpan install Sodium::FFI
sudo cpan install IO::String module
sudo cpan install IO::Socket
ausgeführt werden.

https://wiki.fhem.de/wiki/DoorBird

Zitat von: Wernieman am 10 März 2024, 13:23:38Wird Dir beim nächsten Update/Upgrade des Systemes (und ja, das wird kommen) auf die Füße fallen ...

Das ganz bestimmt, da ich das Modul nur auf Basis der aktuellen "Stables" programmiere und teste die ganz normal über "cpan install xxx:yyy" bzw. "apt-get install zzz" zu erhalten sind.

Gruß
    Sailor

******************************
Man wird immer besser...

Wernieman

Zitat.... "Stables" programmiere und teste die ganz normal über "cpan install xxx:yyy" ....

Gibt es nicht die benötigten Module ohne CPAN? Ich würde CPAN nicht gerade als "stable" bezeichnen, bin aber auch eher der "konservative Admin" ... ziehe lieber direkt aus dem Rebro, da es mir so das leben einfacher machen .....


ist aber auch nur meine Meinung  ;)
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

Sailor

Hallo Wernie

Zitat von: Wernieman am 12 März 2024, 12:25:55Gibt es nicht die benötigten Module ohne CPAN? Ich würde CPAN nicht gerade als "stable" bezeichnen, bin aber auch eher der "konservative Admin" ... ziehe lieber direkt aus dem Rebro, da es mir so das leben einfacher machen ..... ist aber auch nur meine Meinung  ;)

Ich bin ganz Ohr - Wie könnte ich theoretisch die CPAN - Module durch Repro - Module ersetzen?

Gruss
    Sailor
******************************
Man wird immer besser...

Wernieman

Crypt::Argon2   -> libcrypt-argon2-perl
Sodium::FFI   -> ???
IO::String   -> libio-string-perl
IO::Socket   -> ???

Also für IO::Socket müsste es eigentlich auch ein fertige Lib geben, nur finde ich diese nicht auf die schnelle, bzw. eigentlich zu viele. Ist die Lib nicht eigentlich normalerweise bei Perl sofort mit dabei? Ansonsten finde ich ...
....
libio-socket-inet6-perl - Objekt-Schnittstelle für AF_INET6 Domain-Sockets
libio-socket-ssl-perl - Dieses Perl-Modul realisiert eine objektorientierte Schnittstelle zu SSL-Sockets
libio-socket-ip-perl - Modul für die vom Protokoll unabhängige Verwendung von IPv4- und IPv6-Sockets
libio-socket-multicast-perl - module for sending and receiving multicast messages
libio-socket-portstate-perl - IO::Socket::PortState - checking the status of a port
libio-socket-socks-perl - extension to IO::Socket providing SOCKS proxy
libio-socket-timeout-perl - IO::Socket with read/write timeout
....
Bei Sodium::FFI bin ich dagegen total ratlos.

Irgendwann hatte Otto mal eine Code gepostet, mit dem man schnelle die Passenden Libaries finden konnte ..... nur finde ich diesen Code aktuell nicht im Forum ...
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html