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