[HowTo] Airprint mit aktuellen Gutenprint Treibern

lbeckmann

Benutzer
Mitglied seit
04. September 2012
Beiträge
29
Punkte für Reaktionen
0
Punkte
0
Im Ernst - ich bin beeindruckt.
Die Druckertestseite aus Cups erfolgreich über USB gedruckt? (Stichwort gs)
Ich weiß nicht, ob bei der PowerPC Version die /opt/lib/cups/backend/usb läuft (s. erstes Post)
Der Drucker ist über Netzwerk angebunden. Die Druckertestseite aus CUPS funktioniert einwandfrei. Ich bekomme aber beim Drucken über AirPrint die Fehlermeldung "/opt/lib/cups/filter/pstoraster failed" im Cups Webinterface.
Ich habe Cups schon auf debug gestellt und sehe u.a. als weitere Fehlermeldung im Log "(/opt/lib/cups/filter/pdftops) stopped with status 13".
 

tomas123

Benutzer
Mitglied seit
06. März 2012
Beiträge
99
Punkte für Reaktionen
0
Punkte
0
die einzelnen Schritte von Cups kann man wunderbar manuell testen

Quelle: http://fedoraproject.org/wiki/How_to_debug_printing_problems

tja, und was sehe ich in meinen Notizen

die CUPS-BANNER Testseite ist hier /opt/share/cups/data/testprint

Treiberdatei einstellen
# export PPD=/opt/etc/cups/ppd/Canon_MP970_series.ppd

# /opt/lib/cups/filter/bannertops 1 tim '' 1 '' </opt/share/cups/data/testprint >bannertops.ps
DEBUG: PNG image: 192x128x8, color_type=2 (RGB)

> /opt//lib/cups/filter/pstops 1 tim '' 1 '' <bannertops.ps >pstops.ps
DEBUG: Page = 595x842; 0,0 to 595,842
DEBUG: Wrote 1 pages...

pstoraster fehlt im ipkg
> sudo ln -s /usr/local/cups/filter/pstoraster /opt/lib/cups/filter/pstoraster

> /opt/lib/cups/filter/pstoraster 1 tim '' 1 ''<pstops.ps >pstoras.ras
INFO: Rendering completed

jetzt kommt der Druckertreiber
> /opt/lib/cups/filter/rastertogutenprint.5.2 1 tim '' 1 ''<pstoras.ras >out.prn
DEBUG: Gutenprint: ================ Done printing page 1 ================

... und jetzt raus mit der Datei
/opt/bin/lp -d Canon_MP970_series ./out.prn
sorry, bitte mal wie fett markiert pstoraster verlinken ;-)
[HR][/HR]
@admin: Warum kann ich keine alten Postings von mir editieren??
 

lbeckmann

Benutzer
Mitglied seit
04. September 2012
Beiträge
29
Punkte für Reaktionen
0
Punkte
0
Folgende Fehlermeldung hatte ich auch zuerst beim Drucken der Cups Testseite bekommen:

versucht man jetzt über Airprint zu drucken:
-> Fehlermeldung im cups job spooler : stopped "Unable to execute gs program: No such file or directory"

Lösung:
für airprint pdf drucken fehlt noch "ipkg install ghostscript" oder einfacher
> sudo ln -s /usr/local/bin/gs /usr/bin/
Leider existiert bei mir unter /usr/local/bin/ kein gs, sodass das Verlinken nicht möglich war. Daher habe ich ghostscript per ipkg nachinstalliert.
Daher liegt die Datei pstoraster auch schon im Verzeichnis /opt/lib/cups/filter und muss nicht mehr verlinkt werden (da die Datei unter /usr/local/cups/filter auch gar nicht vorhanden ist):

pstoraster fehlt im ipkg
> sudo ln -s /usr/local/cups/filter/pstoraster /opt/lib/cups/filter/pstoraster
Also muss die Ursache bei meinem Problem woanders liegen...
 

tomas123

Benutzer
Mitglied seit
06. März 2012
Beiträge
99
Punkte für Reaktionen
0
Punkte
0
hm, schrieb doch schon im tutorial
für airprint pdf drucken fehlt noch "ipkg install ghostscript" oder einfacher
> sudo ln -s /usr/local/bin/gs /usr/bin/
genauer gesagt:
ipkg install ghostscript
installiert u.a. die benötigten Filter
\opt\lib\cups\filter\pstoraster
\opt\lib\cups\filter\pdftoraster

Das hast Du bereits getan.
Jetzt würde ich mal die einzelnen Schritte des Druckprozesses wie oben geschrieben in der Shell durchgehen,
dann siehst Du auch eine präzise Fehlermeldung bei
Rich (BBCode):
> /opt/lib/cups/filter/pstoraster 1 tim '' 1 ''<pstops.ps >pstoras.ras
INFO: Rendering completed
[HR][/HR]

