Digital Eliteboard - Das Digitale Technik Forum

Registriere dich noch heute kostenloses um Mitglied zu werden! Sobald du angemeldet bist, kannst du auf unserer Seite aktiv teilnehmen, indem du deine eigenen Themen und Beiträge erstellst und dich über deinen eigenen Posteingang mit anderen Mitgliedern unterhalten kannst! Zudem bekommst du Zutritt zu Bereiche, welche für Gäste verwehrt bleiben

Simplebuild 3 (310 Final) *de en bg es fr it nl pl pt tr* language support

Hallo,
Bekomme Simplebuild nicht zum laufen.

Habe es bereits mit LinuxMint und Ubuntu probiert.

Kann mir bitte jemand eine aktuelle oscam für die Fritzbox 7490 bauen?

Diese sollte auf der Image 7.12 laufen.
Es ist das MI Image vom Teamserver.

Danke
 
 
Hi,
da ich mich schon als Newbie geoutet habe, bezüglich Linux, habe ich eine blöde Frage. Meine Ausgangssituation habe ich ja schon in Post #327 geschrieben. Jetzt wollte ich dies update_toolchain von ds777 in simplebuild einbauen.
Aaaber, mein grosses Problem ist, wie kriege ich es vom PC nach simplebuild ?? Auf dem PC habe ich keine Freigaben erteilt und mich auch nie mit Netzwerkfreigaben befasst, weil ich es bisher nie brauchte.

Versucht habe ich den Umweg über den Resi. Hab die Datei ins /tmp geschoben und wollte von dort aus mit dem FileZilla die Datei nach /opt/s3/support/functions runterladen. Leider bekomme ich folgende Fehler angezeigt:
Fehler: /opt/s3/support/functions/_plugin_update_toolchain konntenicht nicht zum schreiben geöffnet werden.
Fehler: Dateiübertragung fehlgeschlagen.

Ich kann mir denken, dass es was mit den Attributen und Rechten, weil kein admin angemeldet ist, zu tun hat. Aber wie kann ich es ändern bzw. wie kriege ich da was reinkopiert ? Kriegt man überhaupt was aus der VM rein oder rauskopiert ? Fängt ja schon beim Text an, den ich kopieren wollte und dann in einer .txt auf dem Pc speichern wollte. Nix.

Gebt mir jetzt bitte keinen Link wo ich mir erst die Grundkenntnisse von Linux und deren Aufbau / Struktur ich mich befassen soll.
Bin kein Linux Experte will aber versuchen die Sachen einigermassen zu verstehen und umsetzen zu können. Zumindest so, dass es für den Hausgebrauch und meiner Zwecke mit simplebuild reicht.
Danke.

Edit
Irgendwie habe ich es doch geschafft
 
Zuletzt bearbeitet:
Ich habe gestern erstmal ein Update auf ubuntu 18.04.3 gemacht und gerade nur mal nachgeschaut. Ich weiss jetzt nicht was genau du wissen möchtest, denn ich habe es nur gestartet und nix geupdated.
Es wird abgefragt, welches toolchain ich updaten will. Anschliessend werden mir die libs angeboten, die ich auswählen kann. Bei SSL_098 ist ein * und da wird mir eine neue mit "zf" am Ende vorgeschlagen.

Da ich, wie schon gesagt, davon keinen Plan habe, habe ich da abgebrochen. Ich hatte mir Anfangs Symlinks für die ssl_098 erstellt und damit läuft es im Moment.

Mein Problem mit dem rein / raus kopieren hatte ich mir auch selber "erkämpft". Da hätte der Ein oder Andere vielleicht auch schreiben können, wie es einfacher geht. War aber bestimmt lustig zu lesen, wie blöd ich mich da angestellt habe. Hab eben keine Linux Kenntnisse. Und ohne, kommt man nicht weit.
Aber egal. Das kriege ich auch noch gebacken.
 
Dann scheint das plugin bei Dir zu laufen. Die libs mit dem * hat das plugin in deiner toolchain automatisch erkannt und die könntest du dann auch bei Bedarf aktualisieren. SSL 0.9.8zf ist die neueste/letzte 0.9.8 - Version. Weitere libs kann man durch manuelles setzen der * hinzufügen bzw. aktualisieren.
 
Wenn ich die aber jetzt update, was passiert dann mit den Symlinks, die ich erstellt habe. Die standen hier auch irgendwo, damit libs erneuert werden. Das war irgendwie von /usr/lib1.0.0 /etc/lib0.9.8, oder so ähnlich.
Erst als ich das gemacht hatte, war die oscam lauffähig.
Ach so. Die BackUp Funktion funktioniert auch.

Noch 'ne blöde Frage. Wozu sind die libs und woher weiss ich vorher, dass ich sie installieren / updaten sollte ?
 
Zuletzt bearbeitet:
Wenn du nicht auf eine Version > 0.9.8 wechselst, musst du die Symlinks nicht anpassen.

OpenSSL -> um SSL-Verschlüsselung im WebIf zu nutzen
libusb -> um externe Cardreader an USB zu nutzen
PCSC lite -> um PCSC Cardreader lite zu nutzen
zLib -> Compression
 
