help-octave
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: 2.9.6 build fails on an Opteron RHEL4


From: John W. Eaton
Subject: Re: 2.9.6 build fails on an Opteron RHEL4
Date: Tue, 13 Jun 2006 10:06:57 -0400

On 13-Jun-2006, Fredrik Lingvall wrote:

| John W. Eaton wrote:
| >
| > Why these options?  In particular, why -pthread?  That won't make
| > Octave thread safe.
| >   
| I think -pthread is needed since I use threads in my oct-files.
| >
| > Precisely what compiler is this?  
| configure:2323: gcc -v >&5
| Reading specs from /usr/lib/gcc/x86_64-redhat-linux/3.4.4/specs
| Configured with: ../configure --prefix=/usr --mandir=/usr/share/man 
| --infodir=/u
| sr/share/info --enable-shared --enable-threads=posix --disable-checking 
| --with-s
| ystem-zlib --enable-__cxa_atexit --disable-libunwind-exceptions 
| --enable-java-aw
| t=gtk --host=x86_64-redhat-linux

I was asking about the Fortran compiler.

| > When you specify --enable-64, Octave
| > is compiled to assume that Fortran integers are 8 bytes wide.  Does
| > this compiler do that automatically, or have you provided the
| > appropriate flags for that?  Also, are your custom BLAS and LAPACK
| > libraries compiled so that the integers are 8 bytes wide?
| >   
| I use K. Goto's BLAS (and a LAPACK compiled against  the GOTO BLAS lib).

So, is it compiled in a way that ensures that the integer quantities
are 8 byte signed integers?

| > Finally, --enable-64 is still somewhat experimental, so unless you
| > really need to work with Arrays larger than 2GB, or you would like to
| > help improve Octave's 64-bit capabilities, I'd recommend against using
| > this configure option.
| >   
| I work with huge matrices so I need --enable-64, but with no 
| CC/CXX/F/LD-FLAGS defined and
| doing just a vanilla configure the build still fails (at another file 
| though):
| 
| ./configure
| 
| ...
| 
| make
| 
| ...
| 
| dynamic-ld.cc:268: error: ISO C++ forbids casting between 
| pointer-to-function and pointer-to-object
| make[2]: *** [pic/dynamic-ld.o] Error 1
| make[2]: Leaving directory `/ifi/fenris/p13/fl/OPTERON/octave-2.9.6/src'
| make[1]: *** [src] Error 2
| make[1]: Leaving directory `/ifi/fenris/p13/fl/OPTERON/octave-2.9.6'
| make: *** [all] Error 2

This is a bug in g++.  But since I'm already tired of telling people
that, I added some code to Octave to work around the bug.  The patch
is here:

  http://www.cae.wisc.edu/pipermail/octave-maintainers/2006-June/000309.html

And you might also want the following patch which will help to avoid
copies of matrices in some situtations:

  http://www.cae.wisc.edu/pipermail/octave-maintainers/2006-June/000316.html

And, since you are depending on some relatively experimental code, you
might want to start following the maintainers list.

jwe


reply via email to

[Prev in Thread] Current Thread [Next in Thread]