Was mich nur verwundert: Wenn Du DSM4 installierst hast, dann müsstest Du doch auf der PowerPC Syno die gleichen Syno-Dateien besitzen, wie ich auf der ARM-Syno.
Und DSM 4 bringt ghostscript und cups filter mit, da DSM 4 auch airprint macht...
such mal gs
> find / -name gs 2>/dev/null
 
Zuletzt bearbeitet:

lbeckmann

Benutzer
Mitglied seit
04. September 2012
Beiträge
29
Punkte für Reaktionen
0
Punkte
0
Jetzt würde ich mal die einzelnen Schritte des Druckprozesses wie oben geschrieben in der Shell durchgehen,
dann siehst Du auch eine präzise Fehlermeldung bei
Rich (BBCode):
> /opt/lib/cups/filter/pstoraster 1 tim '' 1 ''<pstops.ps >pstoras.ras
INFO: Rendering completed
Wenn ich den Befehl ausführe, erhalte ich Debug-Meldungen (Auszug):
Rich (BBCode):
DEBUG2: PageSize = [ 612.000 792.000 ]
DEBUG2: margins = [ 257621450178055634944.000 4860419766840537792301571768320.000 0.000 -1.470 ]
DEBUG2: HWResolution = [ 100.000 100.000 ]
DEBUG2: width = 850, height = 1100
DEBUG2: HWMargins = [ 0.000 0.000 0.000 0.000 ]
**** DSC comment: /CreationDate
<< /CreationDate (Fri Sep 14 14:02:53 2012) /DSC_struct -dsc_data_struct- >>
DEBUG2: cups_put_params(0x10ef46b4, 0xbfbc1980)
DEBUG2: cups_set_color_info(0x10ef46b4)
DEBUG2: cupsEncodeLUT[0] = 0
DEBUG2: cupsEncodeLUT[65535] = 1
DEBUG: num_components = 1, depth = 1
DEBUG: cupsColorSpace = 3, cupsColorOrder = 0
DEBUG: cupsBitsPerPixel = 1, cupsBitsPerColor = 1
DEBUG: max_gray = 1, dither_grays = 2
DEBUG: max_color = 0, dither_colors = 0
DEBUG2: ppd = (nil)
DEBUG2: PageSize = [ 612.000 792.000 ]
DEBUG2: margins = [ 257621450178055634944.000 4860419766840537792301571768320.000 0.000 -1.470 ]
DEBUG2: HWResolution = [ 100.000 100.000 ]
DEBUG2: width = 850, height = 1100
DEBUG2: HWMargins = [ 0.000 0.000 0.000 0.000 ]
**** DSC comment: /Title
<< /Title (\(\)) /DSC_struct -dsc_data_struct- >>
DEBUG2: cups_put_params(0x10ef46b4, 0xbfbc1980)
DEBUG2: cups_set_color_info(0x10ef46b4)
DEBUG2: cupsEncodeLUT[0] = 0
DEBUG2: cupsEncodeLUT[65535] = 1
DEBUG: num_components = 1, depth = 1
DEBUG: cupsColorSpace = 3, cupsColorOrder = 0
DEBUG: cupsBitsPerPixel = 1, cupsBitsPerColor = 1
DEBUG: max_gray = 1, dither_grays = 2
DEBUG: max_color = 0, dither_colors = 0
DEBUG2: ppd = (nil)
DEBUG2: PageSize = [ 612.000 792.000 ]
DEBUG2: margins = [ 257621450178055634944.000 4860419766840537792301571768320.000 0.000 0.000 ]
DEBUG2: HWResolution = [ 100.000 100.000 ]
DEBUG2: width = 850, height = 1100
DEBUG2: HWMargins = [ 0.000 0.000 0.000 0.000 ]
**** DSC comment: /For
<< /For (\(tim\)) /DSC_struct -dsc_data_struct- >>
DEBUG2: cups_put_params(0x10ef46b4, 0xbfbc1980)
DEBUG2: cups_set_color_info(0x10ef46b4)
DEBUG2: cupsEncodeLUT[0] = 0
DEBUG2: cupsEncodeLUT[65535] = 1
DEBUG: num_components = 1, depth = 1
DEBUG: cupsColorSpace = 3, cupsColorOrder = 0
DEBUG: cupsBitsPerPixel = 1, cupsBitsPerColor = 1
DEBUG: max_gray = 1, dither_grays = 2
DEBUG: max_color = 0, dither_colors = 0
DEBUG2: ppd = (nil)
DEBUG2: PageSize = [ 612.000 792.000 ]
DEBUG2: margins = [ 257621450178055634944.000 4860419766840537792301571768320.000 0.000 0.000 ]
DEBUG2: HWResolution = [ 100.000 100.000 ]
DEBUG2: width = 850, height = 1100
DEBUG2: HWMargins = [ 0.000 0.000 0.000 0.000 ]
**** DSC comment: /Pages
<< /DSC_struct -dsc_data_struct- /NumPages 0 >>
DEBUG2: cups_put_params(0x10ef46b4, 0xbfbc1980)
DEBUG2: cups_set_color_info(0x10ef46b4)
DEBUG2: cupsEncodeLUT[0] = 0
DEBUG2: cupsEncodeLUT[65535] = 1
DEBUG: num_components = 1, depth = 1
DEBUG: cupsColorSpace = 3, cupsColorOrder = 0
DEBUG: cupsBitsPerPixel = 1, cupsBitsPerColor = 1
DEBUG: max_gray = 1, dither_grays = 2
DEBUG: max_color = 0, dither_colors = 0
DEBUG2: ppd = (nil)
DEBUG2: PageSize = [ 612.000 792.000 ]
DEBUG2: margins = [ 257621450178055634944.000 4860419766840537792301571768320.000 0.000 0.000 ]
DEBUG2: HWResolution = [ 100.000 100.000 ]
DEBUG2: width = 850, height = 1100
DEBUG2: HWMargins = [ 0.000 0.000 0.000 0.000 ]
**** DSC comment: /BoundingBox
<< /DSC_struct -dsc_data_struct- >>
DEBUG2: cups_put_params(0x10ef46b4, 0xbfbc1980)
DEBUG2: cups_set_color_info(0x10ef46b4)
DEBUG2: cupsEncodeLUT[0] = 0
DEBUG2: cupsEncodeLUT[65535] = 1
DEBUG: num_components = 1, depth = 1
DEBUG: cupsColorSpace = 3, cupsColorOrder = 0
DEBUG: cupsBitsPerPixel = 1, cupsBitsPerColor = 1
DEBUG: max_gray = 1, dither_grays = 2
DEBUG: max_color = 0, dither_colors = 0
DEBUG2: ppd = (nil)
DEBUG2: PageSize = [ 612.000 792.000 ]
DEBUG2: margins = [ 257621450178055634944.000 4860419766840537792301571768320.000 0.000 0.000 ]
DEBUG2: HWResolution = [ 100.000 100.000 ]
DEBUG2: width = 850, height = 1100
DEBUG2: HWMargins = [ 0.000 0.000 0.000 0.000 ]
**** DSC comment: /Page
<< /DSC_struct -dsc_data_struct- /PageNum 1 >>
DEBUG2: cups_put_params(0x10ef46b4, 0xbfbc1980)
DEBUG2: cups_set_color_info(0x10ef46b4)
DEBUG2: cupsEncodeLUT[0] = 0
DEBUG2: cupsEncodeLUT[65535] = 1
DEBUG: num_components = 1, depth = 1
DEBUG: cupsColorSpace = 3, cupsColorOrder = 0
DEBUG: cupsBitsPerPixel = 1, cupsBitsPerColor = 1
DEBUG: max_gray = 1, dither_grays = 2
DEBUG: max_color = 0, dither_colors = 0
DEBUG2: ppd = (nil)
DEBUG2: PageSize = [ 612.000 792.000 ]
DEBUG2: margins = [ 257621450178055634944.000 4860419766840537792301571768320.000 0.000 0.000 ]
DEBUG2: HWResolution = [ 100.000 100.000 ]
DEBUG2: width = 850, height = 1100
DEBUG2: HWMargins = [ 0.000 0.000 0.000 0.000 ]
**** DSC comment: /PageBoundingBox
<< /DSC_struct -dsc_data_struct- >>
DEBUG2: cups_put_params(0x10ef46b4, 0xbfbc1980)
DEBUG2: cups_set_color_info(0x10ef46b4)
DEBUG2: cupsEncodeLUT[0] = 0
DEBUG2: cupsEncodeLUT[65535] = 1
DEBUG: num_components = 1, depth = 1
DEBUG: cupsColorSpace = 3, cupsColorOrder = 0
DEBUG: cupsBitsPerPixel = 1, cupsBitsPerColor = 1
DEBUG: max_gray = 1, dither_grays = 2
DEBUG: max_color = 0, dither_colors = 0
DEBUG2: ppd = (nil)
DEBUG2: PageSize = [ 612.000 792.000 ]
DEBUG2: margins = [ 257621450178055634944.000 4860419766840537792301571768320.000 0.000 0.000 ]
DEBUG2: HWResolution = [ 100.000 100.000 ]
DEBUG2: width = 850, height = 1100
DEBUG2: HWMargins = [ 0.000 0.000 0.000 0.000 ]
DEBUG2: cups_get_matrix(0x10ef46b4, 0xbfbc15a0)
DEBUG2: Portrait matrix: XX=+1 XY=0 YX=0 YY=-1
DEBUG2: width = 850, height = 1100
DEBUG2: PageSize = [ 612 792 ], HWResolution = [ 100 100 ]
DEBUG2: HWMargins = [ 0.000 0.000 0.000 0.000 ]
DEBUG2: matrix = [ 1.389 0.000 0.000 -1.389 -0.000 1100.000 ]
DEBUG2: cups_get_params(0x10ef46b4, 0xbfbc1990)
DEBUG2: before gdev_prn_get_params()
DEBUG2: after gdev_prn_get_params()
DEBUG2: Leaving cups_get_params()
DEBUG2: cups_print_pages(0x10ef46b4, 0xf98c3d8, 1)
DEBUG2: cupsBitsPerPixel = 1, cupsWidth = 850, cupsBytesPerLine = 107, srcbytes = 107
DEBUG2: cupsWidth = 850, cupsHeight = 1100, cupsBytesPerLine = 107
DEBUG2: cups->header.Duplex = 0
DEBUG2: cups->header.Tumble = 0
DEBUG2: cups->page = 1
DEBUG2: cupsPPD = (nil)
DEBUG: cups_print_chunked: xflip = 0, yflip = 0, height = 1100
INFO: Processing page 2...
DEBUG2: cups_get_matrix(0x10ef46b4, 0xbfbc1970)
DEBUG2: Portrait matrix: XX=+1 XY=0 YX=0 YY=-1
DEBUG2: width = 850, height = 1100
DEBUG2: PageSize = [ 612 792 ], HWResolution = [ 100 100 ]
DEBUG2: HWMargins = [ 0.000 0.000 0.000 0.000 ]
DEBUG2: matrix = [ 1.389 0.000 0.000 -1.389 -0.000 1100.000 ]
**** DSC comment: /Pages
<< /DSC_struct -dsc_data_struct- /NumPages 1 >>
DEBUG2: cups_put_params(0x10ef46b4, 0xbfbc1980)
DEBUG2: cups_set_color_info(0x10ef46b4)
DEBUG2: cupsEncodeLUT[0] = 0
DEBUG2: cupsEncodeLUT[65535] = 1
DEBUG: num_components = 1, depth = 1
DEBUG: cupsColorSpace = 3, cupsColorOrder = 0
DEBUG: cupsBitsPerPixel = 1, cupsBitsPerColor = 1
DEBUG: max_gray = 1, dither_grays = 2
DEBUG: max_color = 0, dither_colors = 0
DEBUG: Updating PageSize to [612 792]...
DEBUG: Setting initial media size, [612 792] = 850x1100 pixels...
DEBUG2: ppd = (nil)
DEBUG2: PageSize = [ 612.000 792.000 ]
DEBUG2: margins = [ 0.000 0.000 0.000 0.000 ]
DEBUG2: HWResolution = [ 100.000 100.000 ]
DEBUG2: width = 850, height = 1100
DEBUG2: HWMargins = [ 0.000 0.000 0.000 0.000 ]
**** DSC comment: /BoundingBox
<< /BoundingBox [18 36 594 756] /DSC_struct -dsc_data_struct- >>
DEBUG2: cups_put_params(0x10ef46b4, 0xbfbc1980)
DEBUG2: cups_set_color_info(0x10ef46b4)
DEBUG2: cupsEncodeLUT[0] = 0
DEBUG2: cupsEncodeLUT[65535] = 1
DEBUG: num_components = 1, depth = 1
DEBUG: cupsColorSpace = 3, cupsColorOrder = 0
DEBUG: cupsBitsPerPixel = 1, cupsBitsPerColor = 1
DEBUG: max_gray = 1, dither_grays = 2
DEBUG: max_color = 0, dither_colors = 0
DEBUG2: ppd = (nil)
DEBUG2: PageSize = [ 612.000 792.000 ]
DEBUG2: margins = [ 257621450178055634944.000 4860419766840537792301571768320.000 0.000 0.000 ]
DEBUG2: HWResolution = [ 100.000 100.000 ]
DEBUG2: width = 850, height = 1100
DEBUG2: HWMargins = [ 0.000 0.000 0.000 0.000 ]
**** DSC comment: /EOF
<< /DSC_struct -dsc_data_struct- >>
DEBUG2: cups_put_params(0x10ef46b4, 0xbfbc1980)
DEBUG2: cups_set_color_info(0x10ef46b4)
DEBUG2: cupsEncodeLUT[0] = 0
DEBUG2: cupsEncodeLUT[65535] = 1
DEBUG: num_components = 1, depth = 1
DEBUG: cupsColorSpace = 3, cupsColorOrder = 0
DEBUG: cupsBitsPerPixel = 1, cupsBitsPerColor = 1
DEBUG: max_gray = 1, dither_grays = 2
DEBUG: max_color = 0, dither_colors = 0
DEBUG2: ppd = (nil)
DEBUG2: PageSize = [ 612.000 792.000 ]
DEBUG2: margins = [ 257621450178055634944.000 4860419766840537792301571768320.000 0.000 0.000 ]
DEBUG2: HWResolution = [ 100.000 100.000 ]
DEBUG2: width = 850, height = 1100
DEBUG2: HWMargins = [ 0.000 0.000 0.000 0.000 ]
DEBUG2: cups_close(0x10ef46b4)
[HR][/HR]

