unter Linux kompilieren
ralphi
- sonstiges
0 Der Martin0 Jörg Reinholz
0 Tom
Hi Leute,
ich suche nach einem Bondrucker mit Treiber für ARM64 proz.
Epson und Bixolon ham nix.
Star hat zwar auch keine precompiled treiber für ARM, aber den sourcecode.
Jetzt hab ich mir gedacht, dass man ähnlich wie unter MS-VS den sourcecode für verschiedene (in dem Fall ARM) kopilieren könnte ?
Da ich unter Linux (noch) nur die fundamentals kenne und mit compilern noch nicht gearbeitet habe, bräuchte ich Hilfe (wenns den gehen könnte).
in dem Verzeichnis von star ‘SourceCode’ gibts:
in der readme steht einfach
# make
eingeben
Ausgabe:
CUPS headers not available - exiting
make: *** [rastertostar] Fehler 1
kann der compiler nicht einfach die bin für den ARM core compilieren, oder muss im quellcode eine lib o.ä. hinterlegt sein?
Viele Grüße aus LA
Hallo,
Da ich unter Linux (noch) nur die fundamentals kenne und mit compilern noch nicht gearbeitet habe, bräuchte ich Hilfe (wenns den gehen könnte).
normalerweise sollte da, wo der Source-Code angeboten wird, auch beschrieben sein, was man zum Übersetzen alles braucht. Ich muss aber zugeben, ich habe bisher auch erst zweimal ein Paket für Linux selbst übersetzt (Gentoo ausgenommen, da ist das ja der Normalfall), und bei diesen zwei Fällen lief auf Anhieb alles fehlerfrei durch.
Dumm sein und Glück haben ...
in dem Verzeichnis von star ‘SourceCode’ gibts:
- makefile
- rpmbuild_support.sh
und ein verz :
scr mit:
- rastertostar.c
- rastertostarlm.c
- setup.sh
darunter noch verz: rpm-spec
- .rpmmacros
- starcupsdrv-version.spec
Sieht schon mal nicht schlecht aus.
in der readme steht einfach
# make
eingeben
Das ist sehr mager - aber wenn alle nötigen Voraussetzungen erfüllt sind, könnte das tatsächlich genügen, weil das Makefile ja die komplette Bauanleitung enthält. Wenn die Übersetzung fehlerfrei durchläuft, erfolgt die tatsächliche Installation des Pakets dann meist mit 'make install'.
Ausgabe:
CUPS headers not available - exiting
make: *** [rastertostar] Fehler 1
Vermutlich musst du zumindest das CUPS-Basispaket schon mal vorab installieren, möglicherweise werden dann die Header-Dateien für Entwickler automatisch mit installiert.
kann der compiler nicht einfach die bin für den ARM core compilieren, oder muss im quellcode eine lib o.ä. hinterlegt sein?
Im Quellcode sicher nicht. Es kann natürlich sein, dass für die Nutzung des fertig compilierten Treibers irgendwelche zusätzlichen Libs erforderlich sind; das sollte aber auch bei den Systemvoraussetzungen angegeben sein.
Good luck,
Martin
CUPS headers not available - exiting
make: *** [rastertostar] Fehler 1
Das ist also schon bei den Prüfungen vor dem Erzeugen des make-Files gescheitert. Unter meinem Ubuntu dürfte es das Paket libcups2-dev sein, welches fehlt. Kann gut sein, dass weitere dieser "Entwicklungsdateien" fehlen.
"CUPS headers not available"
-> suche nach cups, eventuell Version schaue, welches Programm installiert ist:
--> cups-dev, cups2-dev
-> wenn nicht existent: denke Dir ein "lib" davor:
--> libcups-dev, *libcups2-dev*
Jörg Reinholz
Danke für eure Gedanken dazu.
Um die Vorraussetzungen, die ich habe abzurunden:
Mein Raspi hat: Debian 7 (Wheezy) Kernel 3.10.25+ ARM-64 v6
(immer fleißig geupgraded ;-)
cups 6.3.1
mit
die Dateien libcups-dev bzw. cups-dev find ich tatsächlich nicht.
Der C-Compiler, müsste der default – Compiler unter Debian sein. Namen kenn ich nicht.
Einen Star–Drucker (der mit dem SourceCode) hab ich nicht daheim. Hätte mich nur dafür entschieden, wenn dass compilieren eines angepassten Treibers sofort funktioniert hätte.
Zur Zeit habe ich einen Epson TM-T20 – hier gibts keinen Quellcode, nur fertige Treiber (I386).
Zu meinem Ursprungsproblem, den Drucker an den Raspi zu hängen, mach ich jetzt folgendes.
Viele Grüße aus LA
Die Dev-Dateien sind doch da.
https://packages.debian.org/search?keywords=cups&searchon=names&suite=stable§ion=all
Hallo,
Die Dev-Dateien sind doch da.
https://packages.debian.org/search?keywords=cups&searchon=names&suite=stable§ion=all
das muss für Raspbian, die Debian-Variante für den Raspberry Pi, nicht zwangsläufig auch gelten.
Ciao,
Martin
Hello Ralphi,
Da ich unter Linux (noch) nur die fundamentals kenne und mit compilern noch nicht gearbeitet habe, bräuchte ich Hilfe (wenns den gehen könnte).
in dem Verzeichnis von star ‘SourceCode’ gibts:
- makefile
- rpmbuild_support.sh
und ein verz :
scr mit:
- rastertostar.c
- rastertostarlm.c
- setup.sh
darunter noch verz: rpm-spec
- .rpmmacros
- starcupsdrv-version.specin der readme steht einfach
Davor müsste üblicherweise noch ./configure aufgerufen werden.
# make
eingeben
Erstmal benötigst du einen für Plattform und Source-Code passenden Compiler.
In diesem Fall ein C-Compiler.
Da käme hier z.B. gcc in Frage.
http://de.wikipedia.org/wiki/GNU_Compiler_Collection
Der muss richtig[tm] installiert sein.
Der besteht aus mehrern Paketen.
* Compiler
* Assembler
* Linker
Die einzelnen Schritte werden durch make nacheinander ausgeführt, das steuert aber ./configure für make, ob Du noch selber Hand anlegen musst, oder ob es automatisch durchläuft.
unter http://wiki.ubuntuusers.de/Programme_kompilieren findest Du noch eine kleine Anleitung, wie das abläuft.
Im Prinzip kannst Du nichts kaputt machen, wenn Du alles aus dem Source-Code-Verzeichnis startest. Du solltest einen speziellen User dafür einrichten, wegen des Entzugs der Schreibrechte auf Systemverzeichnisse :-O.
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg