Bug#663902: ghostscript: FTBFS on hurd-i386: extra gs_realloc in symbols file
Package: src:ghostscript
Version: 8.70~dfsg-2
Severity: important
Tags: patch
User: debian-hurd@lists.debian.org
Usertags: hurd
Hi,
as shown on [1], ghostscript fails to build on GNU/Hurd, because of a symbol
specified in the symbols file which is not compiled on GNU/Hurd.
The reason is basically the implementation of the gs_realloc() function: in
base/malloc_.h there is:
[...]
/* (At least some versions of) Linux don't have a working realloc.... */
#ifdef linux
# define malloc__need_realloc
void *gs_realloc(void *, size_t, size_t);
#else
# define gs_realloc(ptr, old_size, new_size) realloc(ptr, new_size)
#endif
[...]
which means gs_realloc() is a proper function only on Linux.
The proposed solution is to slightly change the symbol files, introducing a new
file with common Linux-only symbols, including it on Linux-only archs.
Tested, appears working on GNU/Hurd (obviously), and on current Squeeze.
[1] http://buildd.debian-ports.org/fetch.php?pkg=ghostscript&arch=hurd-i386&ver=8.70~dfsg-2&stamp=1251071245&file=log&as=raw
--
Pino Toscano
Index: ghostscript-8.70~dfsg/debian/libgs8.symbols.alpha
===================================================================
--- ghostscript-8.70~dfsg.orig/debian/libgs8.symbols.alpha 2009-09-10 15:30:50.000000000 +0200
+++ ghostscript-8.70~dfsg/debian/libgs8.symbols.alpha 2009-09-10 15:31:18.000000000 +0200
@@ -1,2 +1,3 @@
#include "symbols.common"
+#include "symbols.common_linux"
#include "symbols.common_le"
Index: ghostscript-8.70~dfsg/debian/libgs8.symbols.amd64
===================================================================
--- ghostscript-8.70~dfsg.orig/debian/libgs8.symbols.amd64 2009-09-10 15:30:50.000000000 +0200
+++ ghostscript-8.70~dfsg/debian/libgs8.symbols.amd64 2009-09-10 15:31:21.000000000 +0200
@@ -1,2 +1,3 @@
#include "symbols.common"
+#include "symbols.common_linux"
#include "symbols.common_le"
Index: ghostscript-8.70~dfsg/debian/libgs8.symbols.arm
===================================================================
--- ghostscript-8.70~dfsg.orig/debian/libgs8.symbols.arm 2009-09-10 15:30:50.000000000 +0200
+++ ghostscript-8.70~dfsg/debian/libgs8.symbols.arm 2009-09-10 15:31:30.000000000 +0200
@@ -1,3 +1,4 @@
#include "symbols.common"
+#include "symbols.common_linux"
#include "symbols.common_32bit"
#include "symbols.common_le"
Index: ghostscript-8.70~dfsg/debian/libgs8.symbols.armel
===================================================================
--- ghostscript-8.70~dfsg.orig/debian/libgs8.symbols.armel 2009-09-10 15:30:51.000000000 +0200
+++ ghostscript-8.70~dfsg/debian/libgs8.symbols.armel 2009-09-10 15:31:34.000000000 +0200
@@ -1,3 +1,4 @@
#include "symbols.common"
+#include "symbols.common_linux"
#include "symbols.common_32bit"
#include "symbols.common_le"
Index: ghostscript-8.70~dfsg/debian/libgs8.symbols.hppa
===================================================================
--- ghostscript-8.70~dfsg.orig/debian/libgs8.symbols.hppa 2009-09-10 15:30:51.000000000 +0200
+++ ghostscript-8.70~dfsg/debian/libgs8.symbols.hppa 2009-09-10 15:31:38.000000000 +0200
@@ -1,2 +1,3 @@
#include "symbols.common"
+#include "symbols.common_linux"
#include "symbols.common_32bit"
Index: ghostscript-8.70~dfsg/debian/libgs8.symbols.i386
===================================================================
--- ghostscript-8.70~dfsg.orig/debian/libgs8.symbols.i386 2009-09-10 15:30:52.000000000 +0200
+++ ghostscript-8.70~dfsg/debian/libgs8.symbols.i386 2009-09-10 15:31:45.000000000 +0200
@@ -1,3 +1,4 @@
#include "symbols.common"
+#include "symbols.common_linux"
#include "symbols.common_32bit"
#include "symbols.common_le"
Index: ghostscript-8.70~dfsg/debian/libgs8.symbols.ia64
===================================================================
--- ghostscript-8.70~dfsg.orig/debian/libgs8.symbols.ia64 2009-09-10 15:30:53.000000000 +0200
+++ ghostscript-8.70~dfsg/debian/libgs8.symbols.ia64 2009-09-10 15:31:48.000000000 +0200
@@ -1,2 +1,3 @@
#include "symbols.common"
+#include "symbols.common_linux"
#include "symbols.common_le"
Index: ghostscript-8.70~dfsg/debian/libgs8.symbols.m68k
===================================================================
--- ghostscript-8.70~dfsg.orig/debian/libgs8.symbols.m68k 2009-09-10 15:30:53.000000000 +0200
+++ ghostscript-8.70~dfsg/debian/libgs8.symbols.m68k 2009-09-10 15:31:50.000000000 +0200
@@ -1,2 +1,3 @@
#include "symbols.common"
+#include "symbols.common_linux"
#include "symbols.common_32bit"
Index: ghostscript-8.70~dfsg/debian/libgs8.symbols.mips
===================================================================
--- ghostscript-8.70~dfsg.orig/debian/libgs8.symbols.mips 2009-09-10 15:30:53.000000000 +0200
+++ ghostscript-8.70~dfsg/debian/libgs8.symbols.mips 2009-09-10 15:31:52.000000000 +0200
@@ -1,2 +1,3 @@
#include "symbols.common"
+#include "symbols.common_linux"
#include "symbols.common_32bit"
Index: ghostscript-8.70~dfsg/debian/libgs8.symbols.mipsel
===================================================================
--- ghostscript-8.70~dfsg.orig/debian/libgs8.symbols.mipsel 2009-09-10 15:30:54.000000000 +0200
+++ ghostscript-8.70~dfsg/debian/libgs8.symbols.mipsel 2009-09-10 15:31:55.000000000 +0200
@@ -1,3 +1,4 @@
#include "symbols.common"
+#include "symbols.common_linux"
#include "symbols.common_32bit"
#include "symbols.common_le"
Index: ghostscript-8.70~dfsg/debian/libgs8.symbols.powerpc
===================================================================
--- ghostscript-8.70~dfsg.orig/debian/libgs8.symbols.powerpc 2009-09-10 15:30:54.000000000 +0200
+++ ghostscript-8.70~dfsg/debian/libgs8.symbols.powerpc 2009-09-10 15:31:58.000000000 +0200
@@ -1,2 +1,3 @@
#include "symbols.common"
+#include "symbols.common_linux"
#include "symbols.common_32bit"
Index: ghostscript-8.70~dfsg/debian/libgs8.symbols.s390
===================================================================
--- ghostscript-8.70~dfsg.orig/debian/libgs8.symbols.s390 2009-09-10 15:30:55.000000000 +0200
+++ ghostscript-8.70~dfsg/debian/libgs8.symbols.s390 2009-09-10 15:32:00.000000000 +0200
@@ -1,2 +1,3 @@
#include "symbols.common"
+#include "symbols.common_linux"
#include "symbols.common_32bit"
Index: ghostscript-8.70~dfsg/debian/libgs8.symbols.sparc
===================================================================
--- ghostscript-8.70~dfsg.orig/debian/libgs8.symbols.sparc 2009-09-10 15:30:55.000000000 +0200
+++ ghostscript-8.70~dfsg/debian/libgs8.symbols.sparc 2009-09-10 15:32:08.000000000 +0200
@@ -1,2 +1,3 @@
#include "symbols.common"
+#include "symbols.common_linux"
#include "symbols.common_32bit"
Index: ghostscript-8.70~dfsg/debian/symbols.common
===================================================================
--- ghostscript-8.70~dfsg.orig/debian/symbols.common 2009-09-10 15:30:05.000000000 +0200
+++ ghostscript-8.70~dfsg/debian/symbols.common 2009-09-10 15:30:40.000000000 +0200
@@ -1895,7 +1895,6 @@
gs_r4081_device@Base 8.61.dfsg.1
gs_raw_alloc_struct_immovable@Base 8.61.dfsg.1
gs_rcurveto@Base 8.61.dfsg.1
- gs_realloc@Base 8.61.dfsg.1
gs_rectappend@Base 8.61.dfsg.1
gs_rectclip@Base 8.61.dfsg.1
gs_rectfill@Base 8.61.dfsg.1
Index: ghostscript-8.70~dfsg/debian/symbols.common_linux
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ ghostscript-8.70~dfsg/debian/symbols.common_linux 2009-09-10 15:30:24.000000000 +0200
@@ -0,0 +1 @@
+ gs_realloc@Base 8.61.dfsg.1
Reply to: