[archimedes] Re: [archimedes] Erstes funktionsfähiges RISC OS Modul mit C erstellt und Fragen

  • From: Alexander Ausserstorfer <bavariasound@xxxxxxxxxxxxxxx>
  • To: archimedes@xxxxxxxxxxxxx
  • Date: Sat, 08 Jul 2017 15:10:59 +0200

In message <795c8fbc-9afd-dc3e-8362-a2c5eae39b89@xxxxxxxxxxxxxxx>
          Alexander Ausserstorfer <bavariasound@xxxxxxxxxxxxxxx> wrote:

[Teil geschnippt]

Du kannst die libssl "einfach so" verwenden, wie jede andere
C-Bibliothek auch. Der Unterschied bei den Shared Libs ist wirklich
nur, dass andere Compiler- und Linker-Flags verwenden werden.
Und man muss seine Anwendung dann etwas anders paketieren, damit
die Shared Libs mit dabei sind in der richtigen Version. Ich
glaube, es gibt da vorgefertige Sachen im direkt Pakete für
PackMan zu bauen.

Ich kann libssl nicht so einfach verwenden, weil ich erst einmal die
entsprechenden Header-Dateien usw. für den Compiler !GCC brauche. Und
die sind, wie wir hier inzwischen festgestellt haben, scheinbar
fehlerhaft. Man kann sie runterladen von

http://www.riscos.info/packages/arm/Library/libssl-dev_1.0.2k-3.zip

Das muss ich also auch noch in Ordnung oder zum Laufen bringen, bevor
ich es überhaupt verwenden kann.

Ich konnte SSL jetzt erfolgreich einbinden. Dazu muss man das oben
genannte Paket herunterladen. in !LibSSL nennt man jetzt die Datei
openssl mit dem Dateityp ELF um. Ich vergab den Namen openssl/a. Ob das
richtig oder relevant ist oder die Datei überhaupt gebraucht wird, das
weiß ich nicht.

Nun erzeugt man einen neuen Katalog (Verzeichnis) mit dem Namen openssl.
Den Katalog namens h schiebt man jetzt dort hinein. Sämtliche Funktionen
von openssl müssen jetzt noch mit

#include "openssl/ssl.h" usw. entsprechend den Kopf-Dateien (header)
eingebunden werden.

Ein Modul erzeugen kann ich mit OpenSSL trotzdem nicht. Ich erhalte die
selben Fehlermeldungen wie mit GnuTLS (Fließkomma / Festkomma).
Scheinbar sitzt das Problem tiefer, und in comp.sys.acorn.programmer ist
man auch fleißig am Diskutieren.

Vermutlich lässt sich aus OpenSSL bzw. GnuTLS leider nicht so einfach
ein RISC-OS-Modul erzeugen. Wie es überhaupt geht, das weiß ich
(derzeit noch) nicht. Gehen tut es mit Sicherheit, es stellt sich
allerdings die Frage nach dem Aufwand.

Man müsste dann leider jede neue Version wieder extra behandeln, um
daraus ein RISC-OS-Modul zu stricken. Zumindest sieht es derzeit danach
aus.

Deshalb scheinbar auch das Konzept mit den !SharedLibs, welches wohl von
Unix (Linux) übernommen worden ist und das mir unter RISC OS zuvor nicht
bekannt gewesen war. Hier kann der Port scheinbar automatisiert
erfolgen. Neue Versionen von openSSL usw. sollten damit kein Problem
sein.

Schlecht dabei ist aber, dass man dann unbedingt !GCC braucht, um diese
Resourcen überhaupt nutzen zu können. Das heißt, man ist dann dazu
gezwungen, seine Programme mittels !GCC in C(++) zu schreiben. Ob
es überhaupt mit dem DDE geht, das weiß ich nicht. Ich denke nicht. Und
von BASIC oder Assembler aus hat man derzeit anscheinend überhaupt keine
Chance, die !SharedLibs zu nutzen. Das heißt, dass man sie dann auch
nicht von vielen bereits bestehenden Programmen aus nutzen kann, was
aber ein großes Plus wäre.

Also, eigentlich ist schon eine Lösung da. Die man "nur" nutzen müsste.
Aber leider alles nicht zufriedenstellend. Welchen Weg soll man jetzt am
besten gehen?

In meinem Fall sind die !SharedLibs natürlich naheliegend, da ich
sowieso unter !GCC und in C arbeite. D. h. dass bei mir bereits gute
Voraussetzungen gegeben sind.

A.

-- 
Der Geist ist die Freiheit
http://home.chiemgau-net.de/ausserstorfer/

Attachment: signature.asc
Description: PGP signature

Other related posts: