Could not initialize OpenSSL library

Alle Fragen zur Netzwerkkommunikation
Antworten
tolleware
Beiträge: 12
Registriert: Fr 1. Mär 2024, 13:45

Could not initialize OpenSSL library

Beitrag von tolleware »

Hallo,

ich will mir ein kleines Tool zum Abrufen der Fußballergebnisse von OpenLigaDB bauen. Ich habe mir von Github "openssl-1.0.2u-x64_86-win64.zip" und im Programmverzeichnis entpackt, d.h. "libeay32.dll" und "ssleay32.dll" sind vorhanden.

Aber es gibt immer eine Exeption "Could not initialize OpenSSL library".

uses
Classes, SysUtils,
opensslsockets,
fphttpclient,
fpjson,
jsonparser;

Was mache ich falsch ?

paweld
Beiträge: 125
Registriert: So 11. Jun 2023, 16:01
OS, Lazarus, FPC: Lazarus trunk, FPC fixes

Re: Could not initialize OpenSSL library

Beitrag von paweld »

Ist die App auch 64-Bit? Denn wenn sie 32-Bit ist, wird sie nicht funktionieren.
Grüße / Pozdrawiam
paweld

tolleware
Beiträge: 12
Registriert: Fr 1. Mär 2024, 13:45

Re: Could not initialize OpenSSL library

Beitrag von tolleware »

Ich habe Windows 11 64 bit und benutze Lazarus Version 3.2 FPC-Version 3.2.2 Revision: lazarus_3_2 i386-win32-win32/win64

Mathias
Beiträge: 7359
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Could not initialize OpenSSL library

Beitrag von Mathias »

Gib doch mal die ganze Fehlermeldung durch.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 7449
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: Could not initialize OpenSSL library

Beitrag von af0815 »

tolleware hat geschrieben: Do 24. Sep 2026, 14:51 Ich habe Windows 11 64 bit und benutze Lazarus Version 3.2 FPC-Version 3.2.2 Revision: lazarus_3_2 i386-win32-win32/win64
Und für welche Plattform hast du kompiliert? Ich gehe von Win64 aus, dann müssen die DLL auch für 64 Bit sein. Kompiliert du für Win 32, so gehen die DLL mit 32 Bit. Kann man relativ schnell im Projekt umstellen.

Hintergrund, Lazarus kompiliert standardmässig, wie er Default installiert wurde. Ich vermute du hast ein Standard Paket genommen, und dann kommt meistens Win64 raus.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

paweld
Beiträge: 125
Registriert: So 11. Jun 2023, 16:01
OS, Lazarus, FPC: Lazarus trunk, FPC fixes

Re: Could not initialize OpenSSL library

Beitrag von paweld »

Das heißt, du hast eine 32-Bit-Anwendung kompiliert und 64-Bit-Bibliotheken eingebunden.
Du musst die Bibliotheken für 32 Bit (openssl-1.0.2u-i386-win32.zip) für diese Compiler-Version herunterladen – die Bit-Architektur der Bibliotheken richtet sich nach der des Programms und nicht nach der des Betriebssystems.

i386-win32 - 32-Bit-Compiler
x86_64-win64 - 64-Bit-Compiler
Grüße / Pozdrawiam
paweld

Benutzeravatar
Jorg3000
Lazarusforum e. V.
Beiträge: 466
Registriert: So 10. Okt 2021, 10:24
OS, Lazarus, FPC: Win64
Wohnort: NRW

Re: Could not initialize OpenSSL library

Beitrag von Jorg3000 »

Tach!
Unabhängig von dem 32/64-Bit-DLL-Problem möchte ich gerne die alten Hasen auf eine neue pure-Pascal-Bibliothek hinweisen, die OpenSSL überflüssig machen soll.
https://pascaltips.com/tls-de.html

TlsLib4Pascal wurde erst kürzlich von Xor-el auf GitHub veröffentlicht, den man seit Jahren von seinem umfangreichen CryptoLib4Pascal her kennt. Ich bin im englischen Forum darüber gestolpert.
Obwohl ich einen TLS-Stack in purem Pascal sehr faszinierend finde, habe ich selber gerade keinen Bedarf. Deshalb dieser Hinweis an "alte Hasen", die es vielleicht mal ausprobieren möchten.

