[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Octave-bug-tracker] [bug #59475] Exceptions Running Octave with 64-bit
From: |
anonymous |
Subject: |
[Octave-bug-tracker] [bug #59475] Exceptions Running Octave with 64-bit Indexes |
Date: |
Tue, 17 Nov 2020 10:48:00 -0500 (EST) |
User-agent: |
Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:78.0) Gecko/20100101 Firefox/78.0 |
URL:
<https://savannah.gnu.org/bugs/?59475>
Summary: Exceptions Running Octave with 64-bit Indexes
Project: GNU Octave
Submitted by: None
Submitted on: Tue 17 Nov 2020 03:47:58 PM UTC
Category: Configuration and Build System
Severity: 3 - Normal
Priority: 5 - Normal
Item Group: Segfault, Bus Error, etc.
Status: None
Assigned to: None
Originator Name: David Laxer
Originator Email: davidl@softintel.com
Open/Closed: Open
Release: dev
Discussion Lock: Any
Operating System: GNU/Linux
_______________________________________________________
Details:
Initially, 64-bit BLAS array dims and indexing: was 'NO'.
{{{
./../configure --prefix=$HOME/my_octave CPPFLAGS="-I/usr/include/suitesparse"
--with-blas="-lopenblas" -with-lapack=-llapack --enable-64
}}}
So, in 'configure' I had to manually set
ax_blas_integer_size=8
'configure' output:
{{{
64-bit BLAS array dims and indexing: yes
Octave is now configured for x86_64-pc-linux-gnu
Source directory: ./..
Installation prefix: /home/ubuntu/my_octave
C compiler: gcc -pthread -fopenmp -Wall -W -Wshadow
-Wformat -Wpointer-arith -Wmissing-prototypes -Wstrict-prototypes
-Wwrite-strings -Wcast-align -Wcast-qual -g -O2
C++ compiler: g++ -pthread -fopenmp -Wall -W -Wshadow
-Woverloaded-virtual -Wold-style-cast -Wformat -Wpointer-arith -Wwrite-strings
-Wcast-align -Wcast-qual -g -O2
Fortran compiler: gfortran -g -O2 -std=legacy
Fortran libraries: -L/usr/lib/gcc/x86_64-linux-gnu/9
-L/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu
-L/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib -L/lib/x86_64-linux-gnu
-L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib
-L/usr/lib/gcc/x86_64-linux-gnu/9/../../.. -lgfortran -lm -lquadmath
Lex libraries:
LIBS: -lutil -lm
LDFLAGS:
Extra LDFLAGS:
AMD CPPFLAGS:
AMD LDFLAGS:
AMD libraries: -lamd
ARPACK CPPFLAGS: -I/usr/include/arpack
ARPACK LDFLAGS:
ARPACK libraries: -larpack
BLAS libraries: -lopenblas
BZ2 CPPFLAGS:
BZ2 LDFLAGS:
BZ2 libraries: -lbz2
CAMD CPPFLAGS:
CAMD LDFLAGS:
CAMD libraries: -lcamd
CARBON libraries:
CCOLAMD CPPFLAGS:
CCOLAMD LDFLAGS:
CCOLAMD libraries: -lccolamd
CHOLMOD CPPFLAGS:
CHOLMOD LDFLAGS:
CHOLMOD libraries: -lcholmod
COLAMD CPPFLAGS:
COLAMD LDFLAGS:
COLAMD libraries: -lcolamd
CURL CPPFLAGS:
CURL LDFLAGS:
CURL libraries: -lcurl
CXSPARSE CPPFLAGS:
CXSPARSE LDFLAGS:
CXSPARSE libraries: -lcxsparse
DL libraries: -ldl
FFTW3 CPPFLAGS:
FFTW3 LDFLAGS:
FFTW3 libraries: -lfftw3_threads -lfftw3
FFTW3F CPPFLAGS:
FFTW3F LDFLAGS:
FFTW3F libraries: -lfftw3f_threads -lfftw3f
FLTK CPPFLAGS: -I/usr/include/cairo -I/usr/include/glib-2.0
-I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/pixman-1
-I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16
-I/usr/include/freetype2 -I/usr/include/libpng16
FLTK LDFLAGS:
FLTK libraries: -lfltk_gl -lfltk -lX11
fontconfig CPPFLAGS: -I/usr/include/uuid -I/usr/include/freetype2
-I/usr/include/libpng16
fontconfig libraries: -lfontconfig -lfreetype
FreeType2 CPPFLAGS: -I/usr/include/freetype2
-I/usr/include/libpng16
FreeType2 libraries: -lfreetype
GLPK CPPFLAGS:
GLPK LDFLAGS:
GLPK libraries: -lglpk
HDF5 CPPFLAGS: -I/usr/include/hdf5/serial
HDF5 LDFLAGS: -L/usr/lib/x86_64-linux-gnu/hdf5/serial
HDF5 libraries: -lhdf5
Java home: /usr/lib/jvm/java-8-oracle
Java JVM path:
/usr/lib/jvm/java-8-oracle/jre/lib/amd64/server
Java CPPFLAGS: -I/usr/lib/jvm/java-8-oracle/include
-I/usr/lib/jvm/java-8-oracle/include/linux
Java libraries:
KLU CPPFLAGS:
KLU LDFLAGS:
KLU libraries: -lklu
LAPACK libraries: -llapack
LLVM CPPFLAGS:
LLVM LDFLAGS:
LLVM libraries:
Magick++ CPPFLAGS: -I/usr/include/GraphicsMagick
Magick++ LDFLAGS:
Magick++ libraries: -lGraphicsMagick++ -lGraphicsMagick
OpenGL libraries: -lGL -lGLU
PCRE CPPFLAGS:
PCRE LDFLAGS:
PCRE libraries: -lpcre
PortAudio CPPFLAGS:
PortAudio LDFLAGS:
PortAudio libraries: -lportaudio -lasound -lm -lpthread
PTHREAD flags: -pthread
PTHREAD libraries:
QHULL CPPFLAGS:
QHULL LDFLAGS:
QHULL libraries: -lqhull
QRUPDATE CPPFLAGS:
QRUPDATE LDFLAGS:
QRUPDATE libraries: -lqrupdate
Qt CPPFLAGS: -I/usr/include/x86_64-linux-gnu/qt5/QtNetwork
-I/usr/include/x86_64-linux-gnu/qt5
-I/usr/include/x86_64-linux-gnu/qt5/QtPrintSupport
-I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtHelp
-I/usr/include/x86_64-linux-gnu/qt5
-I/usr/include/x86_64-linux-gnu/qt5/QtWidgets
-I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtGui
-I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtSql
-I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtXml
-I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtCore
-I/usr/include/x86_64-linux-gnu/qt5
Qt LDFLAGS:
Qt GUI libraries: -lQt5Network -lQt5PrintSupport -lQt5Help
-lQt5Widgets -lQt5Gui -lQt5Sql -lQt5Xml -lQt5Core -lqscintilla2_qt5
Qt OpenGL libraries: -lQt5OpenGL -lQt5Widgets -lQt5Gui -lQt5Core
Qt moc: moc -qt5
Qt uic: uic -qt5
Qt rcc: rcc -qt5
Qt lrelease: lrelease -qt5
Qt qcollectiongenerator: qcollectiongenerator -qt5
Qt qhelpgenerator: qhelpgenerator -qt5
READLINE libraries: -lreadline
Sndfile CPPFLAGS:
Sndfile LDFLAGS:
Sndfile libraries: -lsndfile
SuiteSparse config libraries: -lsuitesparseconfig
SUNDIALS IDA CPPFLAGS:
SUNDIALS IDA LDFLAGS:
SUNDIALS IDA libraries: -lsundials_ida
SUNDIALS NVECTOR CPPFLAGS:
SUNDIALS NVECTOR LDFLAGS:
SUNDIALS NVECTOR libraries: -lsundials_nvecserial
SUNLINSOL KLU CPPFLAGS:
SUNLINSOL KLU LDFLAGS:
SUNLINSOL KLU libraries: -lsundials_sunlinsolklu
TERM libraries: -lncurses
UMFPACK CPPFLAGS:
UMFPACK LDFLAGS:
UMFPACK libraries: -lumfpack
X11 include flags:
X11 libraries: -lX11
Z CPPFLAGS:
Z LDFLAGS:
Z libraries: -lz
Default pager: less
gnuplot: gnuplot
Build Octave Qt GUI: yes (version: 5)
JIT compiler for loops: no
Build Java interface: yes
Build static libraries: no
Build shared libraries: yes
Dynamic Linking API: dlopen
Include support for GNU readline: yes
Use push parser in command line REPL: yes
64-bit array dims and indexing: yes
64-bit BLAS array dims and indexing: yes
OpenMP SMP multithreading: yes
Truncate intermediate FP results: yes
Build cross tools: no
Build docs: yes
}}}
I'm not sure why configure was
Initially, 64-bit BLAS array dims and indexing: was 'NO'.
I ran this test program which exited normally with no errors:
{{{
$ gfortran -o conftest -g -O2 conftest.f -lopenblas
```
conftest.f:
program main
integer*8 two, n
integer*4 n2(2)
double precision d, a(1), b(1), ddot
equivalence (n, n2)
a(1) = 1.0
b(1) = 1.0
c Generate 2**32 + 1 in an 8-byte integer. Whether we have a big
c endian or little endian system, both 4-byte words of this value
c should be 1.
two = 2
n = (two ** 32) + 1
c Check that our expectation about the type conversions are correct.
if (n2(1) .ne. 1 .or. n2(2) .ne. 1) then
print *, 'invalid assumption about integer type conversion'
stop 2
endif
* print *, n, n2(1), n2(2)
* print *, a(1), b(1)
c DDOT will either see 1 or a large value for N. Since INCX and INCY
c are both 0, we will never increment the index, so A and B only need to
c have a single element. If N is interpreted as 1 (BLAS compiled with 4
c byte integers) then the result will be 1. If N is interpreted as a
c large value (BLAS compiled with 8 byte integers) then the result will
c be the summation a(1)*b(1) 2^32+1 times. This will also take some
c time to compute, but at least for now it is the unusual case so we are
c much more likely to exit quickly after detecting that the BLAS library
c was compiled with 4-byte integers.
d = ddot (n, a, 0, b, 0)
* print *, a(1), b(1), d
c Success (0 exit status) means we detected BLAS compiled with
c 8-byte integers.
if (d .eq. 1.0) then
stop 1
endif
end
}}}
Finally, make failed running: ./.build/doc/interpreter/splinefit4.eps
with index out of range' in ../liboctave/numeric/qr.cc, running
{{{
./scripts/polynomial/splinefit.m
in __splinefit__
doing qr:
[Q,R,dummy] = qr(B2); %#ok
}}}
_______________________________________________________
Reply to this item at:
<https://savannah.gnu.org/bugs/?59475>
_______________________________________________
Message sent via Savannah
https://savannah.gnu.org/
- [Octave-bug-tracker] [bug #59475] Exceptions Running Octave with 64-bit Indexes,
anonymous <=
- [Octave-bug-tracker] [bug #59475] Exceptions Running Octave with 64-bit Indexes, John W. Eaton, 2020/11/17
- [Octave-bug-tracker] [bug #59475] Exceptions Running Octave with 64-bit Indexes, david laxer, 2020/11/17
- [Octave-bug-tracker] [bug #59475] Exceptions Running Octave with 64-bit Indexes, Markus Mützel, 2020/11/17
- [Octave-bug-tracker] [bug #59475] Exceptions Running Octave with 64-bit Indexes, david laxer, 2020/11/17
- [Octave-bug-tracker] [bug #59475] Exceptions Running Octave with 64-bit Indexes, Markus Mützel, 2020/11/17
- [Octave-bug-tracker] [bug #59475] Exceptions Running Octave with 64-bit Indexes, david laxer, 2020/11/17
- [Octave-bug-tracker] [bug #59475] Exceptions Running Octave with 64-bit Indexes, Markus Mützel, 2020/11/17
- [Octave-bug-tracker] [bug #59475] Exceptions Running Octave with 64-bit Indexes, david laxer, 2020/11/17
- [Octave-bug-tracker] [bug #59475] Exceptions Running Octave with 64-bit Indexes, Markus Mützel, 2020/11/17
- [Octave-bug-tracker] [bug #59475] Exceptions Running Octave with 64-bit Indexes, Markus Mützel, 2020/11/17