Package: postgis
Version: 2.2.0+dfsg-3
Tags: patch

postgis fails to build because the testcases fail, e.g.:
https://buildd.debian.org/status/fetch.php?pkg=postgis&arch=hppa&ver=2.2.0%2Bdfsg-3&stamp=1451249930

specifically this test fails:
Suite: wkb_output
  Test: test_wkb_out_point ...FAILED
    1. cu_out_wkb.c:78  - 
CU_ASSERT_STRING_EQUAL(s,"00000000017FF80000000000007FF8000000000000")
    2. cu_out_wkb.c:81  - 
CU_ASSERT_STRING_EQUAL(s,"0020000001000010E67FF80000000000007FF8000000000000")
    3. cu_out_wkb.c:84  - 
CU_ASSERT_STRING_EQUAL(s,"00800000017FF80000000000007FF80000000000007FF8000000000000")
    4. cu_out_wkb.c:87  - 
CU_ASSERT_STRING_EQUAL(s,"00400000017FF80000000000007FF80000000000007FF8000000000000")
    5. cu_out_wkb.c:90  - 
CU_ASSERT_STRING_EQUAL(s,"00C00000017FF80000000000007FF80000000000007FF80000000000007FF8000000000000")

The reason why this fails is, because parisc/hppa and mips have different 
floating point representations for NAN (not-a-number).
The attached patch fixes it for hppa (tested!) and most likely for mips as well 
(untested).
Can you apply this patch for the next upload and/or push it upstream ?

Thanks,
Helge

PS: For hppa postgis will probably still fail to build, but that's most likely 
a problem in postgres not postgis (still working on it).
 
diff -up ./liblwgeom/cunit/cu_out_wkb.c.org ./liblwgeom/cunit/cu_out_wkb.c
--- ./liblwgeom/cunit/cu_out_wkb.c.org	2016-01-11 13:46:30.384180275 +0100
+++ ./liblwgeom/cunit/cu_out_wkb.c	2016-01-11 14:30:35.928732134 +0100
@@ -66,6 +66,13 @@ static void cu_wkb(char *wkt)
 }
 
 
+/* parisc and mips (at least some processors) have a different nan representation from other arches. */
+#if !defined(__hppa__) && !defined(__mips__)
+# define nan_val( v1, v2)  v1
+#else
+# define nan_val( v1, v2)  v2
+#endif
+
 static void test_wkb_out_point(void)
 {
 	cu_wkb("POINT(0 0 0 0)");
@@ -75,19 +82,24 @@ static void test_wkb_out_point(void)
 	CU_ASSERT_STRING_EQUAL(s,"0060000001000000043FF00000000000003FF00000000000003FF0000000000000");
 	
 	cu_wkb("POINT EMPTY");
-	CU_ASSERT_STRING_EQUAL(s,"00000000017FF80000000000007FF8000000000000");
+	CU_ASSERT_STRING_EQUAL(s, nan_val("00000000017FF80000000000007FF8000000000000", 
+					  "00000000017FF7FFFFFFFFFFFF7FF7FFFFFFFFFFFF"));
 
 	cu_wkb("SRID=4326;POINT EMPTY");
-	CU_ASSERT_STRING_EQUAL(s,"0020000001000010E67FF80000000000007FF8000000000000");
+	CU_ASSERT_STRING_EQUAL(s, nan_val("0020000001000010E67FF80000000000007FF8000000000000",
+					  "0020000001000010E67FF7FFFFFFFFFFFF7FF7FFFFFFFFFFFF"));
 
 	cu_wkb("POINT Z EMPTY");
-	CU_ASSERT_STRING_EQUAL(s,"00800000017FF80000000000007FF80000000000007FF8000000000000");
+	CU_ASSERT_STRING_EQUAL(s, nan_val("00800000017FF80000000000007FF80000000000007FF8000000000000",
+					  "00800000017FF7FFFFFFFFFFFF7FF7FFFFFFFFFFFF7FF7FFFFFFFFFFFF"));
 
 	cu_wkb("POINT M EMPTY");
-	CU_ASSERT_STRING_EQUAL(s,"00400000017FF80000000000007FF80000000000007FF8000000000000");
+	CU_ASSERT_STRING_EQUAL(s, nan_val("00400000017FF80000000000007FF80000000000007FF8000000000000",
+					  "00400000017FF7FFFFFFFFFFFF7FF7FFFFFFFFFFFF7FF7FFFFFFFFFFFF"));
 
 	cu_wkb("POINT ZM EMPTY");
-	CU_ASSERT_STRING_EQUAL(s,"00C00000017FF80000000000007FF80000000000007FF80000000000007FF8000000000000");
+	CU_ASSERT_STRING_EQUAL(s, nan_val("00C00000017FF80000000000007FF80000000000007FF80000000000007FF8000000000000",
+					  "00C00000017FF7FFFFFFFFFFFF7FF7FFFFFFFFFFFF7FF7FFFFFFFFFFFF7FF7FFFFFFFFFFFF"));
 }
 
 static void test_wkb_out_linestring(void)
_______________________________________________
Pkg-grass-devel mailing list
Pkg-grass-devel@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-grass-devel

Reply via email to