Was mich nur verwundert: Wenn Du DSM4 installierst hast, dann müsstest Du doch auf der PowerPC Syno die gleichen Syno-Dateien besitzen, wie ich auf der ARM-Syno.
Und DSM 4 bringt ghostscript und cups filter mit, da DSM 4 auch airprint macht...
such mal gs
> find / -name gs 2>/dev/null
Rich (BBCode):
DiskStation> sudo find / -name gs 2>/dev/null
/usr/bin/gs
/volume1/@optware/bin/gs
DiskStation> ls -l /usr/bin/gs
lrwxrwxrwx 1 root root 11 Sep 13 20:18 /usr/bin/gs -> /opt/bin/gs
Ich bin schon am Überlegen, ob ich das System nochmal frisch aufsetze...
 

tomas123

Benutzer
Mitglied seit
06. März 2012
Beiträge
99
Punkte für Reaktionen
0
Punkte
0
Ich bin schon am Überlegen, ob ich das System nochmal frisch aufsetze...
Also, dass Du kein gs hast, macht mich schon stutzig (Stichwort DSM4.0 mit cups+Airprint)
Wenn Du neu anfängst, dann kannst Du das HOWTO mit den gewonnenen Erkenntnissen für die Pfade des PowerPC noch einmal schnell abarbeiten und Änderungen hier eintragen.
Dann mache ich einen Wiki-Eintrag für ARM/PowerPC.

