Subject: | Bug in PDL 2.4.2 build on Irix |
Date: | Tue, 01 Aug 2006 13:55:28 +0100 |
To: | bug-PDL [...] rt.cpan.org |
From: | "Gordon Lack" <gml4410 [...] ggr.co.uk> |
Version: PDL-2.4.2 - Perl 5.8.5
Problem:
I built PDL for perl 5.8.5 on Irix6.5 (I turned *off* 3D, KARMA,
PLPLOT, SLATEC, GSL and FFTW, so those have not been testd by me).
The build failed one test - test 20 in t/primitive.
The problem was that $a->uniqvec was returning [2,2],[0,1] instead of
[0,1],[2,2]. I tracked this down to qsortvec not working as expected.
Looking at the code for this (briefly) I saw quite a bit of use of
"char" variables. On Irix (cc or gcc) "char" is unsigned. On the other
architecures I was building for (Linux, OSF1 and Solaris) it is signed,
and these all passed.
Rebuilding with 'make CC="cc -n32 -signed"' fixed the problem for me,
but it looks as though the code should be using int8_t (from
<inttypes.h>) rather than char, as it's expecting it to be signed.
Gordon Lack
Application Environmentalist