Zuletzt bearbeitet:
Du musst dich Anmelden oder Registrieren um den Inhalt der Angebote zu sehen!

Nun, um das wirklich zu verstehen, muß man erst einmal wissen, was die Symlinks bewirken ...

Es gibt in der *ix-Welt etwas, das sich "libhell" nennt, frei übersetzt "Die Hölle der Bibliotheken".

Um die wiederum zu verstehen, muß man wissen, was Libraries oder Bibliotheken sind:
Würde ein Programmierer ein Programm komplett alleine realisieren , so daß es auf dem nackten Betriebssystem läuft, bräuchtest Du wegen der Größe für jedes nicht-triviale Programm eine eigene Festplatte und es gäbe sehr viel weniger Programme auf der Welt, weil der Aufwand utopisch wäre.

Also nutzt man Bibliotheken, angefangen von denen, die schon zum Grundgerüst der Programmiersprache gehören und z.B. mathematische Operationen wie Addition, Subtraktion, Division usw. erlauben, ohne daß der Programmierer dafür Bits durch Register schieben muß (Tatsächlich können Computer-Prozessoren nicht einmal alle Grundrechenarten von sich aus, was sie auch nicht müssen, weil sie statt z.B. "3 Mal 7" auch sehr schnell 7+7+7 berechnen können, was bekanntlich zum selben Ergebnis kommt).
Bei Linux wäre das i.d.R. libgcc, bei Windows sehr häufig die diversen Visual C++ Runtimes.

Dazu kommen dann bei komplexeren Programmen noch x weitere Bibliotheken hinzu, je nach Bedarf z.B. für grafische Ausgaben, Kommunikation mit bestimmten Schnittstellen, Kryptographie, etc. pp.
Welche das bei oscam sind, hat ds777 ja schon aufgeführt.

Nun zu der Hölle, die diese Bibliotheken unter Linux darstellen:
Die Entwicklung geht bekanntlich ständig weiter, also gibt es auch immer wieder mal neue Versionen dieser Bibliotheken und diese Versionen sind nicht immer 100%ig zueinander kompatibel.
Das alleine ist noch gar kein Problem, die Bibliotheken kriegen nämlich einfach ihre Versionsnummer mit in den Dateinamen gepackt, so daß man mehrere Versionen gleichzeitig installiert haben kann und jedes Programm nutzt einfach die Version, "gegen" die es gebaut wurde.
In dem Bezug unterscheiden sich Linux und Windows auf den ersten Blick überhaupt nicht, auf jedem Windows-Rechner mit ein paar unterschiedlichen installierten Programmen findet man früher oder später unter "Apps" dieses Bild vor:

Du musst dich Anmelden oder Registrieren um diesen Inhalt sichtbar zu machen!

Unter Windows funktioniert das allerdings auch wirklich, unter Linux nur theoretisch.
Die Visual C++ 2012 Runtime ist nämlich wirklich kompatibel zu jeder anderen Unterversion (und Unterunterversion) der Visual C++ 2012 Runtime, also funktioniert ein Programm, das 2011 gegen die Urversion der Visual C++ 2012 Runtime gebaut wurde, auch immer noch, wenn eine wegen Sicherheitsupdates im Jahr 2019 aktualisierte Version der Visual C++ 2012 Runtime auf dem System liegt.

Theoretisch soll das unter *ix genauso funktionieren, dazu gibt es entsprechende Links unter /usr/lib und /lib:
Code:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!

Bedeutet: Ein Programm, das gegen libusb-0.1 Unterversion 4 gebaut wurde, wird aufgrund des Symlinks libusb-0.1.so.4 -> libusb-0.1.so.4.4.4 die Unterunterversion 4.4.4 benutzen und ein Programm, welches für libusb-1.0 Unterversion 0 gebaut wurde, dessen Unterunterversion 0.1.0.
Ein Programm, das gegen libusb-0.1.so.3 gebaut wurde, würde auf diesem System schon nicht mehr laufen, dazu müßte man erst einmal eine libusb-0.1 Unterversion 3.x.y besorgen ...

Aber es kommt noch schlimmer:
Unter Linux-Programmierern gilt anscheinend der Ehrenkodex, auch mit jeder neuen Unterunterversion irgendetwas so massiv zu verändern, daß man sein Programm einmal komplett umschreiben muß.
Deshalb funktioniert der theoretisch immer selbe Vorgang zum Bauen eines Programms
Code:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!
in der Praxis auch selten bis nie, sondern endet praktisch immer beim ./configure mit:
Code:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!

libqpdf 8.3.0 und 8.0.2 kann man aber nicht gleichzeitig installiert haben, da ja beide den gleichen Namen "libqpdf.so.8" haben. Das Bauen von libqpdf 8.3.0 scheitert dann wieder an einer anderen zu alten (oder auch zu neuen) Lib und außerdem müßte man dann auch wissen, was noch gegen libqpdf 8.0 .2 gebaut wurde und auch diese Programme neu bauen (Sofern sie gegen die neuere Version noch bauen), usw. usf.
Daher dann der Linux-Marktanteil von 1% auf den Desktop-Rechnern ... auf lange Sicht kommt jeder in die Libhell ...