Welche DSM Version hast Du?

im LOG sieht seltsam aus
Rich (BBCode):
DEBUG2: ppd = (nil)
Hast Du die Variable definiert
> export PPD=/opt/etc/cups/ppd/mein_drucker.ppd
und die einzelnen Schritte wie oben beschrieben nacheinander in der Shell abgearbeitet?

poste mal auf http://pastebin.com/ Deinen gesamten Shell Output
wenn Du Putty verwendest, vorher mal einstellen:
Category/Windows/Lines of scrollback = 20000
 
Zuletzt bearbeitet:

lbeckmann

Benutzer
Mitglied seit
04. September 2012
Beiträge
29
Punkte für Reaktionen
0
Punkte
0
Also, dass Du kein gs hast, macht mich schon stutzig (Stichwort DSM4.0 mit cups+Airprint)
Wenn Du neu anfängst, dann kannst Du das HOWTO mit den gewonnenen Erkenntnissen für die Pfade des PowerPC noch einmal schnell abarbeiten und Änderungen hier eintragen.
Dann mache ich einen Wiki-Eintrag für ARM/PowerPC.

Welche DSM Version hast Du?
Vieleicht passiert ja noch was, wenn ich den Drucker direkt per USB anschließe. Bislang ist er ja nur über Netzwerk angebunden.
Ich nutze DSM 4.1-2636.

