Patchwork [1/1] ghostscript-native: disable libtiff support

login
register
mail settings
Submitter Hongxu Jia
Date Dec. 12, 2012, 10 a.m.
Message ID <a865b540a43bfce79677902ec1700cf981aa5336.1355302441.git.hongxu.jia@windriver.com>
Download mbox | patch
Permalink /patch/40785/
State New
Headers show

Comments

Hongxu Jia - Dec. 12, 2012, 10 a.m.
The ghostscript-native will check libtiff
automatically at configure time and libtiff
needs libjpeg. If libtiff and libjpeg is
just populated to staging native directories
and the host doesn't install them, the libjpeg
could not be linked, fail with:

|libjpeg.so.8, needed by libtiff.so, not found
|libtiff.so: undefined reference to
`jpeg_set_defaults@LIBJPEG_8.0'
|collect2: error: ld returned 1 exit status

Disable libtiff support to fix this issue.
We also modify configure to let disable system
libtiff could work.

[YOCTO #3562]

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
---
 ...tscript-native-fix-disable-system-libtiff.patch |   51 ++++++++++++++++++++
 .../ghostscript/ghostscript_9.05.bb                |   11 +++--
 2 files changed, 59 insertions(+), 3 deletions(-)
 create mode 100644 meta/recipes-extended/ghostscript/ghostscript/ghostscript-native-fix-disable-system-libtiff.patch
Martin Jansa - Dec. 12, 2012, 7:49 p.m.
On Wed, Dec 12, 2012 at 11:00 AM, Hongxu Jia <hongxu.jia@windriver.com> wrote:
> The ghostscript-native will check libtiff
> automatically at configure time and libtiff
> needs libjpeg. If libtiff and libjpeg is
> just populated to staging native directories
> and the host doesn't install them, the libjpeg
> could not be linked, fail with:

Can you disable freetype/fontconfig too? It's underlinking.

| gcc -O2 -isystem/OE/jansa-test/shr-core/tmp-eglibc/sysroots/x86_64-linux/usr/include
 -Wall -Wstrict-prototypes -Wundef -Wmissing-declarations
-Wmissing-prototypes -Wwrite-strings -Wno-strict-aliasing
-Wdeclaration-after-statement -fno-builtin -fno-common
-DHAVE_STDINT_H=1 -DHAVE_SYS_TIME_H=1 -DGX_COLOR_INDEX_TYPE="unsigned
long int" -isystem/OE/jansa-test/shr-core/tmp-eglibc/sysroots/x86_64-linux/usr/include
-O2 -pipe -DHAVE_SYS_TIME_H=1    -O2
-isystem/OE/jansa-test/shr-core/tmp-eglibc/sysroots/x86_64-linux/usr/include
 -Wall -Wstrict-prototypes -Wundef -Wmissing-declarations
-Wmissing-prototypes -Wwrite-strings -Wno-strict-aliasing
-Wdeclaration-after-statement -fno-builtin -fno-common
-DHAVE_STDINT_H=1 -DHAVE_SYS_TIME_H=1 -DGX_COLOR_INDEX_TYPE="unsigned
long int" -isystem/OE/jansa-test/shr-core/tmp-eglibc/sysroots/x86_64-linux/usr/include
-O2 -pipe -DHAVE_SYS_TIME_H=1   -I./base -I./obj/ -Izlib
./base/mkromfs.c -o ./obj/aux/mkromfs_0 ./obj/aux/compress.o
./obj/aux/deflate.o ./obj/aux/zutil.o ./obj/aux/adler32.o
./obj/aux/crc32.o ./obj/aux/trees.o ./obj/aux/gscdefs.o
./obj/aux/gsmisc.o ./obj/aux/gpmisc.o ./obj/aux/gslibctx.o
./obj/aux/gp_getnv.o ./obj/aux/gp_unix.o ./obj/aux/gp_unifs.o
./obj/aux/gp_unifn.o ./obj/aux/gp_stdia.o ./obj/aux/gsutil.o
./obj/aux/memento.o -lm  -ldl -lm  -rdynamic -ldl
-L/OE/jansa-test/shr-core/tmp-eglibc/sysroots/x86_64-linux/usr/lib
-lfontconfig
| /usr/lib/gcc/x86_64-pc-linux-gnu/4.7.2/../../../../x86_64-pc-linux-gnu/bin/ld:
warning: libfreetype.so.6, needed by
/OE/jansa-test/shr-core/tmp-eglibc/sysroots/x86_64-linux/usr/lib/libfontconfig.so,
not found (try using -rpath or -rpath-link)
| /OE/jansa-test/shr-core/tmp-eglibc/sysroots/x86_64-linux/usr/lib/libfontconfig.so:
undefined reference to `FT_Get_Sfnt_Name_Count'
| /OE/jansa-test/shr-core/tmp-eglibc/sysroots/x86_64-linux/usr/lib/libfontconfig.so:
undefined reference to `FT_Get_Glyph_Name'
| /OE/jansa-test/shr-core/tmp-eglibc/sysroots/x86_64-linux/usr/lib/libfontconfig.so:
undefined reference to `FT_Load_Glyph'
| /OE/jansa-test/shr-core/tmp-eglibc/sysroots/x86_64-linux/usr/lib/libfontconfig.so:
undefined reference to `FT_Get_X11_Font_Format'
| /OE/jansa-test/shr-core/tmp-eglibc/sysroots/x86_64-linux/usr/lib/libfontconfig.so:
undefined reference to `FT_Load_Sfnt_Table'
| /OE/jansa-test/shr-core/tmp-eglibc/sysroots/x86_64-linux/usr/lib/libfontconfig.so:
undefined reference to `FT_Done_Face'
| /OE/jansa-test/shr-core/tmp-eglibc/sysroots/x86_64-linux/usr/lib/libfontconfig.so:
undefined reference to `FT_Done_FreeType'
| /OE/jansa-test/shr-core/tmp-eglibc/sysroots/x86_64-linux/usr/lib/libfontconfig.so:
undefined reference to `FT_New_Face'
| /OE/jansa-test/shr-core/tmp-eglibc/sysroots/x86_64-linux/usr/lib/libfontconfig.so:
undefined reference to `FT_Init_FreeType'
| /OE/jansa-test/shr-core/tmp-eglibc/sysroots/x86_64-linux/usr/lib/libfontconfig.so:
undefined reference to `FT_Get_First_Char'
| /OE/jansa-test/shr-core/tmp-eglibc/sysroots/x86_64-linux/usr/lib/libfontconfig.so:
undefined reference to `FT_Get_PS_Font_Info'
| /OE/jansa-test/shr-core/tmp-eglibc/sysroots/x86_64-linux/usr/lib/libfontconfig.so:
undefined reference to `FT_Select_Charmap'
| /OE/jansa-test/shr-core/tmp-eglibc/sysroots/x86_64-linux/usr/lib/libfontconfig.so:
undefined reference to `FT_Get_Sfnt_Table'
| /OE/jansa-test/shr-core/tmp-eglibc/sysroots/x86_64-linux/usr/lib/libfontconfig.so:
undefined reference to `FT_Select_Size'
| /OE/jansa-test/shr-core/tmp-eglibc/sysroots/x86_64-linux/usr/lib/libfontconfig.so:
undefined reference to `FT_Get_Char_Index'
| /OE/jansa-test/shr-core/tmp-eglibc/sysroots/x86_64-linux/usr/lib/libfontconfig.so:
undefined reference to `FT_Get_Next_Char'
| /OE/jansa-test/shr-core/tmp-eglibc/sysroots/x86_64-linux/usr/lib/libfontconfig.so:
undefined reference to `FT_Has_PS_Glyph_Names'
| /OE/jansa-test/shr-core/tmp-eglibc/sysroots/x86_64-linux/usr/lib/libfontconfig.so:
undefined reference to `FT_Get_BDF_Property'
| /OE/jansa-test/shr-core/tmp-eglibc/sysroots/x86_64-linux/usr/lib/libfontconfig.so:
undefined reference to `FT_Get_Sfnt_Name'
| collect2: error: ld returned 1 exit status
| make: *** [obj/aux/mkromfs_0] Error 1
| ERROR: oe_runmake failed
| ERROR: Function failed: do_compile (see
/OE/jansa-test/shr-core/tmp-eglibc/work/x86_64-linux/ghostscript-native/9.05-r5/temp/log.do_compile.21213
for further information)
NOTE: recipe ghostscript-native-9.05-r5: task do_compile: Failed

