Failure to compile Octave 3.0.2 on AIX 5.3
John W. Eaton
jwe at bevo.che.wisc.edu
Fri Oct 3 10:29:01 CDT 2008
On 3-Oct-2008, Alisdair Tullo wrote:
| Hi,
|
| On Fri, 3 Oct 2008, John W. Eaton wrote:
| > What is the output from running
| >
| > nm boolSparse.o | grep mx_el_eq
| >
| > on your system?
|
| Here's the output, no unmangling was necessary.
|
| $ nm -X 64 boolSparse.o | grep mx_el_eq
| .mx_el_eq(const SparseBoolMatrix&,const SparseBoolMatrix&) T 29060
| .mx_el_eq(const SparseBoolMatrix&,const bool&) T 19116
| .mx_el_eq(const SparseBoolMatrix&,const double&) U -
| .mx_el_eq(const bool&,const SparseBoolMatrix&) T 24088
| .mx_el_eq(const double&,const SparseBoolMatrix&) U -
| mx_el_eq(const SparseBoolMatrix&,const SparseBoolMatrix&) D 120400 24
| mx_el_eq(const SparseBoolMatrix&,const SparseBoolMatrix&) d 117592 8
| mx_el_eq(const SparseBoolMatrix&,const bool&) D 120208 24
| mx_el_eq(const SparseBoolMatrix&,const bool&) d 117528 8
| mx_el_eq(const bool&,const SparseBoolMatrix&) D 120304 24
| mx_el_eq(const bool&,const SparseBoolMatrix&) d 117560 8
OK, these symbols (at least the ones involving bool scalars) should be
coming from the
SPARSE_SMS_EQNE_OP_DECLS (SparseBoolMatrix, bool, OCTAVE_API)
SPARSE_SMS_BOOL_OP_DECLS (SparseBoolMatrix, bool, OCTAVE_API)
SPARSE_SSM_EQNE_OP_DECLS (bool, SparseBoolMatrix, OCTAVE_API)
SPARSE_SSM_BOOL_OP_DECLS (bool, SparseBoolMatrix, OCTAVE_API)
SPARSE_SMSM_EQNE_OP_DECLS (SparseBoolMatrix, SparseBoolMatrix, OCTAVE_API)
SPARSE_SMSM_BOOL_OP_DECLS (SparseBoolMatrix, SparseBoolMatrix, OCTAVE_API)
macros in boolSparse.h and
SPARSE_SMS_EQNE_OPS (SparseBoolMatrix, false, , bool, false, )
SPARSE_SMS_BOOL_OPS (SparseBoolMatrix, bool, false)
SPARSE_SSM_EQNE_OPS (bool, false, , SparseBoolMatrix, false, )
SPARSE_SSM_BOOL_OPS (bool, SparseBoolMatrix, false)
SPARSE_SMSM_EQNE_OPS (SparseBoolMatrix, false, , SparseBoolMatrix, false, )
SPARSE_SMSM_BOOL_OPS (SparseBoolMatrix, SparseBoolMatrix, false)
in boolSparse.cc. But I odn't see any place that there are
declarations for the double versions.
Can you capture the preprocessed output from xlC? That should at
least show where these are declared or referenced in this file. With
g++ I'd add the -save-temps option to CXXFLAGS and run
make boolSparse.o
in the liboctave directory in the build tree. I don't know what the
corresponding option is for xlC.
jwe
More information about the Help-octave
mailing list