im LOG sieht seltsam aus
Rich (BBCode):
DEBUG2: ppd = (nil)
Hast Du die Variable definiert
> export PPD=/opt/etc/cups/ppd/mein_drucker.ppd
und die einzelnen Schritte wie oben beschrieben nacheinander in der Shell abgearbeitet?

poste mal auf http://pastebin.com/ Deinen gesamten Shell Output
wenn Du Putty verwendest, vorher mal einstellen:
Category/Windows/Lines of scrollback = 20000
Den Export hatte ich beim ersten Mal vergessen. Jetzt habe ich aber alles genau abgearbeitet. Zu finden unter http://pastebin.com/11MUMRx7
 

tomas123

Benutzer
Mitglied seit
06. März 2012
Beiträge
99
Punkte für Reaktionen
0
Punkte
0
Rich (BBCode):
INFO: Starting page 1...
DEBUG: Gutenprint: Image_height 3408
DEBUG: Gutenprint: Image_width 2395
...
DEBUG: Gutenprint: ================ Done printing page 1 ================
DEBUG: Gutenprint: Ending job
DEBUG: Gutenprint: Printed total 141043 bytes
DEBUG: Gutenprint: Time 3.610 user, 0.150 sys, 4.060 elapsed
DEBUG: Gutenprint: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
DEBUG: Gutenprint: ============================================================
ist ja nett - und hast Du die erzeugte out.prn mal zum Drucker gesendet?
/opt/bin/lp -d ...

PS: trotz Studium von
http://www-user.tu-chemnitz.de/~heha/hs_freeware/pstops.htm
habe ich keine Ahnung was dieses
bedeuten soll
Der Test hat aber bei mir funktioniert...
 
Zuletzt bearbeitet:

tomas123

Benutzer
Mitglied seit
06. März 2012
Beiträge
99
Punkte für Reaktionen
0
Punkte
0
Du schummelst.
Ich frage Dich immer, ob Du Dich genau an das Tutorial hälst
... und dann lese ich in Deinem Output, dass Du Gutenprint 5.2.9 installiert hast.

Das macht doch keinen Sinn.

Im Tutorial stand
Rich (BBCode):
wget http://sourceforge.net/projects/gimp-print/files/gutenprint-5.2/5.2.8/gutenprint-5.2.8.tar.bz2
Ich habe gutenprint-5.2.9 nicht getestet. Da kann irgendetwas anders laufen.
Wie soll ich den erahnen, was bei Dir schief läuft, wenn Du etwas anderes installierst?

Die Version 5.2.8 ist vom Juni 2012 und nun wirklich nicht veraltet. Insbes. sind da die überarbeiteten Canon Treiber enthalten.
Wenn 5.2.8 läuft, kannst Du Dich gerne der Version 5.2.9 zuwenden.