Cheers,
Hongxu Jia - Dec. 12, 2012, 11:52 p.m.
On 12/13/2012 03:49 AM, Martin Jansa wrote:
> On Wed, Dec 12, 2012 at 11:00 AM, Hongxu Jia <hongxu.jia@windriver.com> wrote:
>> The ghostscript-native will check libtiff
>> automatically at configure time and libtiff
>> needs libjpeg. If libtiff and libjpeg is
>> just populated to staging native directories
>> and the host doesn't install them, the libjpeg
>> could not be linked, fail with:
> Can you disable freetype/fontconfig too? It's underlinking.

All right, I will work on it.

Thanks,
Hongxu

> | gcc -O2 -isystem/OE/jansa-test/shr-core/tmp-eglibc/sysroots/x86_64-linux/usr/include
>   -Wall -Wstrict-prototypes -Wundef -Wmissing-declarations
> -Wmissing-prototypes -Wwrite-strings -Wno-strict-aliasing
> -Wdeclaration-after-statement -fno-builtin -fno-common
> -DHAVE_STDINT_H=1 -DHAVE_SYS_TIME_H=1 -DGX_COLOR_INDEX_TYPE="unsigned
> long int" -isystem/OE/jansa-test/shr-core/tmp-eglibc/sysroots/x86_64-linux/usr/include
> -O2 -pipe -DHAVE_SYS_TIME_H=1    -O2
> -isystem/OE/jansa-test/shr-core/tmp-eglibc/sysroots/x86_64-linux/usr/include
>   -Wall -Wstrict-prototypes -Wundef -Wmissing-declarations
> -Wmissing-prototypes -Wwrite-strings -Wno-strict-aliasing
> -Wdeclaration-after-statement -fno-builtin -fno-common
> -DHAVE_STDINT_H=1 -DHAVE_SYS_TIME_H=1 -DGX_COLOR_INDEX_TYPE="unsigned
> long int" -isystem/OE/jansa-test/shr-core/tmp-eglibc/sysroots/x86_64-linux/usr/include
> -O2 -pipe -DHAVE_SYS_TIME_H=1   -I./base -I./obj/ -Izlib
> ./base/mkromfs.c -o ./obj/aux/mkromfs_0 ./obj/aux/compress.o
> ./obj/aux/deflate.o ./obj/aux/zutil.o ./obj/aux/adler32.o
> ./obj/aux/crc32.o ./obj/aux/trees.o ./obj/aux/gscdefs.o
> ./obj/aux/gsmisc.o ./obj/aux/gpmisc.o ./obj/aux/gslibctx.o
> ./obj/aux/gp_getnv.o ./obj/aux/gp_unix.o ./obj/aux/gp_unifs.o
> ./obj/aux/gp_unifn.o ./obj/aux/gp_stdia.o ./obj/aux/gsutil.o
> ./obj/aux/memento.o -lm  -ldl -lm  -rdynamic -ldl
> -L/OE/jansa-test/shr-core/tmp-eglibc/sysroots/x86_64-linux/usr/lib
> -lfontconfig
> | /usr/lib/gcc/x86_64-pc-linux-gnu/4.7.2/../../../../x86_64-pc-linux-gnu/bin/ld:
> warning: libfreetype.so.6, needed by
> /OE/jansa-test/shr-core/tmp-eglibc/sysroots/x86_64-linux/usr/lib/libfontconfig.so,
> not found (try using -rpath or -rpath-link)
> | /OE/jansa-test/shr-core/tmp-eglibc/sysroots/x86_64-linux/usr/lib/libfontconfig.so:
> undefined reference to `FT_Get_Sfnt_Name_Count'
> | /OE/jansa-test/shr-core/tmp-eglibc/sysroots/x86_64-linux/usr/lib/libfontconfig.so:
> undefined reference to `FT_Get_Glyph_Name'
> | /OE/jansa-test/shr-core/tmp-eglibc/sysroots/x86_64-linux/usr/lib/libfontconfig.so:
> undefined reference to `FT_Load_Glyph'
> | /OE/jansa-test/shr-core/tmp-eglibc/sysroots/x86_64-linux/usr/lib/libfontconfig.so:
> undefined reference to `FT_Get_X11_Font_Format'
> | /OE/jansa-test/shr-core/tmp-eglibc/sysroots/x86_64-linux/usr/lib/libfontconfig.so:
> undefined reference to `FT_Load_Sfnt_Table'
> | /OE/jansa-test/shr-core/tmp-eglibc/sysroots/x86_64-linux/usr/lib/libfontconfig.so:
> undefined reference to `FT_Done_Face'
> | /OE/jansa-test/shr-core/tmp-eglibc/sysroots/x86_64-linux/usr/lib/libfontconfig.so:
> undefined reference to `FT_Done_FreeType'
> | /OE/jansa-test/shr-core/tmp-eglibc/sysroots/x86_64-linux/usr/lib/libfontconfig.so:
> undefined reference to `FT_New_Face'
> | /OE/jansa-test/shr-core/tmp-eglibc/sysroots/x86_64-linux/usr/lib/libfontconfig.so:
> undefined reference to `FT_Init_FreeType'
> | /OE/jansa-test/shr-core/tmp-eglibc/sysroots/x86_64-linux/usr/lib/libfontconfig.so:
> undefined reference to `FT_Get_First_Char'
> | /OE/jansa-test/shr-core/tmp-eglibc/sysroots/x86_64-linux/usr/lib/libfontconfig.so:
> undefined reference to `FT_Get_PS_Font_Info'
> | /OE/jansa-test/shr-core/tmp-eglibc/sysroots/x86_64-linux/usr/lib/libfontconfig.so:
> undefined reference to `FT_Select_Charmap'
> | /OE/jansa-test/shr-core/tmp-eglibc/sysroots/x86_64-linux/usr/lib/libfontconfig.so:
> undefined reference to `FT_Get_Sfnt_Table'
> | /OE/jansa-test/shr-core/tmp-eglibc/sysroots/x86_64-linux/usr/lib/libfontconfig.so:
> undefined reference to `FT_Select_Size'
> | /OE/jansa-test/shr-core/tmp-eglibc/sysroots/x86_64-linux/usr/lib/libfontconfig.so:
> undefined reference to `FT_Get_Char_Index'
> | /OE/jansa-test/shr-core/tmp-eglibc/sysroots/x86_64-linux/usr/lib/libfontconfig.so:
> undefined reference to `FT_Get_Next_Char'
> | /OE/jansa-test/shr-core/tmp-eglibc/sysroots/x86_64-linux/usr/lib/libfontconfig.so:
> undefined reference to `FT_Has_PS_Glyph_Names'
> | /OE/jansa-test/shr-core/tmp-eglibc/sysroots/x86_64-linux/usr/lib/libfontconfig.so:
> undefined reference to `FT_Get_BDF_Property'
> | /OE/jansa-test/shr-core/tmp-eglibc/sysroots/x86_64-linux/usr/lib/libfontconfig.so:
> undefined reference to `FT_Get_Sfnt_Name'
> | collect2: error: ld returned 1 exit status
> | make: *** [obj/aux/mkromfs_0] Error 1
> | ERROR: oe_runmake failed
> | ERROR: Function failed: do_compile (see
> /OE/jansa-test/shr-core/tmp-eglibc/work/x86_64-linux/ghostscript-native/9.05-r5/temp/log.do_compile.21213
> for further information)
> NOTE: recipe ghostscript-native-9.05-r5: task do_compile: Failed
>
> Cheers,

Patch

diff --git a/meta/recipes-extended/ghostscript/ghostscript/ghostscript-native-fix-disable-system-libtiff.patch b/meta/recipes-extended/ghostscript/ghostscript/ghostscript-native-fix-disable-system-libtiff.patch
new file mode 100644
index 0000000..ce254f6
--- /dev/null
+++ b/meta/recipes-extended/ghostscript/ghostscript/ghostscript-native-fix-disable-system-libtiff.patch
@@ -0,0 +1,51 @@ 
+ghostscript-native:fix disable-system-libtiff
+
+Modify configure to add the check to make sure
+ghostscrip could work while system-libtiff is
+disabled.
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+Upstream-Status: Pending
+---
+diff --git a/base/configure.ac b/base/configure.ac
+index bb05105..4b817ac 100644
+--- a/base/configure.ac
++++ b/base/configure.ac
+@@ -814,17 +814,23 @@ Disabling tiff output devices.])
+ esac
+ 
+ if test $SHARE_LIBTIFF -eq 0; then
+-      echo
+-      echo "Running libtiff configure script..."
+-      olddir=`pwd`
+-      cd $LIBTIFFDIR && ./configure --disable-jbig $SUBCONFIG_OPTS
+-      status=$?
+-      if test "$status" -ne 0 ; then
+-        AC_MSG_ERROR([libtiff configure script failed], $status)
+-      fi
+-      cd $olddir
+-      echo
+-      echo "Continuing with Ghostscript configuration..."
++    if test -e $LIBTIFFDIR/configure; then
++        echo
++        echo "Running libtiff configure script..."
++        olddir=`pwd`
++        cd $LIBTIFFDIR && ./configure --disable-jbig $SUBCONFIG_OPTS
++        status=$?
++        if test "$status" -ne 0 ; then
++          AC_MSG_ERROR([libtiff configure script failed], $status)
++        fi
++        cd $olddir
++        echo
++        echo "Continuing with Ghostscript configuration..."
++    else
++        AC_MSG_NOTICE([Could not find local copy of libtiff.
++Disabling tiff output devices.])
++    fi
++
+ fi
+ 
+ AC_SUBST(SHARE_LIBTIFF)
+-- 
+1.7.10.4
+
diff --git a/meta/recipes-extended/ghostscript/ghostscript_9.05.bb b/meta/recipes-extended/ghostscript/ghostscript_9.05.bb
index 2789897..5de70d0 100644
--- a/meta/recipes-extended/ghostscript/ghostscript_9.05.bb
+++ b/meta/recipes-extended/ghostscript/ghostscript_9.05.bb
@@ -15,7 +15,7 @@  SECTION = "console/utils"
 LICENSE = "GPLv3"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=c5326026692dbed183f0558f926580f8"
 
-PR = "r4"
+PR = "r5"
 
 DEPENDS = "ghostscript-native tiff jpeg fontconfig cups"
 DEPENDS_class-native = ""
@@ -31,8 +31,9 @@  SRC_URI = "${SRC_URI_BASE} \
            "
 
 SRC_URI_class-native = "${SRC_URI_BASE} \
-		        file://0001-make-ghostscript-work-with-long-building-directory.patch \
-		        "
+                        file://0001-make-ghostscript-work-with-long-building-directory.patch \
+                        file://ghostscript-native-fix-disable-system-libtiff.patch \
+                        "
 
 SRC_URI[md5sum] = "f7c6f0431ca8d44ee132a55d583212c1"
 SRC_URI[sha256sum] = "593f77f7584704bdf9de41598a084a4208c3ad3b940a1de1faaf8f59a15cc207"
@@ -40,6 +41,10 @@  SRC_URI[sha256sum] = "593f77f7584704bdf9de41598a084a4208c3ad3b940a1de1faaf8f59a1
 EXTRA_OECONF = "--without-x --with-system-libtiff --without-jbig2dec --without-jasper \
                 --with-fontpath=${datadir}/fonts --with-install-cups --without-libidn"
 
+# Explicity disable libtiff for ghostscript-native
+EXTRA_OECONF_class-native = "--without-x --with-system-libtiff=no --without-jbig2dec --without-jasper \
+                --with-fontpath=${datadir}/fonts --with-install-cups --without-libidn"
+
 # This has been fixed upstream but for now we need to subvert the check for time.h
 # http://bugs.ghostscript.com/show_bug.cgi?id=692443
 # http://bugs.ghostscript.com/show_bug.cgi?id=692426