ralphi: unter Linux kompilieren

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:

  • makefile
  • rpmbuild_support.sh
    und ein verz :
        scr mit:
            - rastertostar.c
            - rastertostarlm.c
            - setup.sh
            darunter noch verz: rpm-spec
                - .rpmmacros
                - starcupsdrv-version.spec

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

--
ralphi
  1. 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

    --
    Butterkeksverteiler zu werden ist vermutlich eine der wenigen beruflichen Perspektiven, die sich noch bieten, wenn man einen an der Waffel hat.
      (wahsaga)
    Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
    1. 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.

      Rezept:

      "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

      1. 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

        apt-get install cups cups-client cups-bsd

        apt-get install printer-driver-gutenprint

        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.

        • Ich teste die Python Geschichte escpos
        • wenn das nicht klappt, schick ich wieder die Steuerbefehle per Hand übers socket :-|

        Viele Grüße aus LA

        --
        ralphi
        1. Die Dev-Dateien sind doch da.

          https://packages.debian.org/search?keywords=cups&searchon=names&suite=stable&section=all

          1. Hallo,

            Die Dev-Dateien sind doch da.
            https://packages.debian.org/search?keywords=cups&searchon=names&suite=stable&section=all

            das muss für Raspbian, die Debian-Variante für den Raspberry Pi, nicht zwangsläufig auch gelten.

            Ciao,
             Martin

            --
            TEAM: Toll, Ein Anderer Macht's.
            Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
  2. 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.spec

    in 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

    --
     ☻_
    /▌
    / \ Nur selber lernen macht schlau
    http://bikers-lodge.com