Gemäß der Selbstbeschreibung liefert TlsLib4Pascal ferti­ge Adapter für mORMot, Indy, Synapse und fcl-net, so dass man im be­stehen­den Code nur die uses-Zeile zu ändern braucht. Und CryptoLib4Pascal muss als Basis vorhanden sein.
Das wäre ja der Hammer, wenn das mit der neuen Bibliothek so einfach funktionieren würde!
Grüße, Jörg

tolleware
Beiträge: 12
Registriert: Fr 1. Mär 2024, 13:45

Re: Could not initialize OpenSSL library

Beitrag von tolleware »

Hallo,

Danke für die viele Hilfe.

Ich habe mir "openssl-1.0.2u-win32.zip" heruntergheladen und ausgepackt. Jetzt funktioniert es.
(das Lazarus auf einem 64 bit Windows nur 32 bit Anwendungen baut, war mir so nicht bewusst)

Muss das Programm aber jetzt noch "schön machen" :-)

PS: Werde das mit der neuen Variante "https://pascaltips.com/tls-de.html" mal anschauen und ausprobieren.

Gruß an alle Helfer
Uli

paweld
Beiträge: 125
Registriert: So 11. Jun 2023, 16:01
OS, Lazarus, FPC: Lazarus trunk, FPC fixes

Re: Could not initialize OpenSSL library

Beitrag von paweld »

tolleware hat geschrieben: (das Lazarus auf einem 64 bit Windows nur 32 bit Anwendungen baut, war mir so nicht bewusst)
Natürlich hängt alles von der Version des Compilers ab, den Sie verwenden bzw. installiert haben. Sie können die Erweiterung unter folgendem Link installieren: https://sourceforge.net/projects/lazaru ... e/download, mit der du Anwendungen für 64-Bit-Zielsysteme kompilieren kannst (du musst lediglich die Projektkonfiguration anpassen).
Man kann sogar Cross-Compilierungen für andere Systeme durchführen, d. h. z. B. von MS Windows für Linux kompilieren – unter Verwendung der entsprechenden Pakete
Zuletzt geändert von paweld am Fr 25. Sep 2026, 18:10, insgesamt 1-mal geändert.
Grüße / Pozdrawiam
paweld

Benutzeravatar
Zvoni
Beiträge: 745
Registriert: Fr 5. Jul 2024, 08:26
OS, Lazarus, FPC: Windoof 10 Pro (Laz/FPC fixes)
CPU-Target: 64Bit
Wohnort: BW

Re: Could not initialize OpenSSL library

Beitrag von Zvoni »

tolleware hat geschrieben: Fr 25. Sep 2026, 12:25 Hallo,

Danke für die viele Hilfe.

Ich habe mir "openssl-1.0.2u-win32.zip" heruntergheladen und ausgepackt. Jetzt funktioniert es.
(das Lazarus auf einem 64 bit Windows nur 32 bit Anwendungen baut, war mir so nicht bewusst)

Muss das Programm aber jetzt noch "schön machen" :-)

PS: Werde das mit der neuen Variante "https://pascaltips.com/tls-de.html" mal anschauen und ausprobieren.

Gruß an alle Helfer
Uli
Schmarrn.
Du brauchst entweder die Lazarus/FPC-64Bit-version oder Lazarus/FPC in 32-Bit mit X64-Cross-Compiler
Falls du den Cross-Compiler nicht hast, bekommst du auch nur 32-Bit-Targets
Falls du jedoch den Cross-Compiler hast, dann musst du auch in den Projekt-Optionen das Target auf 64-Bit stellen, da dein Lazarus 32-Bit standardmässig 32-Bit-Target einstellt
Dann würden deine zuerst benutzten DLL auch funktionieren

Guggst du hier:
https://www.lazarus-ide.org/index.php?page=downloads
Ein System sie alle zu knechten, ein Code sie alle zu finden,
Eine IDE sie ins Dunkel zu treiben, und an das Framework ewig zu binden,
Im Lande Redmond, wo die Windows drohn.

Antworten