Und jetzt kommen wir dazu, was diese manuellen Symlinks auf dem System anrichten:
Nehmen wir einmal an, jemand anderes baut für Dich einen oscam und nutzt dabei eine Toolchain, die OpenSSL 1.0.x beinhaltet, aber Du willst den oscam danach auf einem alten Image einsetzen, bei dem OpenSSL noch auf dem Stand von 0.9.8 ist, dann schiebst Du diesem oscam durch den Symlink
/usr/lib/libssl.so.1.0.2 -> libssl.so.0.9.8
die alte Version 0.9.8 als die Version 1.0.2 unter, die er gerne hätte.

Solange oscam nur solche Funktionen aus libssl 1.0.2 benutzt, die seit 0.9.8 nicht geändert wurden, dann wird das sogar funktionieren. Aber ohne den gesamten Programmcode von oscam genau zu studieren, ob nicht evtl. alle paar Tage bei Karte x doch eine neuere Funktion so wie in 1.0.2 benötigt wird, weiß man nicht, ob der oscam auch dauerhaft stabil läuft.

Was passiert nun, wenn Du in Deiner Toolchain auf die Version von OpenSSL up- oder auch downgradest, die Du wirklich auch im Image hast?
Nun, dann wird oscam gegen genau diese Version gebaut. Der so gebaute oscam wird nun
1. auch ohne den Symlink /usr/lib/libssl.so.1.0.2 -> libssl.so.0.9.8 auf libssl.so.0.9.8 zugreifen, denn gegen die wurde er ja auch gebaut, der Symlink /usr/lib/libssl.so.1.0.2 kann dann weg.
2. mit höherer Wahrscheinlichkeit stabil laufen, denn ein Programm kann durch entsprechende Statements im Programmcode so geschrieben werden, daß es sauber gegen unterschiedlichen Versionen einer Lib gebaut werden kann.
 
Puuh. :grinning: Erstmal Danke, für deine Mühe und seeehr ausführliche Erklärung. Ich werde aber wohl nie ein Linux Experte werden, da dafür eben schon allein mein Grundwissen fehlt, was ich mir schon aus Zeitgründen nicht mehr aneignen kann. Vom Alter ganz zu schweigen. :grinning:

Mir geht es auch in erster Linie darum, die einfachsten Befehle zu kennen und versuchen zu verstehen, was sie bewirken. Aber dafür ist es hier der falscheThread und den will ich damit nicht zumüllen. Da kau ich mich noch irgendwie durch. ;- )

Wenn ich das jetzt richtig verstanden habe, sind libs Programm Bibliotheken, auf die von anderen Programmen zugegriffen wird. Und diese Bibliotheken stellen "Routinen" oder Optionen zur Verfügung, die die Arbeit der auszuführenden Programmen erleichtert.

Aber wie kommt man auf die Idee, dass es an einer falschen lib liegt, wenn z.B. eine fremde Oscam nicht läuft ? Dann muss doch irgendeine Fehlermeldung kommen ?
 
Ich versuch's mal einfach zu halten:

Viele Männer trinken gerne Bier. Weil die meisten Bierflaschen nur 0,5l enthalten, ist das Beschaffen einer neuen vollen Flasche eine wiederkehrende Aufgabe, die man nicht immer wieder selber erledigen will.
Deshalb gibt es da verschiedene Libs für diesen Zweck:
  • Freundinnen
  • Ehefrauen
  • Kinder

Der Aufruf der Funktion ist auch immer derselbe, nämlich
"<Name der Library>, hol mir mal 'ne [neue] Flasche Bier!"

Da kommt auch seltenst schon beim ersten Aufruf eine Fehlermeldung, aber es gibt halt trotzdem früher oder später Probleme:
  • die Bibliotheken "Freundin" und "Ehefrau" vertragen sich selten
  • auch mehrere Versionen der Bibliothek "Freundin" lassen sich nur schwer parallel betreiben, bei mir hat die neuere Version nach spätestens 6 Monaten verlangt, die ältere Version zu deinstallieren
  • mehrere Versionen der Bibliothek "Kinder" kann man zwar betreiben, dafür sind sie nicht sonderlich langzeitstabil. Spätestens beim Auftreten des Ausnahmefehlers "Pubertät" stellen sie ihre Arbeit dauerhaft ein
  • die Bibliothek "Ehefrau" funktioniert da noch mit am besten, aber auf Dauer kommt es da ohne Intensive Programmpflege immer wieder zu Ausnahmefehlern "Geh doch selber!"
 
Hallo zusammen,

habe mir das Tool von GIT unter openSUSE geclont. Allerdings bekomme ich beim Ausführendes scripts mit sh ./s3 ... folgende
Fehlermeldung: "./s3: Zeile 97: source: _ansi: Datei nicht gefunden." komme leider nicht weiter. Habt Ihr eine Idee?

Vielen Dank!
 
Das Script ist für Debian-basierende System ausgelegt, würde mich also sehr wundern wenn des auf Suse funktionieren würde
 
Zurück
Oben