Compiling A Driver into Ghostscript
I have been attempting to compile the pcl3 driver into my version of ghostscript.
I haven't been successful at it and was wondering if someone could give me a few pointers. If you can, I'll post (it'll be rather lengthy which is why I won't do it yet) what I have done so far. Stumped here, if someone can assist me. Thanks in advance. |
You probably should post at least the ending bit of the errors.
Have you tried to compile with --with-drivers=ALL ? Try that and see if it works. What other options are you sending to configure? |
Quote:
I was following the instructions that was in the README & INSTALL files that came with the pcl3 tarball. Namely, it said to edit a file called "unix-gcc.mak" which I did and and add the jpeg libraries to the gsX.XX directory as well as the pcl3 directory. I'm all screwed up on this. At first I tried compiling it into ghostscript 7.05, then I noticed that they were using gs7.00, so I tried with that, only thing is, that the older version doesn't come with autogen.sh, so ./configure won't work, and I can't generate a makefile. <.totally confused here> Thanks for any help. |
My bad... I didn't realise that you were patching the sources. Do you think you could give a link to the sources of the patch so I/we can check out the doc's?
Maybe you need to copy the edited "unix-gcc.make" file to the real Makefile? |
These are the directions I followed. I must be missing something because I've been over it a zillion times and everything looks right. I'll post my copy of the unix-gcc.mak file shortly.
Thanks! How to compile ghostscript with pcl3 ==================================== You need an ISO-C-conforming compiler and library in order to compile pcl3. The following description is heavily biased towards UNIX systems and in particular Linux. 1. Unpack the core distribution This is the file ghostscript-N.NN.tar or gnu-gs-N.NN.tar. Unpacking it will create a subdirectory "gsN.NN" in the current directory. In order to clearly identify directories I'm going to use the following expressions: - "gs directory": the directory gsN.NN you have just created - "documentation directory": In gs 5.50 this is identical to the gs directory, in newer versions it is the subdirectory "doc" in the gs directory. - "source directory": In gs 5.50 this is identical to the gs directory, in newer versions it is the subdirectory "src" in the gs directory. 2. Read Make.htm in the documentation directory on how to compile ghostscript. In particular, you should learn - which other files you need to unpack and how, and - what the platform-specific make file for your platform is. 3. Unpack the other files needed (except the font files) as directed by Make.htm. 4. Unpack pcl3, preferably in the gs directory. The file pcl3-<version>.tar unpacks into a subdirectory pcl3-<version> with only three files: README-cover pcl3.tar the distribution proper pcl3.tar.sig an OpenPGP signature for pcl3.tar Make the directory accessible under the name "pcl3" from the gs directory, either by renaming it or by creating an appropriate symbolic link. Then change into the pcl3 directory and unpack pcl3.tar from there. This should change into the pcl3 directory and unpack pcl3.tar from there. This should give you in addition the following regular files in that directory: BUGS pcl3's bug list LGPL text of the GNU LGPL NEWS list of user-visible changes between versions README this file Furthermore, a number of subdirectories will have been created: doc documentation eprn C source code for the eprn device on which pcl3 is based lib cups-pcl3, example.mcf, if-pcl3 ppd PostScript printer description files ps PostScript files src C source code and build files for pcl3 5. Extend contrib.mak in the source directory. The pcl3 distribution contains extension files "src/contrib.mak-N.NN.add" for this purpose, where "N.NN" is a ghostscript version (at least for all ghostscript distributions listed in "Files needed" above). These files contain text to be inserted into contrib.mak at some point, for example at give you in addition the following regular files in that directory: BUGS pcl3's bug list LGPL text of the GNU LGPL NEWS list of user-visible changes between versions README this file Furthermore, a number of subdirectories will have been created: doc documentation eprn C source code for the eprn device on which pcl3 is based lib cups-pcl3, example.mcf, if-pcl3 ppd PostScript printer description files ps PostScript files src C source code and build files for pcl3 5. Extend contrib.mak in the source directory. The pcl3 distribution contains extension files "src/contrib.mak-N.NN.add" for this purpose, where "N.NN" is a ghostscript version (at least for all ghostscript distributions listed in "Files needed" above). These files contain text to be inserted into contrib.mak at some point, for example at the end. An extension file might work for other gs versions in addition to the designated one The extension files contain an initial comment which gives you some further instructions (compile options, files shared with hpdj, available devices). 6. Add at least "$(DD)pcl3.dev" ("pcl3.dev" in gs 5.50) to one of the DEVICE_DEVS* variables in the platform-specific make file. The conventional place is DEVICE_DEVS3, DEVICE_DEVS4, or DEVICE_DEVS5. For a complete list of pcl3 devices you can define here, see the contrib.mak-N.NN.add file. You might also wish to modify the device and feature lists in other respects. On a Linux system, the file to edit is unix-gcc.mak. 7. Read the file doc/gs-mods.txt about modifications I suggest for making in ghostscript's source code or configuration files. 8. Other changes to the platform-specific make file For a UNIX system and if you wish to install the software in a non-default directory, edit the make variable "prefix" (normally /usr/local). This directory must exist before step 10. This directory must exist before step 10. If you intend to use the X Window System, check whether the values for the variables XINCLUDE, XLIBDIRS, and XLIBS are correct. On Linux, they should usually be "-I/usr/X11R6/include", "-L/usr/X11R6/lib", and "Xt SM ICE Xext X11", respectively. You can ignore XINCLUDE if one of the directories searched by the compiler anyway contains an appropriate "X11" subdirectory (e.g., there is a link from /usr/include/X11 to /usr/X11R6/include/X11). 9. On a UNIX system, check that the platform-specific make file (unix-gcc.mak for Linux) is available to make from the gs directory (or use "-f"). Then, in the gs directory, type "make" to generate the gs binary, and "make pcl3opts" to generate the pcl3opts binary. The latter step is likely to fail if you are not on an XPG-conforming UNIX system. 10. Install: "make install pcl3-install". If you are not on a UNIX system, you'll probably have to omit the "pcl3-install" part. Instead, copy pcl3's doc/*.html files and the compiled pcl3opts binary (provided it did compile) to appropriate places yourself. If "make pcl3-install" gives you a usage message from the "instcopy" If "make pcl3-install" gives you a usage message from the "instcopy" command you've forgotten "make pcl3opts" in step 9. The "make pcl3opts" call, if successful, has also generated two NLS message catalogues for pcl3opts in ghostscript's object file directory ("obj" in the gs directory): pcl3opts-en.cat (English) and pcl3opts-de.cat (German). These catalogues are not installed automatically. If you wish to use them, copy each file into an appropriate NLS directory under a name matching your NLSPATH conventions with "pcl3opts" for %N. (On Linux the default value for NLSPATH usually includes /usr/share/locale/%L/%N and /usr/share/locale/%L/LC_MESSAGES/%N.) You need the English catalogue only if you want pcl3opts to issue media sizes in inches instead of millimetres. Note that pcl3's PostScript example files (subdirectory "ps") are also not installed. If you find them useful, copy them to an appropriate place yourself. |
|
All times are GMT -5. The time now is 07:39 PM. |