Ich helfe ja gern, aber Du darfst, wenn Du Hilfe suchst, nicht flüchtig Dein eigenes Ding machen:
  • ich hatte auf der ersten Seite "ls /opt/include/" gepostet, und Du hast Dir das nicht angesehen
  • ich hatte "wget gutenprint-5.2.8.tar.bz2" geschrieben und Du hast Du die 5.2.9. heruntergeladen
  • der Einzelschritt-Test von Cups began mit "export ppd" und schreibst die Fehlermeldung DEBUG2: "ppd = (nil)"
keine Ahnung, was da noch im Argen ist

Ich glaube nach unserem mehrseitigen Dialog haben wir im Forum alle von den Gutenprint-Treiber abgeschreckt.

Aber vielleicht findet sich ja noch jemand mit einer ARM-Syno...

[HR][/HR]
Vielleichst fängst Du mit Deiner PowerPC Syno einfach noch mal an (wie oben vorgeschlagen).
/volume1/@optware als Backup umbennen und /usr/lib/ipkg löschen
Rich (BBCode):
Backup your configuration settings, then type:
  rm -rf /volume1/@optware
  rm -rf /usr/lib/ipkg
This will remove all existing optware packages.
You must *reboot* and then restart the bootstrap script
und beim Compiler das configure Deinen Pfaden anpassen
Ich hoffe, dass Du außerhalb des /opt keine Veränderungen am System durchgeführt hast.
Ansonsten Firmware-Datei manuell zum Update hochladen.

PS: Vergiss nicht die erzeugte out.prn mal zum Drucker zu senden
/opt/bin/lp -d ...
 
Zuletzt bearbeitet:

lbeckmann

Benutzer
Mitglied seit
04. September 2012
Beiträge
29
Punkte für Reaktionen
0
Punkte
0
Ich hatte die 5.2.9 heruntergeladen, nachdem es mit der 5.2.8 nicht funktioniert hat um zu sehen, ob damit vielleicht besser läuft. Zu dem Zeitpunkt, wo es dann funktioniert hat, hatte ich es gerade mit der 5.2.9 probiert.

Wie es auch sei: Ich habe die Syno neu aufgesetzt. Es war anschließend immer noch kein ghostscript vorhanden. Erst als ich dann den Drucker per USB angeschlossen habe, war das gs Binary vorhanden.

Jetzt bin ich beim configure von gutenprint-5.2.8 wieder bei folgender Fehlermeldung:
Rich (BBCode):
checking how to run the C preprocessor... /lib/cpp
configure: error: in `/volume1/tmp/gutenprint-5.2.8':
configure: error: C preprocessor "/lib/cpp" fails sanity check
See `config.log' for more details
In der config.log steht folgendes:
Rich (BBCode):
In file included from conftest.c:12:
/volume1/@optware/bin/../lib/gcc/powerpc-linux-gnuspe/3.4.6/include/limits.h:11:23: syslimits.h: No such file or directory
Ich habe es folgendermaßen gelöst (http://www.synology-forum.de/showthread.html?15142-swish-e-auf-der-DS210j-compilieren&highlight=syslimits.h:
Auf der DS-106 (ppc) lief es sofort durch. Auf der 107+ maulte configure rum cpp sei nicht "sane", lag an der fehlenden syslimits.h, einfach per touch eine leere angelegt und schon geht es.
 

tomas123

Benutzer
Mitglied seit
06. März 2012
Beiträge
99
Punkte für Reaktionen
0
Punkte
0
den Verdacht mit gs erst nach Bedarf kam mir auch schon - ich frage mich nur, woher die Syno das Paket nachlädt...
Danke für den Tip

hier noch etwas zu limits.h
http://www.synology-forum.de/showth...isch-verschieben&p=99779&viewfull=1#post99779
bei den PowerPC Synos scheint im GNU Toolchain einiges mit den Pfaden nicht zu stimmen...
Immer erst mit find /opt -name nach den fehlenden Dateien suchen.

Und jeden Schritt schön mitschreiben, damit wir es im nachher Wiki eintragen können :)
alles hängt am configure!!

viel Glück
 
Zuletzt bearbeitet:

Matthieu

Super-Moderator
Teammitglied
Mitglied seit
03. November 2008
Beiträge
13.065
Punkte für Reaktionen
10
Punkte
334
@admin: Warum kann ich keine alten Postings von mir editieren??
Ich bin zwar nicht der admin, aber da der öffentlich nur seltenst zugegen ist antworte ich einfach mal als Moderator.
Wir sind für Spammer offenbar sehr attraktiv (haben erst eine Spam-Welle im Wiki hinter uns). Außerdem ist es schwierig, sich auf Aussagen zu beziehen, wenn derjenige im Nachhinein noch etwas ändern kann.
Darfst aber gern einen Moderator anschreiben wenn die Anleitung "nachgebessert" werden soll. Ansonsten besser ins Wiki schreiben, da kann man jederzeit editieren.
Danke für dein Engagement!

