[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
octave on IBM aix
octave on IBM aix
Fri, 10 Feb 2012 14:16:20 +1300
KMail/4.7.4 (Linux/3.0.6-gentoo; KDE/4.7.4; x86_64; ; )
I rying to get octave to compile and work on a power7 cluster
running IBM Aix 6.1.
I have had some success in the past with octave-3.0.6 and the
IBM compiler on power5 hardware.
I am trying to use IBM XL compiler for the task, that's what worked
before for octave 3.0.6. That was the latest version of octave I could
compile with the compiler I had available. Building a correct gcc and
especially g++ is quite difficult on Aix, this is why I am sticking
as much as possible with XL.
So far I bumped into two issues:
I cannot build a shared library version. This is because even when
I specify --enable-link-all-dependencies in configure, blas and lapack
are not included when linking the shared version of libcruft (there is
also the small issue of symbol duplication of xerbla between libcruft
and blas/lapack - XL doesn't like symbol duplication at all).
The second issue is more serious in my opinion. The following lines
from dNDArray.h CNDArray.h fNDArray.h and fCNDArray.h:
boolNDArray isnan (void) const;
boolNDArray isinf (void) const;
boolNDArray isfinite (void) const;
get expanded during the preprocessing stage to something the compiler
ultimately think is wrong when trying to produce the object. After
preprocessing it looks like this:
boolNDArray ((1) ? ((sizeof(void) == sizeof(float)) ? _isnanf(void) :
_isnan(void)) : (0)) const;
boolNDArray ((1) ? ((sizeof(void) == sizeof(float)) ? _isinff(void) :
_isinf(void)) : (0)) const;
boolNDArray ((1) ? ((sizeof(void) == sizeof(float)) ? _isfinitef(void) :
_isfinite(void)) : (0)) const;
My c++ foo is not that great but I am wondering if the error is from the
compiler (doing wrong preprocessing), libgnu being used and not doing
a good job or just the original code being not standard compliant.
|[Prev in Thread]
||[Next in Thread]|
- octave on IBM aix,
François Bissey <=