ghostscript-9.05

git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@9344 af4574ff-66df-0310-9fd7-8a98e5e911e0
This commit is contained in:
Andrew Benton 2012-02-10 15:10:52 +00:00
parent 2dbb7a74f7
commit 6b58d592f8
3 changed files with 54 additions and 67 deletions

View File

@ -944,7 +944,7 @@ $Date$
<!-- Chapter 43 -->
<!ENTITY cups-version "1.5.0">
<!ENTITY LPRng-version "3.8.B">
<!ENTITY gs-version "9.04">
<!ENTITY gs-version "9.05">
<!ENTITY gutenprint-version "5.2.5">
<!-- Obsolete

View File

@ -62,6 +62,9 @@
<listitem>
<para>[ken] - merge startup-notification-0.12 from Wayne.</para>
</listitem>
<listitem>
<para>[abenton] - Ghostscript 9.05.</para>
</listitem>
</itemizedlist>
</listitem>

View File

@ -4,18 +4,14 @@
<!ENTITY % general-entities SYSTEM "../../general.ent">
%general-entities;
<!-- <!ENTITY gs-download-http "&sourceforge-repo;/ghostscript/ghostscript-&gs-version;.tar.bz2"> -->
<!-- FIXME use .bz2 or .xz when updating, if they are available -->
<!ENTITY gs-download-http "http://downloads.ghostscript.com/public/ghostscript-&gs-version;.tar.bz2">
<!-- no response 2010-12-18
<!ENTITY gs-download-ftp "ftp://mirror.cs.wisc.edu/pub/mirrors/ghost/GPL/gs900/ghostscript-&gs-version;.tar.gz"> -->
<!ENTITY gs-download-http
"http://downloads.ghostscript.com/public/ghostscript-&gs-version;.tar.bz2">
<!ENTITY gs-download-ftp " ">
<!ENTITY gs-md5sum "9f6899e821ab6d78ab2c856f10fa3023">
<!ENTITY gs-size "28.5 MB">
<!ENTITY gs-buildsize "297 MB (includes installing libgs.so and both font tarballs)">
<!ENTITY gs-md5sum "8bcef1f33ddf8a4d12b2cf8da385c191">
<!ENTITY gs-size "27 MB">
<!ENTITY gs-buildsize "252 MB (includes installing libgs.so and both font tarballs)">
<!ENTITY gs-time "2.5 SBU (includes building and installing libgs.so)">
<!-- <!ENTITY gs-standard-fonts-download "ftp://ftp.imagemagick.org/pub/ImageMagick/delegates/ghostscript-fonts-std-8.11.tar.gz"> -->
<!ENTITY gs-standard-fonts-download "&sourceforge-repo;/gs-fonts/ghostscript-fonts-std-8.11.tar.gz">
<!ENTITY gs-standard-fonts-md5sum "6865682b095f8c4500c54b285ff05ef6">
<!ENTITY gs-standard-fonts-size "3.7 MB">
@ -72,7 +68,7 @@
<bridgehead renderas="sect3">Additional Downloads</bridgehead>
<itemizedlist spacing='compact'>
<itemizedlist spacing="compact">
<title>Standard Fonts</title>
<listitem>
<para>Download (FTP): <ulink url="&gs-standard-fonts-download;"/></para>
@ -85,7 +81,7 @@
</listitem>
</itemizedlist>
<itemizedlist spacing='compact'>
<itemizedlist spacing="compact">
<title>Other Fonts</title>
<listitem>
<para>Download (HTTP): <ulink url="&gs-other-fonts-download;"/></para>
@ -103,23 +99,21 @@
<bridgehead renderas="sect4">Recommended</bridgehead>
<para role="optional"><xref linkend="expat"/>,
<xref linkend="freetype2"/>,
<xref linkend="jasper"/>
<xref linkend="libjpeg"/>,
<xref linkend="libpng"/>,
<xref linkend="libtiff"/>, and
<xref linkend="lcms"/></para>
<xref linkend="lcms2"/>.</para>
<bridgehead renderas="sect4">Optional</bridgehead>
<para role="optional">
<xref linkend="cairo"/>,
<para role="optional"><xref linkend="cairo"/>,
<xref linkend="fontconfig"/>,
<xref linkend="gtk2"/>,
<xref linkend="cups"/>,
<xref linkend="jasper"/>,
<xref linkend="lcms"/>,
<xref linkend="libidn"/>,
<xref linkend="x-window-system"/>, and
<!-- the link for ijs source ultimately takes users back to the ghostscript site
<ulink url="http://www.linuxprinting.org/ijs/">IJS</ulink>, and -->
<ulink url="http://packages.debian.org/unstable/source/libpaper">libpaper</ulink>.</para>
<xref linkend="x-window-system"/>, and <ulink
url="http://packages.debian.org/unstable/source/libpaper">libpaper</ulink>.</para>
<para condition="html" role="usernotes">User Notes:
<ulink url="&blfs-wiki;/gs"/></para>
@ -148,39 +142,33 @@
<para>If you have installed these dependencies on your system, remove the
copies of <application>expat</application>,
<application>freetype</application>, <application>JasPer</application>,
<application>lcms</application>, <application>libjpeg</application>,
<application>libpng</application>, <application>libtiff</application>
and <application>zlib</application>:
<application>freetype</application>, <application>lcms2</application>,
<application>libjpeg</application>, <application>libpng</application>,
and <application>libtiff</application>:
</para>
<screen><userinput>rm -rf expat freetype jasper lcms jpeg libpng tiff zlib</userinput></screen>
<screen><userinput>rm -rf expat freetype jpeg lcms2 libpng tiff</userinput></screen>
<para>Run the configure command:</para>
<note>
<para>If you have a multicore computer and try to run make with multiple
jobs (eg, make -j4) then the build may fail due to race conditions in the
<application>Ghostscript</application> build system.</para>
</note>
<screen><userinput>./configure --prefix=/usr --enable-dynamic --with-system-libtiff</userinput></screen>
<para>Compile <application>Ghostscript</application>:</para>
<para>To ensure the build is able to use the system versions of
<application>expat</application>, <application>freetype</application>, and
<application>zlib</application> it is necessary to make some changes and an
addition to the <literal>Makefile</literal> before building the package:</para>
<screen><userinput>sed -i '/^EXTRALIBS/s# -ldl# -lfreetype -lz#;/=imdi/aSHARE_EXPAT=1' Makefile &amp;&amp;
<screen><userinput>rm -rf jasper lcms zlib &amp;&amp;
./configure --prefix=/usr --enable-dynamic --with-system-libtiff &amp;&amp;
sed -i '/^EXTRALIBS/s# -ldl# -lz#' Makefile &amp;&amp;
make</userinput></screen>
<warning>
<para>If you have a multiprocessor computer and try to run make with
multiple jobs (eg, -j4) then the build may fail due to race conditions in
the <application>Ghostscript</application> build system.</para>
</warning>
<note>
<para>The shared library depends on <xref linkend="gtk2"/>. It is
only used in external programs like <xref linkend="imagemagick"/>.</para>
</note>
<para>To compile the shared library
<filename class='libraryfile'>libgs.so</filename>, run the
<filename class="libraryfile">libgs.so</filename>, run the
following additional command as an unprivileged user:</para>
<screen><userinput>make so</userinput></screen>
@ -189,7 +177,7 @@ make</userinput></screen>
the operation of the newly built <command>gs</command> program by
issuing the following command (issue from an X Windows terminal):</para>
<screen><userinput>bin/gs -Ilib -dBATCH examples/tiger.eps</userinput></screen>
<screen><userinput>bin/gs -Ilib -dBATCH examples/tiger.eps</userinput></screen>
<para>Now, as the <systemitem class="username">root</systemitem>
user:</para>
@ -204,8 +192,7 @@ ln -v -s ghostscript /usr/include/ps</userinput></screen>
<para>Now install the documentation:</para>
<screen role="root"><userinput>cp -rf doc /usr/share/ghostscript/&gs-version; &amp;&amp;
ln -sv ../ghostscript/&gs-version;/doc /usr/share/doc/ghostscript-&gs-version;</userinput></screen>
<screen role="root"><userinput>ln -sfv ../ghostscript/&gs-version;/doc /usr/share/doc/ghostscript-&gs-version;</userinput></screen>
<para>To finish the installation, unpack all fonts you've downloaded to
<filename class="directory">/usr/share/ghostscript</filename> and ensure
@ -216,30 +203,27 @@ ln -sv ../ghostscript/&gs-version;/doc /usr/share/doc/ghostscript-&gs-version;</
the command below for the fonts you wish to install:</para>
<screen role="root"><userinput>tar -xvf ../<replaceable>&lt;font-tarball&gt;</replaceable> -C /usr/share/ghostscript --no-same-owner</userinput></screen>
</sect2>
<sect2 role="commands">
<title>Command Explanations</title>
<!-- works fine on 32 bit systems for me - Andrew Benton
<para><command>with-drivers=ALL,x11</command>: This parameter adds the
<literal>x11</literal> output device to the default (<literal>ALL</literal>)
selection so that the test to render the tiger will work on 32-bit systems
(this does no harm on the <literal>x86_64</literal> architecture, although
it is not required there).</para> -->
<para><command>rm -rf jasper lcms zlib</command>: The
<application>Ghostscript</application> build system defaults to using its
own version of <ulink url="http://www.openjpeg.org/">OpenJpeg</ulink> for
JPEG 2000 files <!-- I can't get it to compile using a system installed
version of openjpeg. I'll come back to this, it seems the ghostscript
version is quite old --> so we can all remove the jasper source. The
default color management system is now <application>lcms2</application> so
the <application>lcms</application> source is not needed.
<application>Zlib</application> was installed as part of LFS.</para>
<!-- The build fails for me with this option with ghostscript-9.04 and
zlib-1.2.5 - Andrew Benton
<para><command>disable-compile-inits</command>: This parameter is intended
to avoid compiling initialization files into the executables. It is used
here to simplify building against the system version of
<application>zlib</application>.</para> -->
<para><option>--with-system-libtiff</option>: Remove this option if you've
not installed <xref linkend="libtiff"/>.</para>
<para><option>--without-jasper</option>: If you know you do not wish to
print any <literal>JPEG2000</literal> files, this switch (and removing the
<filename class="directory">jasper</filename> folder in the source) will
disable JPEG2000 support in <application>Ghostscript</application>.</para>
<para><command>sed -i '/^EXTRALIBS/s# -ldl# -lz#' Makefile</command>:
This sed is needed to get it to link against the system installed
<application>zlib</application>.</para>
<para><option>--without-jbig2dec</option>: The <literal>JBIG2</literal>
decompression code (used for some faxes) can be disabled by using this
@ -251,13 +235,13 @@ ln -sv ../ghostscript/&gs-version;/doc /usr/share/doc/ghostscript-&gs-version;</
<application>Ghostscript</application> interface headers in place to link
to the shared library. These commands install the headers.</para>
<para><command>ln -sv ../ghostscript-&gs-version;/doc ...</command>:
This puts a symbolic link to the documentation where it is expected to be
found.</para>
<para><command>ln -v -s ghostscript /usr/include/ps</command>: Some packages
expect to find the interface headers in an alternate location.</para>
<para><command>ln -sfv ../ghostscript-&gs-version;/doc ...</command>:
This puts a symbolic link to the documentation where it is expected to be
found.</para>
</sect2>
<sect2 role="content">
@ -274,10 +258,10 @@ ln -sv ../ghostscript/&gs-version;/doc /usr/share/doc/ghostscript-&gs-version;</
pf2afm, pfbtopfa, printafm, ps2ascii, ps2epsi, ps2pdf, ps2pdf12,
ps2pdf13, ps2pdf14, ps2pdfwr, ps2ps, ps2ps2, pv.sh, unix-lpr.sh, and
wftopfa</seg>
<seg>libgs.so </seg>
<seg>libgs.so</seg>
<seg>/usr/include/ghostscript, /usr/lib/ghostscript,
/usr/share/ghostscript,
and /usr/share/doc/ghostscript-&gs-version;</seg>
/usr/share/ghostscript, and
/usr/share/doc/ghostscript-&gs-version;</seg>
</seglistitem>
</segmentedlist>