MfG Matthieu
 

tomas123

Benutzer
Mitglied seit
06. März 2012
Beiträge
99
Punkte für Reaktionen
0
Punkte
0
@Matthieu
Danke für die Auskunft

@lbeckmann
ich habe mal auf DSM 4.1 akualisiert
musste nur die Schritte außerhalb des opt-Pfades durchführen:

> sudo /usr/syno/etc.defaults/rc.d/S55cupsd.sh stop
> sudo ln -s /usr/local/bin/gs /usr/bin/
> sudo cp 3rdparty.* /usr/syno/avahi/services/

und natürlich die Dienste wieder starten

> sudo /opt/etc/init.d/S55cupsd restart
> sudo /usr/syno/etc/rc.d/S99avahi.sh restart

und opt-Airprint geht auch mit DSM 4.1 ...
 

tomas123

Benutzer
Mitglied seit
06. März 2012
Beiträge
99
Punkte für Reaktionen
0
Punkte
0
Gibt es hier keinen weiteren mutigen IOS Benutzer, der sich an Airprint herantraut?

Auch wenn der Thread etwas abschreckend ausufert, da wir am PowerPC GNU Toolchain festhängen:

Es wäre schön, wenn jemand mit einer ARM-CPU-Syno es mal testen würde. damit ich das (getestete) Tutorial ins Wiki stellen kann.
Danke
 

lbeckmann

Benutzer
Mitglied seit
04. September 2012
Beiträge
29
Punkte für Reaktionen
0
Punkte
0
So, ich habe mal ein wenig mitprotokolliert:

gutenprint
./configure CC="/opt/bin/gcc -std=gnu99 -I/opt/include -L/opt/lib -lm" \
--prefix=/opt \
--includedir=/opt/include \
--with-cups=/opt \
--disable-cups-ppds \
--disable-cups-level3-ppds \
--without-foomatic \
--disable-libgutenprintui2 \
--disable-nls \
--disable-static

Vor dem make Befehl:
mv /lib/libm.so.6 /opt/powerpc-linux-gnuspe/lib/libm.so.6 cp /lib/libm.so.6 /opt/powerpc-linux-gnuspe/lib/libm.so.6.bak
cp /lib/libm.so.6 /opt/powerpc-linux-gnuspe/lib/libm.so.6

wget ftp://ftp.remotesensing.org/pub/libtiff/tiff-3.9.5.tar.gz
tar xzf tiff-3.9.5.tar.gz
cd tiff-3.9.5
./configure --prefix=/opt
make
make install

mv /opt/powerpc-linux-gnuspe/lib/libpthread-0.10.so /opt/powerpc-linux-gnuspe/lib/libpthread-0.10.so.bak
cp /lib/libpthread.so.0 /opt/powerpc-linux-gnuspe/lib/libpthread-0.10.so

mv /opt/powerpc-linux-gnuspe/lib/libdl-2.3.4.so /opt/powerpc-linux-gnuspe/lib/libdl-2.3.4.so.bak
cp /lib/libdl.so.2 /opt/powerpc-linux-gnuspe/lib/libdl-2.3.4.so

pycups und cups.bjnp scheinen direkt zu funktionieren. Ich werde das Drucken heute nachmittag mal testen.
Wenn AirPrint dann funktioniert, werde ich die Syno nochmal platt machen und das ganze sauber durchgehen, damit die Anleitung auch für PowerPC hundertprozentig passt.
 

tomas123

Benutzer
Mitglied seit
06. März 2012
Beiträge
99
Punkte für Reaktionen
0
Punkte
0
mir ist immer noch nicht klar, was es bei Dir in dem Verzeichnis
opt/include/linux/
drin ist

lade doch bitte mal ein
find /opt
nach pastebin
 

lbeckmann

Benutzer
Mitglied seit
04. September 2012
Beiträge
29
Punkte für Reaktionen
0
Punkte
0
mir ist immer noch nicht klar, was es bei Dir in dem Verzeichnis
opt/include/linux/
drin ist

lade doch bitte mal ein
find /opt
nach pastebin
Fehlt bei dem Befehl was? Das Ergebnis ist zumindest /opt.

Auf jeden Fall funktioniert AirPrint jetzt.
Es könnte aber noch Probleme mit iOS 6 geben. Mein iPad (iOS 5.1.1) erkennt die Drucker sofort. Mein iPhone (iOS 6 Beta 4) findet gar nichts... ich werde das iPhone mal auf die Golden Master aktualisieren, ob es damit besser aussieht.

Direkt an die Syno per USB angeschlossene Drucker funktionieren über integrierte AirPrint unter iOS 6...
 
Zuletzt bearbeitet:

tomas123

Benutzer
Mitglied seit
06. März 2012
Beiträge
99
Punkte für Reaktionen
0
Punkte
0
Du erstaunst mich immer mehr.
Du hast einen Apple Developer Account und merkst nicht, dass ich ein / vergessen habe :-;
(Ordner include reicht):
> find /opt/include/

