ghostscript: add patches to make it run cross compile platform
cover ghostscript: add patches to make it run cross compile platform
From: Kang Kai <[email protected]>
Hi Saul,
When test lsb on ppc find that gs can't run. The root cause is gs determines some target configuration on build system. According to the document of ghostscript,
http://pages.cs.wisc.edu/~ghost/doc/cvs/Make.htm#Cross-compiling
when cross compile ghostscript need some manual work.
So import patches from WindRiver Linux to make sure ghostscript can be cross compiled.
The following changes since commit 7706d5d844db2725f4118207d90e302679eacdfe:
linux-yocto/meta-yocto: fix gcc 4.6.0 compilation failures (2011-05-19 17:33:50 -0700)
are available in the git repository at:
git://git.pokylinux.org/poky-contrib.git kangkai/distro
http://git.pokylinux.org/cgit.cgi//log/?h=kangkai/distro
Kang Kai (1):
ghostscript: fix run failure on mpc8315e
.../ghostscript-8.64-mips64n32-build.patch | 113 +++++++++++++++++++ .../ghostscript/ghostscript-8.64-ppc32-build.patch | 113 +++++++++++++++++++ .../ghostscript/ghostscript-8.64-x86-build.patch | 115 ++++++++++++++++++++ .../ghostscript-8.64-x86_64-build.patch | 113 +++++++++++++++++++ .../ghostscript/ghostscript-9.02-arm-build.patch | 109 +++++++++++++++++++ .../ghostscript/ghostscript_9.02.bb | 17 +++- 6 files changed, 577 insertions(+), 3 deletions(-) create mode 100644 meta/recipes-extended/ghostscript/ghostscript/ghostscript-8.64-mips64n32-build.patch create mode 100644 meta/recipes-extended/ghostscript/ghostscript/ghostscript-8.64-ppc32-build.patch create mode 100644 meta/recipes-extended/ghostscript/ghostscript/ghostscript-8.64-x86-build.patch create mode 100644 meta/recipes-extended/ghostscript/ghostscript/ghostscript-8.64-x86_64-build.patch create mode 100644 meta/recipes-extended/ghostscript/ghostscript/ghostscript-9.02-arm-build.patch
Signature · 1 line
1.7.5.1.300.gc565c
PATCH 1/1 ghostscript: fix run failure on mpc8315e
From: Kang Kai <[email protected]>
When run gs on mpc8315, it fails with:
GPL Ghostscript 9.02: ./psi/interp.c(291): Fatal error -20 in gs_interp_init! It is caused by cross compile.
Accoding to the ghostscript document on:
http://pages.cs.wisc.edu/~ghost/doc/cvs/Make.htm#Cross-compiling
it needs some manual work, so import patches from WindRiver Linux.
--- .../ghostscript-8.64-mips64n32-build.patch | 113 +++++++++++++++++++ .../ghostscript/ghostscript-8.64-ppc32-build.patch | 113 +++++++++++++++++++ .../ghostscript/ghostscript-8.64-x86-build.patch | 115 ++++++++++++++++++++ .../ghostscript-8.64-x86_64-build.patch | 113 +++++++++++++++++++ .../ghostscript/ghostscript-9.02-arm-build.patch | 109 +++++++++++++++++++ .../ghostscript/ghostscript_9.02.bb | 17 +++- 6 files changed, 577 insertions(+), 3 deletions(-) create mode 100644 meta/recipes-extended/ghostscript/ghostscript/ghostscript-8.64-mips64n32-build.patch create mode 100644 meta/recipes-extended/ghostscript/ghostscript/ghostscript-8.64-ppc32-build.patch create mode 100644 meta/recipes-extended/ghostscript/ghostscript/ghostscript-8.64-x86-build.patch create mode 100644 meta/recipes-extended/ghostscript/ghostscript/ghostscript-8.64-x86_64-build.patch create mode 100644 meta/recipes-extended/ghostscript/ghostscript/ghostscript-9.02-arm-build.patch
meta/recipes-extended/ghostscript/ghostscript/ghostscript-8.64-mips64n32-build.patch new file +113 -0
@@ -0,0 +1,113 @@ +import patch from windriver linux to cross compile on mips + +Upstream-status: Pending + +Signed-off-by: Kang Kai <[email protected]> + +# Author: Chi Xu <[email protected]> +# Date: Feb 26 2010 +# Summary: Generate arch.h for mips64n32 and mips64 +# + +diff -Nru ghostscript-8.64.orig/base/lib.mak ghostscript-8.64/base/lib.mak +--- ghostscript-8.64.orig/base/lib.mak 2010-02-10 10:30:02.000000000 +0800 ++++ ghostscript-8.64/base/lib.mak 2010-02-24 09:31:04.000000000 +0800 +@@ -50,8 +50,8 @@ + stdpre_h=$(GLSRC)stdpre.h $(stdpn_h) + stdint__h=$(GLSRC)stdint_.h $(std_h) + +-$(GLGEN)arch.h : $(GENARCH_XE) +- $(EXP)$(GENARCH_XE) $(GLGEN)arch.h ++##$(GLGEN)arch.h : $(GENARCH_XE) ++## $(EXP)$(GENARCH_XE) $(GLGEN)arch.h + + # Platform interfaces + +diff -Nru ghostscript-8.64.orig/obj/arch.h ghostscript-8.64/obj/arch.h +--- ghostscript-8.64.orig/obj/arch.h 1970-01-01 08:00:00.000000000 +0800 ++++ ghostscript-8.64/obj/arch.h 2010-02-24 09:30:25.000000000 +0800 +@@ -0,0 +1,40 @@ ++/* Parameters derived from machine and compiler architecture. */ ++/* This file is generated mechanically by genarch.c. */ ++ ++ /* ---------------- Scalar alignments ---------------- */ ++ ++#define ARCH_ALIGN_SHORT_MOD 2 ++#define ARCH_ALIGN_INT_MOD 4 ++#define ARCH_ALIGN_LONG_MOD 4 ++#define ARCH_ALIGN_PTR_MOD 4 ++#define ARCH_ALIGN_FLOAT_MOD 4 ++#define ARCH_ALIGN_DOUBLE_MOD 8 ++ ++ /* ---------------- Scalar sizes ---------------- */ ++ ++#define ARCH_LOG2_SIZEOF_CHAR 0 ++#define ARCH_LOG2_SIZEOF_SHORT 1 ++#define ARCH_LOG2_SIZEOF_INT 2 ++#define ARCH_LOG2_SIZEOF_LONG 2 ++#define ARCH_LOG2_SIZEOF_LONG_LONG 3 ++#define ARCH_SIZEOF_GX_COLOR_INDEX 8 ++#define ARCH_SIZEOF_PTR 4 ++#define ARCH_SIZEOF_FLOAT 4 ++#define ARCH_SIZEOF_DOUBLE 8 ++#define ARCH_FLOAT_MANTISSA_BITS 24 ++#define ARCH_DOUBLE_MANTISSA_BITS 53 ++ ++ /* ---------------- Unsigned max values ---------------- */ ++ ++#define ARCH_MAX_UCHAR ((unsigned char)0xff + (unsigned char)0) ++#define ARCH_MAX_USHORT ((unsigned short)0xffff + (unsigned short)0) ++#define ARCH_MAX_UINT ((unsigned int)~0 + (unsigned int)0) ++#define ARCH_MAX_ULONG ((unsigned long)~0L + (unsigned long)0) ++ ++ /* ---------------- Miscellaneous ---------------- */ ++ ++#define ARCH_IS_BIG_ENDIAN 1 ++#define ARCH_PTRS_ARE_SIGNED 0 ++#define ARCH_FLOATS_ARE_IEEE 1 ++#define ARCH_ARITH_RSHIFT 2 ++#define ARCH_DIV_NEG_POS_TRUNCATES 1 +diff -Nru ghostscript-8.64.orig/soobj/arch.h ghostscript-8.64/soobj/arch.h +--- ghostscript-8.64.orig/soobj/arch.h 1970-01-01 08:00:00.000000000 +0800 ++++ ghostscript-8.64/soobj/arch.h 2010-02-24 09:30:32.000000000 +0800 +@@ -0,0 +1,40 @@ ++/* Parameters derived from machine and compiler architecture. */ ++/* This file is generated mechanically by genarch.c. */ ++ ++ /* ---------------- Scalar alignments ---------------- */ ++ ++#define ARCH_ALIGN_SHORT_MOD 2 ++#define ARCH_ALIGN_INT_MOD 4 ++#define ARCH_ALIGN_LONG_MOD 4 ++#define ARCH_ALIGN_PTR_MOD 4 ++#define ARCH_ALIGN_FLOAT_MOD 4 ++#define ARCH_ALIGN_DOUBLE_MOD 8 ++ ++ /* ---------------- Scalar sizes ---------------- */ ++ ++#define ARCH_LOG2_SIZEOF_CHAR 0 ++#define ARCH_LOG2_SIZEOF_SHORT 1 ++#define ARCH_LOG2_SIZEOF_INT 2 ++#define ARCH_LOG2_SIZEOF_LONG 2 ++#define ARCH_LOG2_SIZEOF_LONG_LONG 3 ++#define ARCH_SIZEOF_GX_COLOR_INDEX 8 ++#define ARCH_SIZEOF_PTR 4 ++#define ARCH_SIZEOF_FLOAT 4 ++#define ARCH_SIZEOF_DOUBLE 8 ++#define ARCH_FLOAT_MANTISSA_BITS 24 ++#define ARCH_DOUBLE_MANTISSA_BITS 53 ++ ++ /* ---------------- Unsigned max values ---------------- */ ++ ++#define ARCH_MAX_UCHAR ((unsigned char)0xff + (unsigned char)0) ++#define ARCH_MAX_USHORT ((unsigned short)0xffff + (unsigned short)0) ++#define ARCH_MAX_UINT ((unsigned int)~0 + (unsigned int)0) ++#define ARCH_MAX_ULONG ((unsigned long)~0L + (unsigned long)0) ++ ++ /* ---------------- Miscellaneous ---------------- */ ++ ++#define ARCH_IS_BIG_ENDIAN 1 ++#define ARCH_PTRS_ARE_SIGNED 0 ++#define ARCH_FLOATS_ARE_IEEE 1 ++#define ARCH_ARITH_RSHIFT 2 ++#define ARCH_DIV_NEG_POS_TRUNCATES 1
meta/recipes-extended/ghostscript/ghostscript/ghostscript-8.64-ppc32-build.patch new file +113 -0
113 lines not on this page · raw message
meta/recipes-extended/ghostscript/ghostscript/ghostscript-8.64-x86-build.patch new file +115 -0
115 lines not on this page · raw message
meta/recipes-extended/ghostscript/ghostscript/ghostscript-8.64-x86_64-build.patch new file +113 -0
113 lines not on this page · raw message
meta/recipes-extended/ghostscript/ghostscript/ghostscript-9.02-arm-build.patch new file +109 -0
109 lines not on this page · raw message
meta/recipes-extended/ghostscript/ghostscript_9.02.bb +14 -3
@@ -15,19 +15,24 @@ SECTION = "console/utils" LICENSE = "GPLv3" LIC_FILES_CHKSUM = "file://LICENSE;md5=d151214b3131251dfc9d858593acbd24" -PR = "r0" +PR = "r1" -DEPENDS = "tiff ${PN}-native" +DEPENDS = "${PN}-native tiff jpeg fontconfig cups" DEPENDS_virtclass-native = "" SRC_URI = "http://downloads.ghostscript.com/public/ghostscript-${PV}.tar.bz2 \ file://ghostscript-9.02-prevent_recompiling.patch \ " +SRC_URI_append_powerpc = "file://ghostscript-8.64-ppc32-build.patch" +SRC_URI_append_i586 = "file://ghostscript-8.64-x86-build.patch" +SRC_URI_append_x86_64 = "file://ghostscript-8.64-x86_64-build.patch" +SRC_URI_append_mips = "file://ghostscript-8.64-mips64n32-build.patch" +SRC_URI_append_arm = "file://ghostscript-9.02-arm-build.patch" SRC_URI[md5sum] = "f67151444bd56a7904579fc75a083dd6" SRC_URI[sha256sum] = "03ea2cad13a36f8f9160912012b79619a826e7148fada6d3531feb25409ee05a" -EXTRA_OECONF = "--with-system-libtiff --without-jbig2dec --without-jasper --x-includes=${STAGING_DIR_HOST}/usr/include/X11 --x-libraries=${STAGING_DIR_HOST}/usr/lib" +EXTRA_OECONF = "--without-x --with-system-libtiff --without-jbig2dec --without-jasper --with-fontpath=${datadir}/fonts" inherit autotools
@@ -42,6 +47,12 @@ do_configure () { done } +do_install_append () { + mkdir -p ${D}${datadir}/ghostscript/${PV}/ + cp -r Resource ${D}${datadir}/ghostscript/${PV}/ + cp -r iccprofiles ${D}${datadir}/ghostscript/${PV}/ +} + python do_patch_virtclass-native () { pass }
Signature · 1 line
1.7.5.1.300.gc565c
Re: [PATCH 1/1] ghostscript: fix run failure on mpc8315e
Hi,
Quoted 11 lines · Kang Kai
From: Kang Kai <[email protected]>
When run gs on mpc8315, it fails with:
GPL Ghostscript 9.02: ./psi/interp.c(291): Fatal error -20 ings_interp_init! It is caused by cross compile.Accoding to the ghostscript document on:
http://pages.cs.wisc.edu/~ghost/doc/cvs/Make.htm#Cross-compiling
it needs some manual work, so import patches from WindRiver Linux.Signed-off-by Kang Kai <[email protected]>
There is a way to do this more neatly within OE. You can create a directory structure of:
recipes-extended/ghostscriptghostscript-9.02/powerpc/objarch.h recipes-extended/ghostscriptghostscript-9.02/powerpc/soobjarch.h recipes-extended/ghostscriptghostscript-9.02/i586/objarch.h recipes-extended/ghostscriptghostscript-9.02/i586/soobjarch.h recipes-extended/ghostscriptghostscript-9.02/mips/objarch.h recipes-extended/ghostscriptghostscript-9.02/mips/soobjarch.h recipes-extended/ghostscriptghostscript-9.02/x86_64/objarch.h recipes-extended/ghostscriptghostscript-9.02/x86_64/soobjarch.h recipes-extended/ghostscriptghostscript-9.02/arm/objarch.h recipes-extended/ghostscriptghostscript-9.02/arm/soobjarch.h
Then just add file://objarch.h and file://soobjarch.h to SRC_URI and a
do_configure_prepend () {
cp ${WORKDIR}/objarch.h ${S}/obj/arch.h
cp ${WORKDIR}/soobjarch.h ${S}/soobj/arch.h
}and the rest will happen automatically (you'll still need the lib.mak bit of the patch applied unconditionally).
Cheers,
Richard
Re: [PATCH 1/1] ghostscript: fix run failure on mpc8315e
Hi Richard,
Quoted 30 lines
Hi,
Quoted 11 lines · Kang Kai
From: Kang Kai<[email protected]>
When run gs on mpc8315, it fails with:
GPL Ghostscript 9.02: ./psi/interp.c(291): Fatal error -20 ings_interp_init! It is caused by cross compile.Accoding to the ghostscript document on:
http://pages.cs.wisc.edu/~ghost/doc/cvs/Make.htm#Cross-compiling
it needs some manual work, so import patches from WindRiver Linux.Signed-off-by Kang Kai<[email protected]>There is a way to do this more neatly within OE. You can create a directory structure of:
recipes-extended/ghostscriptghostscript-9.02/powerpc/objarch.hrecipes-extended/ghostscriptghostscript-9.02/powerpc/soobjarch.hrecipes-extended/ghostscriptghostscript-9.02/i586/objarch.hrecipes-extended/ghostscriptghostscript-9.02/i586/soobjarch.hrecipes-extended/ghostscriptghostscript-9.02/mips/objarch.hrecipes-extended/ghostscriptghostscript-9.02/mips/soobjarch.hrecipes-extended/ghostscriptghostscript-9.02/x86_64/objarch.hrecipes-extended/ghostscriptghostscript-9.02/x86_64/soobjarch.hrecipes-extended/ghostscriptghostscript-9.02/arm/objarch.hrecipes-extended/ghostscriptghostscript-9.02/arm/soobjarch.hThen just add file://objarch.h and file://soobjarch.h to
SRC_URIand a
Quoted 7 lines
do_configure_prepend () { cp ${WORKDIR}/objarch.h ${S}/obj/arch.h cp ${WORKDIR}/soobjarch.h ${S}/soobj/arch.h }and the rest will happen automatically (you'll still need the lib.mak bit of the patch applied unconditionally).
Thanks, I will update the pull request.
Quoted 4 lines
Cheers,
Richard
Regards,
Kai