1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
|
Welcome to Gutenprint 5.2.1, the initial release of Gutenprint 5.2.
Please read these release notes carefully.
Gutenprint is a suite of printer drivers that may be used with most
common UNIX print spooling systems, including CUPS, lpr, LPRng, or
others. Gutenprint currently supports over 1400 printer models.
These drivers provide high quality printing for UNIX, Linux, and
Macintosh OS X (10.3 and above) systems. Gutenprint includes CUPS and
Foomatic drivers, and an enhanced Print plug-in for GIMP that replaces
the print plug-in packaged with the GIMP distribution.
Gutenprint 5.2 no longer supports Macintosh OS X 10.2.
*** NOTE TO PACKAGERS: Please read the file README.package for issues
that are of interest to distributors and packagers of Gutenprint.
It is not necessary for end users of Gutenprint to read this file.
These release notes contain the following sections:
I) General Requirements
II) Critical Upgrade Note
III) Changes from Previous Releases
* Changes from 5.2.0-rc1
* Changes from 5.2.0-beta4
IV) Overall changes from 5.0.2 to 5.2
A) General User-visible Changes
B) New Functionality
C) Changes to the Enhanced Print plugin for GIMP
D) Changes to the CUPS interface
E) Changes to the Foomatic interface
F) Quality Improvements
G) Architectural Changes
H) New Printers Supported in this Release
V) Exceptions and Workarounds
A) General Issues
B) Build/Installation Issues
================================================================
I) GENERAL REQUIREMENTS
Gutenprint will run on any reasonably modern computer running Linux,
Macintosh OS X (10.3 or above), Solaris, or any other UNIX-like
operating system. If you plan to compile this package from source,
you will also need an ANSI C compiler, such as gcc (recommended). A
compiler is not required if you are installing a pre-compiled package.
Processor and memory requirements vary depending upon the printer and
runtime options selected; it is suggested that you have at least 64 MB
of memory for general purpose printing, 256 MB or more for high
quality printing on a good printer, and 1 GB or more for large format
printing at high resolution. You should have at least 50 MB of free
disk space to compile and install Gutenprint. Disk space requirements
for printing will vary depending upon how you use Gutenprint, but are
generally modest except as noted below. We recommend a processor
speed of at least 300 MHz. Fast printers may require a faster
processor to achieve maximum printing speed.
For general use, you should have the Common UNIX Printing System, CUPS
(version 1.1.15 or above) or Foomatic (2.0 or above) installed.
Please the rest of the release notes, in particular the Exceptions and
Workarounds, for full details on installation, as there is important
information to be aware of. CUPS is the printing system used on
Macintosh OS X 10.3 and above, and many other systems use it. The
combination of CUPS and Gutenprint provides a flexible, general
purpose printing system capable of producing the highest quality
output with any of the printers supported by this package. We
strongly recommend using CUPS with Gutenprint as a general-purpose
printing solution.
The enhanced Print plug-in for GIMP requires GIMP 2.0 or above (GIMP
2.2 recommended). This plug-in will work with any printing system,
and offers a comprehensive user interface to control all aspects of
the printing process. If you are printing photographs in large format
from GIMP at very high resolution, disk space requirements may be
substantial, and we recommend at least 2 GB of free disk space for
that purpose.
The Ghostscript driver requires GNU Ghostscript 6.53 or higher, ESP
Ghostscript 7.05 or higher, or AFPL Ghostscript 7.04 or higher. It
uses the IJS package included with these versions of Ghostscript to
create a driver that may be built much more easily than traditional
Ghostscript drivers. This driver should be used in conjunction with
Foomatic to configure printers.
Users of Macintosh 10.3 (Panther), 10.4 (Tiger), and 10.5 (Leopard)
can use this package, as the printing system is based on CUPS. For
ease of installation, a pre-built package with installer is normally
supplied a few days after the release of the source package. We
strongly recommend that OS X users use the pre-built package rather
than attempt to build it themselves.
The README file included with this package provides full instructions
for building and installing Gutenprint.
================================================================
II) CRITICAL UPGRADE NOTE
If you are using CUPS with Gutenprint on a non-Macintosh system, and
are upgrading from an earlier version of Gutenprint or Gimp-Print,
please read this note carefully as there are special procedures that
you should follow in addition to the normal procedure of running
cups-genppdupdate.
Background: older versions of Gutenprint distributed CUPS backends,
named "epson" and "canon", that we have determined have compatibility
problems on certain systems. The symptom of this problem is that the
last page of each print job does not complete; it prints almost to the
end of the page, and the printer stops. The only way to clear this
condition is to power the printer off and back on after each job.
A CUPS "backend" is a special program whose purpose is to transfer
data from the printer driver to the printer itself. CUPS provides a
number of general purpose backends. The "epson" and "canon" backends
previously provided with Gutenprint are capable of retrieving ink
level information from Epson and Canon inkjet printers respectively.
These backends are no longer needed in CUPS 1.2, and are not strictly
necessary in CUPS 1.1. Therefore, these backends have been removed
from Gutenprint as of 5.2.
Due to a subtle issue, these backends may not correctly send all of
the data to the printer on some systems. While we have not fully
characterized the systems on which this happens, it appears likely
that it is on certain operating system versions. The backend believes
that all data has been sent, but the way it does I/O results in some
data not being sent on all systems. As a result, the printer
continues to wait for more data to be received.
We recommend that if you have any printer queues using these backends
that you modify the queues to use a different backend. Even if you
are not currently having problems, we recommend that you do this, as a
future operating system upgrade may result in this problem becoming
visible. If this is the first version of Gutenprint or Gimp-Print you
have installed on your system, you should not have these backends
present. Here are the steps we recommend that you follow.
1) Determine whether any printers on your system use the epson or
canon backends.
This can be determined via "lpstat -v". This may be done without
administrator privileges:
$ lpstat -v
device for EPSON_Stylus_Photo_R300_USB_1: usb://EPSON/Stylus%20Photo%20R300
device for espr300-ez: usb://EPSON/Stylus%20Photo%20R300
device for r300-test: epson:/dev/usb/lp0
device for HP_LaserJet_1022_USB_1: usb://HP/LaserJet%201022
Inspect each device line for a device that begins with "epson:" or
"canon:". These are the queues you must modify. In this case, the
only queue that must be modified is "r300-test". The other queues
all have devices that begin with "usb:"; these queues use the
standard CUPS USB backend that does not have this problem.
2) For each queue that uses the epson or canon backend, modify it to
use an appropriate backend.
If your system provides a user interface for administering
printers, we recommend that you use that interface. If you're
comfortable with the KDE or GNOME print manager, you may use that
interface. However, we recommend using the CUPS web interface
(http://localhost:631/printers) to modify the printer. The steps
you should follow (assuming that you are using the CUPS web
interface) are:
i) Click "Modify Printer", to start leading you through a series of
screens allowing you to change the printer properties.
ii) The first screen, entitled "Modify Printer r300-test" (the
printer name, of course, will vary), will display the name of
the printer, along with the location and description. You may
modify these if you wish, but it isn't necessary. Click
"Continue".
iii) The next screen, entitled "Device for r300-test", is the
important one. This provides you a drop-down list of devices.
These devices typically include "AppSocket/HP JetDirect",
"LP#1", and so forth. It is critical that you select the
correct device at this point.
The entries that you want are of the form
EPSON Stylus Photo R300 USB #1 (EPSON Stylus Photo R300)
or
EPSON Stylus Photo EX Parallel #1 (EPSON Stylus Photo EX)
Make sure to select the one that's appropriate for your printer
model.
You will likely also see entries such as "Gutenprint USB Printer
#1 (EPSON USB2.0 Printer (Hi-speed)". These are the entries
corresponding to the "epson" and "canon" backends, and you must
avoid these.
iv) The next screen, entitled "Make/Manufacturer for r300-test",
allows you to select the manufacturer of the printer. Normally,
the correct manufacturer (Epson or Canon) will be highlighted,
and you can click Continue.
v) The next screen, entitled "Model/Driver for r300-test", allows
you to select the precise model of the printer. Normally, the
correct model (which will be named something like "Epson Stylus
Photo R300 - CUPS+Gutenprint v5.2.0-rc1") will already be
highlighted, and you can click "Modify Printer". Otherwise, you
must find and select the correct printer model before clicking
Modify Printer. You will likely need to provide your
administrator username and password to continue here.
After this, you should see a message "Printer r300-test modified
successfully".
3) Remove the epson and canon backends.
On most systems, the backends will be named
/usr/lib/cups/backend/canon and /usr/lib/cups/backend/epson. On
some systems, the backends will be named
/usr/lib64/cups/backend/canon and /usr/lib64/cups/backend/epson.
They may be present in other locations, but these are the most
common locations. If these files are present, you should create a
directory named /usr/lib/cups/old-backend or
/usr/lib64/cups/old-backend, and move the epson and canon backends
there just in case you later need them.
% cd /usr/lib/cups
% sudo mkdir old-backend
Password: <type your administrator password>
% cd backend
% sudo mv canon epson ../old-backend
Password: <retype your administrator password if prompted>
The specific underlying technical problem appears to be that when at
least certain devices are in non-blocking mode (O_NONBLOCK or
O_NDELAY) with certain operating system versions (Linux 2.6.25 appears
to be suffer this problem, and most likely some other versions also
do), the close() call does not result in all data being flushed to the
device. We have determined that the data is in fact written by the
"epson" process, but it's never getting to the printer.
================================================================
III) MAJOR CHANGES FROM PREVIOUS RELEASES
* Changes from 5.2.0-rc1
1) Preliminary support for the following printers. These printers
may be retuned for improved quality or performance in future
releases.
Epson inkjet printers:
Epson PictureMate 215
Epson PX 101
Epson PX 201
Epson PX 601F
Epson Stylus CX9300F
Epson Stylus CX9400F
Epson Stylus CX9475F
Epson Stylus DX9400F
Epson Stylus NX200
Epson Stylus NX400
Epson Stylus Photo R290
Epson Stylus Photo RX610
Epson Stylus Photo RX690
Epson Stylus Office B30
Epson Stylus Office B33
Epson Stylus Office B40W
Epson Stylus Office T30
Epson Stylus Office T33
Epson Stylus Office T40W
Epson Stylus Office BX300F
Epson Stylus Office BX600FW
Epson Stylus Office SX600FW
Epson Stylus Office TX300F
Epson Stylus Office TX600FW
Epson Stylus SX200
Epson Stylus SX205
Epson Stylus SX400
Epson Stylus SX405
Epson Stylus TX200
Epson Stylus TX400
Epson ME Office 70
Epson ME Office 80W
Epson ME Office 700FW
Epson WorkForce 30
Epson WorkForce 40
Epson WorkForce 500
Epson WorkForce 600
2) Experimental support for the following printers. These printers
may not function correctly, and may be retuned for improved
quality or performance in future releases.
Epson inkjet printers:
Epson Artisan 700
Epson Artisan 800
Epson Stylus NX100
Epson Stylus NX300
Epson Stylus PX700FW
Epson Stylus PX800FW
Epson Stylus S20
Epson Stylus SX100
Epson Stylus SX105
Epson Stylus T20
Epson Stylus TX100
Epson Stylus Photo TX700W
Epson Stylus Photo TX800W
3) The ChangeLog, NEWS, AUTHORS, COPYING, and README files are
installed into the documentation directory.
* Changes from 5.2.0-beta4
1) cups-genppdupdate now preserves the language of the original PPD
file, even if the PPD file is being converted to a globalized
PPD file. This enables use of cups-genppdupdate -loriginal to
restore the previous language of the PPD file. Note that
cups-genppdupdate -l<language> changes the stored language of
the PPD file.
2) The CUPS driver correctly prints page sizes larger than letter
on PCL printers (this was broken in 5.2.0-beta4 only).
3) The CD position on the R1900 has been corrected.
4) Printing on the Epson Stylus DX8400/DX8450 has been corrected
(the CX8400 was corrected in the previous release). Previously,
these printers fed paper endlessly without printing.
5) The user manual has been updated.
6) Color and tonal correctness at low and medium resolutions has
been fixed on many Epson Stylus multi-function devices,
including
Stylus CX3500, Stylus CX3600, Stylus CX3650, Stylus CX5100,
Stylus CX4200, Stylus CX4500, Stylus CX4600, Stylus CX4700,
Stylus CX4800, Stylus CX4900, Stylus CX5000, Stylus CX5000F,
Stylus CX5700, Stylus CX5800, Stylus CX6000, Stylus CX7000F,
Stylus CX7800, Stylus CX8300, Stylus CX8400, Stylus CX9400,
Stylus DX4200, Stylus DX4250, Stylus DX4800, Stylus DX7000F,
Stylus DX8400, Stylus DX8450, PX A650
This issue affected printing at 720 DPI and below. This issue
was fixed for the Stylus CX7400, Stylus DX7400, and Stylus
DX7450 in Gutenprint 5.2.0-beta4, but not on other printers at
that time. Since then, we have determined that the same fix is
needed on these printers.
Output will be quite grainy at these resolutions, but colors
will be correct.
================================================================
IV) OVERALL CHANGES FROM 5.0.2 TO 5.2
A) GENERAL USER-VISIBLE CHANGES
1) Gutenprint 5.2 and beyond no longer support GIMP 1.2. Please
ensure that you are using GIMP 2.0 or above.
2) Gutenprint 5.2 no longer supports Macintosh OS X 10.2; it now
requires 10.3 (Panther) or higher. This is due to a new library
requirement (for the iconv library) that is not present in 10.2.
3) Color Correction is now shown on the basic output adjustment
menu rather than the advanced menu.
4) We recommend that any profiles created against Gutenprint 5.1 or
earlier releases be checked, and if necessary, re-created for
use with Gutenprint 5.2.
B) NEW FUNCTIONALITY
1) The PostScript driver has been rewritten, offering enhanced
functionality approaching that of the native printer drivers.
This driver is used by the enhanced Print plugin for the GIMP,
and by other packages (such as PhotoPrint) that utilize
Gutenprint. In particular, the following specific functionality
has been added:
- All PPD file options are now offered.
- CMYK input is now handled correctly.
- The PostScript driver recognizes Gutenprint PPD files (from
the native CUPS driver, not from Foomatic) and presents
floating point options correctly.
Note that this driver does not offer the curve options offered
by the native drivers. If no PPD file is selected, a basic set
of options is provided.
2) Envelope paper sizes are now offered in both portrait and
landscape form factor, as some printers expect envelopes to be
fed long edge first while some expect them to be fed short edge
first.
3) PCL laser printers now offer paper trays with adjustable guides.
Many laser printers use adjustable guides for manual feed of
papers narrower than letter size.
4) In addition to support for specific laser printers listed below,
support for generic large format PCL laser printers has been
added. Note that all PCL laser printers are supported in black
and white only.
5) Quality presets have been added to the PCL driver (HP inkjets
and HP and other laser printers).
6) L-size photo paper (3 1/2x5 inches) has been added.
C) CHANGES TO THE ENHANCED PRINT PLUGIN FOR GIMP
1) The GIMP plugin now offers additional options for many Epson
inkjet printers, allowing precise specification of drop sizes if
desired.
2) A problem with determining the system printer queues in the GIMP
plugin on certain systems using languages other than English has
been fixed.
3) The GIMP plugin now offers reset buttons for individual
settings, so it is possible to reset a single setting to its
default without resetting all settings.
D) CHANGES TO THE CUPS INTERFACE
1) PPD files generated by cups-genppd and the CUPS driver interface
(gutenprint.5.2) now include, by default, all localizations in a
single file. This is referred to as "globalized PPD files".
This functionality is supported by CUPS 1.2 and higher.
Single-language PPD files are still generated on request, or if
CUPS 1.1 is in use. The CUPS driver is now localized using
built-in code, eliminating problems with PPD files not always
being translated properly.
cups-genppdupdate will normally upgrade all PPD files to
globalized ones if CUPS 1.2 or higher is in use or if
pregenerated PPD files are used, but will otherwise generate
single-language files. This behavior can be controlled as
follows:
- If -l<language> is passed to cups-genppdupdate, it will be
honored no matter what release of Gutenprint is in use. This
may be used if applications have issues with globalized PPD
files. We would like reports of any such applications. The
list of languages accepted is as follows:
C English (US)
cs Czech
da Danish
de German
el Greek
en_GB English (UK)
es Spanish
fr French
hu Hungarian
ja Japanese
nb Norwegian
nl Dutch
pl Polish
pt Portuguese
sk Slovak
sv Swedish
zh_TW Simplified Chinese
- If -loriginal is passed, the original language of the PPD file
will be honored.
- If no -l option is passed, the original language will be
honored if -r5.0 or -r5.1 is passed (i. e. if cups-genppdupdate
is used to downgrade to an older version of Gutenprint), or if
CUPS 1.1 is in used.
- A new configure option --enable-globalized-cups-ppds (or if not
desired, --disable-globalized-cups-ppds) has been added to
enable or disable pre-generating globalized PPD files. This
option is only used if --enable-cups-ppds is set. It defaults
to "yes" if CUPS 1.2 or above is in use or "no" if CUPS 1.1 is
in use.
2) The CUPS driver is now localized using built-in code, hopefully
eliminating problems with PPD files not always being translated
properly.
3) cups-genppdupdate is no longer versioned, as it was in 5.0 and
5.1 (cups-genppdupdate.5.0 and cups-genppdupdate.5.1). It also
supports the following options:
-r Specify the major.minor version to update to, e. g. 5.0 or
5.1.
-f Bypass ownership/permissions checks on update PPD files.
-i Interactively ask whether to update each PPD file.
-l Specify the language in which to generate PPD files, as
described above.
4) The performance of cups-genppdupdate has been improved
significantly.
5) cups-genppdupdate no longer updates PPD files that differ only
in case of the file extension (e. g. printer.ppd and
printer.PPD). This avoids updating PPD files twice on
filesystems that are case insensitive, such as OS X.
6) cups-genppdconfig has been removed from this release. This
command was used to configure CUPS printer queues, but is not
necessary as there are ample other tools available to configure
printer queues.
7) The CUPS driver will no longer attempt to find a matching
predefined page size when a custom page size is passed in. This
yields more accurate printing sizes for custom paper sizes. In
addition, it avoids a problem with unnecessary margins being
imposed when the paper size is approximately 4.7x6.8" (120x173
mm) due to a specific defined page size with those dimensions and
tear-off borders.
8) Certain legacy applications (most notably Microsoft Office) did
not print correctly on printers capable of high resolution, due
to inability to handle the specified resolutions. This release
works around that issue by not advertising very high resolutions
in a way that these applications will fail on.
9) Progress and error messages produced by the CUPS raster driver
are now localized.
10) The CUPS driver now provides an Output Order option, where
appropriate, in all cases. This worked prior to 5.2.0-beta3 and
was broken in that release only.
11) A problem whereby the CUPS driver could consume excessive
amounts of CPU and generate no output with Epson PictureMate and
E-series compact photo printers has been fixed.
E) CHANGES TO THE FOOMATIC INTERFACE
1) The Foomatic-based driver will only attempt to find a precisely
matching page size when a custom page size is passed in. This
yields more accurate printing sizes for custom paper sizes.
F) QUALITY IMPROVEMENTS
1) A number of improvements have been made to the Epson driver:
- Borderless printing and in general printing near the bottom of
the page has been improved for many Epson inkjet printers.
- Additional very high resolutions (2880x2880 and 5760x2880 DPI)
have been added for many modern (post-2005) printers. These
resolutions may be useful when one desires the absolute best
print quality.
- Additional enhanced low and intermediate resolutions have been
added for some Epson printers to reduce banding while still
achieving good output performance and quality.
- Printing speed, and in some cases quality, has been improved
on many modern Epson printers.
- Ink drop size has been retuned on printers using Claria inks,
yielding improved quality at lower resolutions.
- Borderless support has been added to the Epson Stylus Pro
7600/9600 and the margins have been corrected.
- Epson printers will now correctly handle color output if
quadtone inks are in use by printing in grayscale even though
color is specified.
- The Epson Stylus CX8300 and CX8400 now print correctly, although
the colors may be retuned before final release.
- The Epson Stylus CX7400, DX7400, and DX7450 now print correctly
at all resolutions. Previously, printing at 720x360 DPI or below
was incorrect. Output will be rather grainy.
- A problem whereby some rows are not printed in color on the Epson
Stylus CX3700 and related printers has been fixed.
2) Output quality has been improved for certain Canon printers, in
particular the PIXMA iP4500 and related printers.
3) A new dither algorithm, Ordered New, has been added. This
dither algorithm is most likely to improve output at low
resolutions, particularly when printing black and white. It
will only help on printers offering multiple drop sizes.
4) Various new controls and settings have been added to assist in
printer calibration. While the tools for using these controls
are not yet created, these tools will assist in calibrating
printers in the future.
- The Epson driver now offers additional controls for adjusting
the relationship between light and dark ink:
+ The Value parameters (such as Light Cyan Value) specify the
relative darkness of the light vs. dark inks.
+ The Cutoff parameters now specify the point at which the
darker ink is first used, relative to the value of the light
ink.
+ The Scale parameters now specify the amount of light ink
used (essentially the density of the light ink). This is
the same as the parameters previously called Cutoff.
- The Epson driver now exposes as defaults the actual GCR
settings used for the printer, paper, and ink combination in
use.
- The Epson driver now allows passing low level settings such as
printer base resolution, ink drop size selection, and relative
ink drop size as parameters. The ink drop size can be
accessed in the GIMP plugin, while the base resolution and ink
drop size selection can only be used via the test pattern
generator or other application that allows setting integer
parameters.
- Two new dither algorithms, Segmented and Segmented New, have
been added. These are not intended for normal use, and will
normally behave like Ordered and Ordered New. However, if Raw
color correction is selected and a printer with multiple drop
sizes is used, the range of input will be divided up such that
the high order bits will select the drop size to be used and
the lower bits will specify the amount of ink. High order
bits of 0 indicate that all drop sizes should be used.
For example, if a printer offers 3 drop sizes (2 bits), the
range of 0-16383 will print all drop sizes normally (with the
range of 0-16383 being scaled to 0-65535), 16384-32767 will
use the small drop size, and so forth.
This is intended to assist in tuning ink drop sizes and is not
normally useful otherwise.
- A new parameter allowing dumping out of color correction state
(lookup tables, GCR data, curves, etc.) has been added, and is
accessible in the GIMP plugin. At present, this data cannot
be used directly, but it is intended that in the future this
mechanism be used to allow calibration information to be saved
and restored.
G) ARCHITECTURAL CHANGES
1) The Epson driver has been significantly rewritten to use data
stored in external files external to the binary library. This
allows making improvements, adding new features, and adding new
printers without recompiling the source code.
2) Test coverage has been increased.
H) NEW PRINTERS SUPPORTED SINCE GUTENPRINT 5.0.0
1) Epson inkjet printers:
B-300
B-308
B-500DN
B-508DN
E 150
E 300
E 500
E 520
E 700
E 720
ME Office 70
ME Office 700FW
ME Office 80W
Offirio PX-B300
Offirio PX-B500
PM 670C
PM A820
PM D870
PM G4500
PM G850
PX 101
PX 201
PX 601F
PX V780
PictureMate 100
PictureMate 2005
PictureMate 210
PictureMate 215
PictureMate 240
PictureMate 250
PictureMate 260
PictureMate 270
PictureMate 280
PictureMate 290
PictureMate 500
PictureMate Dash
PictureMate Flash
PictureMate Pal
PictureMate Snap
Stylus C110
Stylus C120
Stylus C79+
Stylus C87+
Stylus CX4400
Stylus CX4900
Stylus CX5000
Stylus CX5000F
Stylus CX5500
Stylus CX5600
Stylus CX6000
Stylus CX7000F
Stylus CX7400
Stylus CX9300F
Stylus CX9400
Stylus CX9400F
Stylus CX9475F
Stylus D120
Stylus D92
Stylus DX4050
Stylus DX4400
Stylus DX4450
Stylus DX7000F
Stylus DX7400
Stylus DX7450
Stylus DX8400
Stylus DX8450
Stylus DX9400F
Stylus NX200
Stylus NX400
Stylus Office B30
Stylus Office B33
Stylus Office B40W
Stylus Office BX300F
Stylus Office BX600FW
Stylus Office SX600FW
Stylus Office T30
Stylus Office T33
Stylus Office T40W
Stylus Office TX300F
Stylus Office TX600FW
Stylus Photo 1400
Stylus Photo 1410
Stylus Photo R230
Stylus Photo R240
Stylus Photo R245
Stylus Photo R260
Stylus Photo R265
Stylus Photo R270
Stylus Photo R280
Stylus Photo R285
Stylus Photo R290
Stylus Photo R350
Stylus Photo R360
Stylus Photo R380
Stylus Photo R390
Stylus Photo R1900
Stylus Photo RX560
Stylus Photo RX580
Stylus Photo RX585
Stylus Photo RX590
Stylus Photo RX595
Stylus Photo RX610
Stylus Photo RX640
Stylus Photo RX680
Stylus Photo RX685
Stylus Photo RX690
Stylus SX200
Stylus SX205
Stylus SX400
Stylus SX405
Stylus TX200
Stylus TX400
WorkForce 30
WorkForce 40
WorkForce 500
WorkForce 600
Artisan 700 (experimental)
Artisan 800 (experimental)
Stylus NX100 (experimental)
Stylus NX300 (experimental)
Stylus PX700FW (experimental)
Stylus PX800FW (experimental)
Stylus Photo TX700W (experimental)
Stylus Photo TX800W (experimental)
Stylus Pro 7800 (experimental)
Stylus Pro 7880 (experimental)
Stylus Pro 9800 (experimental)
Stylus Pro 9880 (experimental)
Stylus Pro 11880 (experimental)
Stylus S20 (experimental)
Stylus SX100 (experimental)
Stylus SX105 (experimental)
Stylus T20 (experimental)
Stylus TX100 (experimental)
2) Canon inkjet printers:
BJC5100
BJC5500
BJC8500
PIXMA MP150
PIXMA MP170
PIXMA MP180
PIXMA MP500
PIXMA MP520
PIXMA MP610
PIXMA MP700
PIXMA MP710
PIXMA MP730
PIXMA MP740
PIXMA MP750
PIXMA MP760
PIXMA MP770
PIXMA MP780
PIXMA MP790
PIXMA MP830
PIXMA Pro 9500
PIXMA iP2000
PIXMA iP3000
PIXMA iP3100
PIXMA iP4100
PIXMA iP4200
PIXMA iP4300
PIXMA iP4500
PIXMA iP5000
PIXMA iP5200
PIXMA iP5300
PIXMA iP6000D
PIXMA iP6700
PIXMA iP8500
PIXMA iX5000
PIXUS iP3100
PIXUS iP4100
i560
i80
i850
i860
i865
3) Dye sublimation printers
Canon CP-10
Canon SELPHY ES1 (*)
Canon SELPHY ES2 (*)
Canon SELPHY ES20 (*)
Fujifilm FinePix NX-500
Kodak Easyshare Printer
Olympus P-S100
Shinko CHC S9045
Sony DPP-EX5
Sony UP-DR100
(*) Note that these printers may not work on all systems due to
communication requirements.
4) Lexmark inkjet and compatible printers:
Compaq IJ1200
Lexmark X73
5) Laser printers (black and white only):
Brother DCP-8045D
Brother HL-1430
Brother HL-1450
Brother HL-1470N
Brother HL-1650
Brother HL-1670N
Brother HL-1850
Brother HL-1870N
Brother HL-2060
Brother HL-2460
Brother HL-2460N
Brother HL-5030
Brother HL-5040
Brother HL-5050
Brother HL-5070N
Brother HL-5140
Brother HL-5150D
Brother HL-5170DN
Brother HL-7050
Brother HL-7050N
Epson EPL-N2050
Epson EPL-N2050+
Epson EPL-N2050PS
Epson EPL-N2050PS+
Epson EPL-N2120
Epson EPL-N2500
Epson EPL-N2500PS
Epson EPL-N2750
Epson EPL-N2750PS
Gestetner 10512
Gestetner 2212
Gestetner 2712
Gestetner 3212
Gestetner 3502
Gestetner 3532
Gestetner 4235g
Gestetner 4245g
Gestetner 4502
Gestetner 4532
Gestetner 6002
Gestetner 7502
Gestetner 9002
Gestetner DS645G
Gestetner DSm415
Gestetner DSm416
Gestetner DSm615
Gestetner DSm616
Gestetner DSm618
Gestetner DSm618d
Gestetner DSm620
Gestetner DSm620d
Gestetner DSm622
Gestetner DSm625
Gestetner DSm627
Gestetner DSm635
Gestetner DSm635G
Gestetner DSm645
Gestetner DSm651
Gestetner DSm660
Gestetner DSm675
Gestetner DSm7110
Gestetner DSm7135
Gestetner DSm716
Gestetner DSm721d
Gestetner DSm725
Gestetner DSm725e
Gestetner DSm730
Gestetner DSm730e
Gestetner DSm735
Gestetner DSm735G
Gestetner DSm735e
Gestetner DSm745
Gestetner DSm745G
Gestetner DSm745e
Gestetner DSm755
Gestetner DSm765
Gestetner DSm775
Gestetner DSm790
Gestetner MP 161
Gestetner MP 1100
Gestetner MP 1350
Gestetner MP 1600
Gestetner MP 2000
Gestetner MP 2500
Gestetner MP 2510
Gestetner MP 2550
Gestetner MP 2550B
Gestetner MP 3010
Gestetner MP 3350
Gestetner MP 3350B
Gestetner MP 3500
Gestetner MP 4000
Gestetner MP 4000B
Gestetner MP 4500
Gestetner MP 5000
Gestetner MP 5000B
Gestetner MP 5500
Gestetner MP 6500
Gestetner MP 7500
Gestetner MP 9000
HP LaserJet 1022
HP LaserJet 1160
HP LaserJet 1320
HP LaserJet 2410
HP LaserJet 2420
HP LaserJet 2430
HP LaserJet 3015
HP LaserJet 3020
HP LaserJet 3030
HP LaserJet 3050
HP LaserJet 3052
HP LaserJet 3055
HP LaserJet 3380
HP LaserJet 3390
HP LaserJet 3392
HP LaserJet 4240
HP LaserJet 4250
HP LaserJet 4345 mfp
HP LaserJet 4350
HP LaserJet 5200
HP LaserJet 5200L
HP LaserJet 9040
HP LaserJet 9040 MFP
HP LaserJet 9050
HP LaserJet 9050 MFP
HP LaserJet M3027 MFP
HP LaserJet M3035 MFP
HP LaserJet M4345 MFP
HP LaserJet M5025 MFP
HP LaserJet M5035 MFP
HP LaserJet P2010
HP LaserJet P2015
HP LaserJet P3004
HP LaserJet P3005
Infotec 4353 MF
Infotec 4452 MF
Infotec IS 2015
Infotec IS 2018
Infotec IS 2018D
Infotec IS 2022
Infotec IS 2027
Infotec IS 2032
Infotec IS 2035
Infotec IS 2045
Infotec IS 2060
Infotec IS 2075
Infotec IS 2090
Infotec IS 2105
Infotec IS 2122
Infotec IS 2127
Infotec IS 2132
Infotec IS 2135
Infotec IS 2145
Infotec IS 2151
Infotec IS 2160
Infotec IS 2175
Infotec IS 2215
Infotec IS 2216
Infotec IS 2220
Infotec IS 2220D
Infotec IS 2225
Infotec IS 2230
Infotec IS 2235
Infotec IS 2245
Infotec IS 2255
Infotec IS 2265
Infotec IS 2275
Infotec IS 2316
Infotec IS 2320
Infotec IS 2325
Infotec IS 2416
Infotec IS 2425
Infotec IS 2430
Infotec IS 2435
Infotec IS 2445
Infotec IS 3090
Infotec IS 3110
Infotec IS 3135
Infotec MP 2550
Infotec MP 2550B
Infotec MP 3350
Infotec MP 3350B
Infotec MP 4000
Infotec MP 4000B
Infotec MP 5000
Infotec MP 5000B
Lanier 5622
Lanier 5627
Lanier 5632
Lanier 5635
Lanier 5645
Lanier LD015
Lanier LD016
Lanier LD035
Lanier LD040
Lanier LD040B
Lanier LD045
Lanier LD050
Lanier LD050B
Lanier LD060
Lanier LD075
Lanier LD090
Lanier LD115
Lanier LD116
Lanier LD118
Lanier LD118d
Lanier LD120
Lanier LD120d
Lanier LD122
Lanier LD125
Lanier LD127
Lanier LD132
Lanier LD135
Lanier LD145
Lanier LD151
Lanier LD160
Lanier LD175
Lanier LD190
Lanier LD225
Lanier LD230
Lanier LD235
Lanier LD245
Lanier LD255
Lanier LD265
Lanier LD275
Lanier LD316
Lanier LD320d
Lanier LD325
Lanier LD330
Lanier LD335
Lanier LD345
Lanier LD425
Lanier LD425B
Lanier LD433
Lanier LD433B
Lanier LD0105
Lanier LD1100
Lanier LD1135
Lanier MP 161
Lanier MP 1100
Lanier MP 1350
Lanier MP 1600
Lanier MP 2000
Lanier MP 2500
Lanier MP 2510
Lanier MP 2550
Lanier MP 2550B
Lanier MP 3010
Lanier MP 3350
Lanier MP 3350B
Lanier MP 3500
Lanier MP 4000
Lanier MP 4000B
Lanier MP 4500
Lanier MP 5000
Lanier MP 5000B
Lanier MP 5500
Lanier MP 6500
Lanier MP 7500
Lanier MP 9000
Lexmark Optra E220
Lexmark Optra E321
NRG 2205
NRG 2212
NRG 2238
NRG 2705
NRG 2712
NRG 2738
NRG 3205
NRG 3212
NRG 3238
NRG 3502
NRG 3508
NRG 3518
NRG 3525
NRG 3532
NRG 3545
NRG 4502
NRG 4508
NRG 4518
NRG 4525
NRG 4532
NRG 4545
NRG 6002
NRG 6005
NRG 6008
NRG 7502
NRG 7505
NRG 7508
NRG 9002
NRG 9005
NRG 9008
NRG 10512
NRG 10515
NRG 10518
NRG DSm415
NRG DSm615
NRG DSm616
NRG DSm618
NRG DSm618d
NRG DSm620
NRG DSm620d
NRG DSm622
NRG DSm627
NRG DSm632
NRG DSm635
NRG DSm645
NRG DSm651
NRG DSm660
NRG DSm675
NRG DSm725
NRG DSm730
NRG DSm735
NRG DSm745
NRG MP 161
NRG MP 1100
NRG MP 1350
NRG MP 1600
NRG MP 2000
NRG MP 2500
NRG MP 2510
NRG MP 2550
NRG MP 2550B
NRG MP 3010
NRG MP 3350
NRG MP 3350B
NRG MP 3500
NRG MP 4000
NRG MP 4000B
NRG MP 4500
NRG MP 5000
NRG MP 5000B
NRG MP 5500
NRG MP 6500
NRG MP 7500
NRG MP 9000
Ricoh Aficio 220
Ricoh Aficio 1022
Ricoh Aficio 1027
Ricoh Aficio 1032
Ricoh Aficio 1035
Ricoh Aficio 1045
Ricoh Aficio 1060
Ricoh Aficio 1075
Ricoh Aficio 1515
Ricoh Aficio 2015
Ricoh Aficio 2016
Ricoh Aficio 2018
Ricoh Aficio 2018D
Ricoh Aficio 2020
Ricoh Aficio 2020D
Ricoh Aficio 2022
Ricoh Aficio 2027
Ricoh Aficio 2032
Ricoh Aficio 2035
Ricoh Aficio 2035e
Ricoh Aficio 2045
Ricoh Aficio 2045e
Ricoh Aficio 2051
Ricoh Aficio 2060
Ricoh Aficio 2075
Ricoh Aficio 2090
Ricoh Aficio 2105
Ricoh Aficio 3025
Ricoh Aficio 3030
Ricoh Aficio 3035
Ricoh Aficio 3045
Ricoh Aficio MP 161
Ricoh Aficio MP 1100
Ricoh Aficio MP 1350
Ricoh Aficio MP 1600
Ricoh Aficio MP 2000
Ricoh Aficio MP 2500
Ricoh Aficio MP 2510
Ricoh Aficio MP 2550
Ricoh Aficio MP 2550B
Ricoh Aficio MP 3010
Ricoh Aficio MP 3350
Ricoh Aficio MP 3350B
Ricoh Aficio MP 3500
Ricoh Aficio MP 4000
Ricoh Aficio MP 4000B
Ricoh Aficio MP 4500
Ricoh Aficio MP 5000
Ricoh Aficio MP 5000B
Ricoh Aficio MP 5500
Ricoh Aficio MP 6500
Ricoh Aficio MP 7500
Ricoh Aficio MP 9000
Samsung ML-1250
Samsung ML-1450
Samsung ML-1450PS
Samsung ML-1650
Samsung ML-1651N
Samsung ML-1750
Samsung ML-2150
Samsung ML-2150PS
Samsung ML-2151N
Samsung ML-2151NPS
Samsung ML-2152W
Samsung ML-2152WPS
Samsung ML-2250
Samsung ML-2550
Samsung ML-2551N
Samsung ML-2552W
Samsung ML-7300
Samsung ML-7300N
Savin 2235
Savin 2245
Savin 2522
Savin 2527
Savin 2532
Savin 2535
Savin 2545
Savin 2560
Savin 2575
Savin 3515
Savin 40105
Savin 4015
Savin 4018
Savin 4018d
Savin 4022
Savin 4027
Savin 4035
Savin 4035e
Savin 4045
Savin 4045e
Savin 4051
Savin 4060
Savin 4075
Savin 4090
Savin 4135eG
Savin 4135g
Savin 4145eG
Savin 4145g
Savin 7025
Savin 8016
Savin 8020
Savin 8020d
Savin 8025
Savin 8025e
Savin 8030
Savin 8030e
Savin 8035
Savin 8035e
Savin 8035g
Savin 8045
Savin 8045e
Savin 8045g
Savin 8055
Savin 8065
Savin 8075
Savin 8090
Savin 8110
Savin 8135
Savin 816
Savin 9016
Savin 9021d
Savin 9025
Savin 9025b
Savin 9033
Savin 9033b
Savin 9040
Savin 9040b
Savin 9050
Savin 9050b
Sharp AR-M257
Xerox WorkCentre M118
================================================================
V) EXCEPTIONS AND WORKAROUNDS
A) GENERAL ISSUES
1) The Canon, Hewlett-Packard, Lexmark, and dye sublimation drivers
do not offer all of the additional options and improvements that
the Epson driver does. Please contact us if you would like to
assist with making these options available (requires C
programming skills).
----------------
B) BUILD/INSTALLATION ISSUES
1) With certain versions of CUPS and in certain non-default
configurations, if a new version of Gutenprint is installed over
an existing version genppd will create PPD files based on the
older version of Gutenprint rather than the newer version. This
will happen if all of the following are true:
i) The cups-config provided by the CUPS driver adds
-Wl,rpath=/usr/lib. This is done by some versions of CUPS
reportedly because in some cases the runtime linker does not
pick up libraries out of /usr/lib. This can be checked by
running
cups-config --libs --ldflags
and inspecting the output for any mention of "rpath", "RPATH",
"RUN_PATH", or the like. This is controlled by the CUPS
installation on your system.
ii) There is presently a version of Gutenprint installed in /usr
(--prefix=/usr) rather than /usr/local or the like. The
default location of Gutenprint installation is in /usr/local,
but system vendors typically install Gutenprint in /usr.
iii) Gutenprint is built dynamically only (--disable-static or
--disable-static-genppd). This is not a default, and requires
the explicit --disable-static or --disable-static-genppd on
the Gutenprint "configure" command line. Therefore, if you
build Gutenprint normally you should not be vulnerable to this
problem.
Note that in general if you install CUPS into a non-standard
location, and install Gutenprint into the same location, this
problem can surface. For example, if you choose to install CUPS
in /usr/local and Gutenprint in /usr/local you are vulnerable to
this. However, it is not standard practice to install CUPS
anywhere but /usr.
In this case, the run path embedded in the genppd executable
points to the version of Gutenprint installed in /usr/lib. This
run path overrides any attempt by libtool to look in the build
directory. The result is that cups-genppd and rastertogutenprint
are run against the older version of Gutenprint. If the new
version contains additional features (more printers, changes to
printer options, etc.) they will not be available.
This bug is difficult to detect in a normal build. It normally
does not cause an error to happen during build unless there is an
API change from the version installed and the version being
built; the only failure is frequently that some PPD files may not
be built or may be built with missing options. Due to the PPD
version checking introduced in this release, the behavior might
manifest itself as a runtime error. It is also possible that
there will be no error at all other than the older version of
Gutenprint being used, with the result that new features and bug
fixes are not available.
If you wish to use only shared libraries, do not wish to build
static libraries at all, and are vulnerable to this issue
(because cups-config --ldflags sets the run path), there are
three workarounds available:
i) Build and install Gutenprint into /usr (rather than
/usr/local) and then rebuild Gutenprint from scratch. This
will install the correct libgutenprint.so in /usr/lib, and in
the rebuild genppd will be run against the correct library.
ii) Remove the old version of Gutenprint prior to building the
new version of Gutenprint. The important files to remove are
anything named /usr/lib/libgutenprint*.
iii) Edit cups-config to remove the reference to the run path.
2) There are multiple issues that one must be aware of when using
Foomatic with Gutenprint.
i) Before installing any new release of Gutenprint 5.2, you must
manually remove any existing Foomatic option files. This is
because the Foomatic utility to load data kits
(foomatic-kitload) does not remove obsolete data files from
the Foomatic database. If you do not do this, any PPD files
you generate will be incorrect and printing may work
incorrectly or not at all.
Foomatic option files are usually located in
/usr/local/share/foomatic/db/source/opt
or
/usr/share/foomatic/db/source/opt
Assuming they're in the former location, you must remove data
files associated with the Gutenprint driver. The command to do
this, which must be run as the superuser (root) is
cd /usr/local/share/foomatic/db/source/opt
ls -l gutenprint-ijs*.xml
If there are existing files present, you must remove them:
rm -f gutenprint-ijs*.xml
Now check to make sure that they are gone:
ls -l gutenprint-ijs*.xml
CAUTION: Be very careful when typing this command! Minor
errors in typing these commands may result in severe damage to
your system.
After this, you may run 'make install' in your Gutenprint
source directory to install the package. You will then need to
re-create any printer queues using Foomatic.
In general, you will have to perform this procedure any time
you install a new version of Gutenprint.
Please check the Foomatic site
(http://www.openprinting.org/foomatic.html) and the Gutenprint
site (http://gimp-print.sourceforge.net) for updated
instructions about this.
ii) Unlike with the CUPS native driver, there is no simple way to
update all PPD files when you install a new version of
Gutenprint. You must either use the foomatic-ppdfile command
to upgrade PPD files individually, or foomatic-compiledb to
build all PPD files. Your system may provide an alternate way
to install new PPD files, in which case you may use that
method.
iii) The Foomatic data is version locked to the Gutenprint release
installed on the system. For example, PPD files generated
with the Foomatic data for release 5.2.0 will not work with
the ijsgutenprint in release 5.2.1. This is to prevent
accidentally using incorrect data, which could cause incorrect
function to take place.
3) There is a known complication building "escputil" that causes
problems on a small number of systems. "escputil" uses the
"readline" package, to support command editing and history within
the program. Unfortunately, linking programs with "readline"
often requires linking against additional libraries, and the
exact library depends upon the system (e. g. not all Linux/UNIX
systems have the same requirements).
The configure script attempts to determine which additional
library must be linked against. It tries using the following
libraries in this order to build a test executable:
-lncurses
-lcurses
-ltermcap
no additional libraries
The reason it tries other libraries first is that some systems
will link successfully, but only fail when an attempt is made to
actually call readline. Therefore, we assume that additional
libraries are required. Since we try the extra libraries in
order from most recent to oldest, we expect that the first one we
find will be appropriate. For example, if the "ncurses" library
is the standard on a given system, the "termcap" library may be
provided for back compatibility, but it is unlikely that
"termcap" will be the standard with "curses" or "ncurses" being
provided for compatibility only (so that the link will succeed
but the command will use the incorrect library).
As this procedure is not failsafe, we provide the following
configure options to control this behavior:
./configure --with-readline=yes (the default; attempts to
determine the correct library
to link against)
./configure --with-readline=no (turns off use of readline
altogether)
./configure --with-readline=only (specifically instructs
configure to not attempt to
link against any other
libraries)
./configure --with-readline=libs (specifies the libraries to be
linked against)
A hypothetical (this won't work anywhere!) example of the latter
would be
./configure --with-readline='-lncurses -ltermcap'
Note that configure will not allow readline to be used if it
cannot successfully build the test program, regardless of the
option selected. If you are having difficulty getting escputil
to build, we suggest using --with-readline=no. The commands
used within escputil are very short and seldom require
significant editing.
|