Man bin ich froh, dass es jetzt bei Dir mit Airprint geklappt hat.

Wenn ich das richtig lese, muss man zum compilieren von gutenprint
bei ARM-CPU kopieren
> sudo cp /lib/libpthread.so.0 /opt/arm-none-linux-gnueabi/lib/libpthread-2.5.so

und bei der PowerPC-CPU
> sudo cp /lib/libpthread.so.0 /opt/powerpc-linux-gnuspe/lib/libpthread-0.10.so
> sudo cp /lib/libdl.so.2 /opt/powerpc-linux-gnuspe/lib/libdl-2.3.4.so
> sudo cp /lib/libm.so.6 /opt/powerpc-linux-gnuspe/lib/libm.so.6

Zusätzlich hast Du noch die libtiff compiliert.

Der configure Parameter CC="/opt/bin/gcc -std=gnu99 -I/opt/include -L/opt/lib -lm" greift bei ARM und PowerPC

Frage an die gcc-Experten:
Ist es sinnvoll, wenn wie o.g. einige ipkg-libraries fehlerhaft sind, gegen die ikpg-Headers von /opt/include
und die Syno-Libraries von /lib zu compilieren (d.h. zuerst /lib und wenn dort nichts ist dann /opt/lib)

Damit erspart man sich das seltsame rüberkopieren von /lib nach /opt/lib

Das Beispiel läuft nicht durch...
./configure CC="/opt/bin/gcc -std=gnu99 -I/opt/include -L/lib -L/opt/lib" --prefix=/opt

Speichert die binary die Pfade zu den Bibliotheken absolut ab?
Leider hat Syno und ipkg kein ldd ...
man ist blind
 
Zuletzt bearbeitet:

lbeckmann

Benutzer
Mitglied seit
04. September 2012
Beiträge
29
Punkte für Reaktionen
0
Punkte
0
Du erstaunst mich immer mehr.
Du hast einen Apple Developer Account und merkst nicht, dass ich ein / vergessen habe :-;
(Ordner include reicht):
> find /opt/include/
http://pastebin.com/9K1mutJu
Nochmal eine dumme Frage vom Profi-Programmierer: Wieso muss die Einrichtung eigentlich als Benutzer admin durchgeführt werden und kann nicht direkt als root erfolgen.

Man bin ich froh, dass es jetzt bei Dir mit Airprint geklappt hat.

Wenn ich das richtig lese, muss man zum compilieren von gutenprint
bei ARM-CPU kopieren
> sudo cp /lib/libpthread.so.0 /opt/arm-none-linux-gnueabi/lib/libpthread-2.5.so

und bei der PowerPC-CPU
> sudo cp /lib/libpthread.so.0 /opt/powerpc-linux-gnuspe/lib/libpthread-0.10.so
> sudo cp /lib/libdl.so.2 /opt/powerpc-linux-gnuspe/lib/libdl-2.3.4.so
> sudo cp /lib/libm.so.6 /opt/powerpc-linux-gnuspe/lib/libm.so.6

Zusätzlich hast Du noch die libtiff compiliert.

Der configure Parameter CC="/opt/bin/gcc -std=gnu99 -I/opt/include -L/opt/lib -lm" greift bei ARM und PowerPC
Sollte so passen. Ich werde es aber wie gesagt nochmal durchspielen.
 

tomas123

Benutzer
Mitglied seit
06. März 2012
Beiträge
99
Punkte für Reaktionen
0
Punkte
0
leider etwas off topic aber eine gute Frage

Wieso muss die Einrichtung eigentlich als Benutzer admin durchgeführt werden und kann nicht direkt als root erfolgen.
musst Du nicht, aber
1. sollte man nie etwas als Root ausführen, wenn man keine Root-Rechte braucht (bestes Beispiel im tutorial ist die Stelle mit configure / make )
2. das Tutorial richtet sich auch an nicht-Profis. Und diese sind sich bei dem Kommando rm -rf /volume1/tmp/ nicht der Gefahr bewusst, wenn man als root beim Tippen abrutscht und zu früh auf die Enter-Taste kommt...

--
Vor Jahren wollte ich mal in einer WesternDigital-NAS im Midnight Commander einen Ordner Entern.
Leider war das kein Ordner sondern das Konfigurationsscript für das Master Reset.
Ich war als Root angemeldet und das Script lief sofort los und löschte u.a. die Raidkonfiguration.
Seitdem ist sudo mein Freund...
 
  AdBlocker gefunden!

Du bist nicht hier, um Support für Adblocker zu erhalten, denn dein Adblocker funktioniert bereits ;-)

Klar machen Adblocker einen guten Job, aber sie blockieren auch nützliche Funktionen.

Das Forum wird mit einem hohen technischen, zeitlichen und finanziellen Aufwand kostenfrei zur Verfügung gestellt. Wir zeigen keine offensive oder Themen fremde Werbung. Bitte unterstütze dieses Forum, in dem du deinen Adblocker für diese Seite deaktivierst.