Could not initialize OpenSSL library
Could not initialize OpenSSL library
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 ?
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 ?
Re: Could not initialize OpenSSL library
Ist die App auch 64-Bit? Denn wenn sie 32-Bit ist, wird sie nicht funktionieren.
Grüße / Pozdrawiam
paweld
paweld
Re: Could not initialize OpenSSL library
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
Gib doch mal die ganze Fehlermeldung durch.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
- 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
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.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
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).
Re: Could not initialize OpenSSL library
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
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
paweld
- 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
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 fertige Adapter für mORMot, Indy, Synapse und fcl-net, so dass man im bestehenden 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
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 fertige Adapter für mORMot, Indy, Synapse und fcl-net, so dass man im bestehenden 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
Re: Could not initialize OpenSSL library
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
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
Re: Could not initialize OpenSSL library
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).tolleware hat geschrieben: (das Lazarus auf einem 64 bit Windows nur 32 bit Anwendungen baut, war mir so nicht bewusst)
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
paweld
- 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
Schmarrn.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
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.
Eine IDE sie ins Dunkel zu treiben, und an das Framework ewig zu binden,
Im Lande Redmond, wo die Windows drohn.