Source: vxl
Version: 1.17.0.dfsg2-4
Severity: important
Justification: fails to build from source (but built in past)
User: [email protected]
Usertags: alpha

vxl FTBFS on Alpha with [1]:

cd /«PKGBUILDDIR»/obj-alpha-linux-gnu/vcl/tests && /usr/bin/c++   
-DVXL_LEGACY_ERROR_REPORTING -DVXL_WARN_DEPRECATED -DVXL_WARN_DEPRECATED_ONCE 
-I/«PKGBUILDDIR»/obj-alpha-linux-gnu/vcl -I/«PKGBUILDDIR»/vcl 
-I/«PKGBUILDDIR»/obj-alpha-linux-gnu/core -I/«PKGBUILDDIR»/core  -g -O2 
-Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2     -o 
CMakeFiles/vcl_test_all.dir/test_iterator.o -c 
/«PKGBUILDDIR»/vcl/tests/test_iterator.cxx
In file included from /«PKGBUILDDIR»/v3p/Qv/QvLib.cxx:69:0:
/«PKGBUILDDIR»/v3p/Qv/QvDict.cxx: In member function 'QvDictEntry*& 
QvDict::findEntry(const char*) const':
/«PKGBUILDDIR»/v3p/Qv/QvDict.cxx:97:24: error: 'intptr_t' was not declared in 
this scope
     entry = &buckets[ (intptr_t)key % tableSize];

In the file v3p/Qv/QvDict.cxx there is some conditional compilation
depending on the macro __alpha, presumably put there to support
Alpha OSF1 Unix, but is incorrect for Alpha Linux.  The first hunk
in the patch debian/patches/fix_alphacomp.patch attempts to correct
this but botches the fix. The best solution is to entirely remove
the conditional compilation on the macro __alpha and leave Alpha
Linux to use the generic Linux compilation path.  I attach an updated
fix_alphacomp.patch.  With that vxl builds to completion on Alpha.

Cheers
Michael.

[1] 
https://buildd.debian.org/status/fetch.php?pkg=vxl&arch=alpha&ver=1.17.0.dfsg2-4&stamp=1460289377
Description: __alpha is a processor, not an OS
Author: Mathieu Malaterre <[email protected]>
Last-Update: 2011-12-12
Forwarded: http://sourceforge.net/mailarchive/message.php?msg_id=28569493
Bug: https://sourceforge.net/apps/trac/vxl/ticket/66

Index: vxl-1.17.0.dfsg2/v3p/Qv/QvDict.cxx
===================================================================
--- vxl-1.17.0.dfsg2.orig/v3p/Qv/QvDict.cxx
+++ vxl-1.17.0.dfsg2/v3p/Qv/QvDict.cxx
@@ -8,9 +8,7 @@
 #  include <stdlib.h> /* for malloc and friends */
 # endif
 #else
-# if defined(__alpha) /* there is no inttypes.h here */
-   typedef unsigned long intptr_t;
-# elif defined(__CYGWIN__)
+# if defined(__CYGWIN__)
 #  include <sys/types.h> /* for intptr_t on Cygwin */
 # elif defined(__BORLANDC__)
 #  if __BORLANDC__ < 0x0560
Index: vxl-1.17.0.dfsg2/core/vil/vil_stream_url.cxx
===================================================================
--- vxl-1.17.0.dfsg2.orig/core/vil/vil_stream_url.cxx
+++ vxl-1.17.0.dfsg2/core/vil/vil_stream_url.cxx
@@ -25,7 +25,7 @@
 # include <sys/socket.h>
 # include <netinet/in.h>   // htons()
 # ifdef __alpha
-#  include <fp.h>           // htons() [ on e.g. DEC alpha, htons is in machine/endian.h]
+//#  include <fp.h>           // htons() [ on e.g. DEC alpha, htons is in machine/endian.h]
 # endif
 # define SOCKET int
 #elif defined (VCL_WIN32) && !defined(__CYGWIN__)
Index: vxl-1.17.0.dfsg2/core/vil1/vil1_stream_url.cxx
===================================================================
--- vxl-1.17.0.dfsg2.orig/core/vil1/vil1_stream_url.cxx
+++ vxl-1.17.0.dfsg2/core/vil1/vil1_stream_url.cxx
@@ -24,7 +24,7 @@
 # include <sys/socket.h>
 # include <netinet/in.h>   // htons()
 # ifdef __alpha
-#  include <fp.h>           // htons() [ on e.g. DEC alpha, htons is in machine/endian.h]
+//#  include <fp.h>           // htons() [ on e.g. DEC alpha, htons is in machine/endian.h]
 # endif
 # define SOCKET int
 #elif defined (VCL_WIN32) && !defined(__CYGWIN__)
Index: vxl-1.17.0.dfsg2/core/vul/vul_url.cxx
===================================================================
--- vxl-1.17.0.dfsg2.orig/core/vul/vul_url.cxx
+++ vxl-1.17.0.dfsg2/core/vul/vul_url.cxx
@@ -27,7 +27,7 @@
 # include <sys/socket.h>
 # include <netinet/in.h>   // htons()
 # ifdef __alpha
-#  include <fp.h>          // htons() [ on e.g. DEC alpha, htons is in machine/endian.h ]
+//#  include <fp.h>          // htons() [ on e.g. DEC alpha, htons is in machine/endian.h ]
 # endif
 # define SOCKET int
 

Reply via email to