From bug-octave-request at bevo dot che dot wisc dot edu Sun Oct 10 21:31:30 1999 Subject: bug report for octave-2.1.14 with gcc-2.95.1 on sco-3.2v5.0.4 From: Joao Cardoso To: "bug-octave at bevo dot che dot wisc dot edu" Date: Mon, 11 Oct 1999 03:30:46 +0100 Hi, Trying to compile octave-2.1.14 with gcc-2.95.1 on sco-3.2v5.0.4 gives the following errors: 1: /src/octave-2.1.14/liboctave/idx-vector.cc: In function `void sort_data(int *, int)': /src/octave-2.1.14/liboctave/idx-vector.cc:469: converting `int (*)(int *, int *)' to `int (*)(const void *, const void *)' is a contravariance violation which vanish with the simple patch: static inline int // jc: intcmp (int *ii, int *jj) intcmp (const void *ii, const void *jj) { // jc: return (*ii - *jj); return ((int *)ii - (int *)jj); } 2: pic/ov-ch-mat.o: fatal error: symbol `octave_base_matrix::rows(void) const` multiply-defined, also in file pic/ov-base.o Using `nm' show much more "octave_base_matrix" doubly defined in those files. Can't fix. 3: /src/octave-2.1.14/src/utils.cc: In function `int almost_match(const string &, const string &, int = 1, int = 1)': /src/octave-2.1.14/src/utils.cc:107: implicit declaration of function `int strncasecmp(...)' implicit declarations are forbidden (strncasecmp in this case). As it is declared in my system in ,origrama-lo... I fixed it in src/utils.cc as follow: #ifdef HAVE_STRNCASECMP #include "strings.h" // jc: #else extern "C" int strncasecmp (const char*, const char*, size_t); #endif Joao -- Joao Cardoso, INESC | e-mail: R. Jose Falcao 110 | tel: + 351 2 2094345 4050 Porto, Portugal | fax: + 351 2 2008487 --------------------------------------------------------------------- Octave is freely available under the terms of the GNU GPL. To ensure that development continues, see www.che.wisc.edu/octave/giftform.html Instructions for unsubscribing: www.che.wisc.edu/octave/archive.html ---------------------------------------------------------------------