Bug List: (This bug is not in your last search results)   Show last search results      Search page      Enter new bug
Bug#: 76067
Alias:
Product:
Component:
Status: RESOLVED
Resolution: FIXED
Assigned To: Gentoo Science Related Packages <sci@gentoo.org>
Hardware:
OS:
Version:
Priority:
Severity:
Reporter: John <jalyvr@hotmail.com>
Add CC:
CC:
Remove selected CCs
URL:
Summary:
Status Whiteboard:
Keywords:

Filename Description Type Creator Created Size Actions
Create a New Attachment (proposed patch, testcase, etc.) View All

Bug 76067 depends on: Show dependency tree
Bug 76067 blocks:
Votes: 0    Show votes for this bug    Vote for this bug

Additional Comments: (this is where you put emerge --info)


Not eligible to see or edit group visibility for this bug.






View Bug Activity   |   Format For Printing   |   XML   |   Clone This Bug


Description:   Opened: 2004-12-29 12:38 0000
After apparantly successful emerge (after the USE=f77 detour), simple anova
test fails with DGAMLM unable to compute XMAX.  No usable results from Octave
are possible.

Reading the DGAMLM source from netlib, XMAX is an upper limit on the valid
range to compute to Gamma function.

The machine is AMD XP 2500, 1GB.  Octave is 2.1.50

Reproducible: Didn't try
Steps to Reproduce:
1.  Emerge Octave
2.  Run anova statistical test as detailed below
3.

Actual Results:  
bash-2.05b$ octave
GNU Octave, version 2.1.50 (i486-pc-linux-gnu).
Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 John W. Eaton.
This is free software; see the source code for copying conditions.
There is ABSOLUTELY NO WARRANTY; not even for MERCHANTIBILITY or
FITNESS FOR A PARTICULAR PURPOSE.  For details, type `warranty'.

Please contribute if you find this software useful.
For more information, visit http://www.octave.org/help-wanted.html

Report bugs to <bug-octave@bevo.che.wisc.edu>.

octave:1> y = [1 3 4 2 1 5 3 5 6 7 4 5 7 10 11 3]';
octave:2> g = [1 1 1 1 1 1 1 1 2 2 2 2 2 3 3 3]';
octave:3> anova(y, g)
 ***MESSAGE FROM ROUTINE DGAMLM IN LIBRARY SLATEC.
 ***FATAL ERROR, PROG ABORTED, TRACEBACK REQUESTED
 *  UNABLE TO FIND XMAX
 *  ERROR NUMBER = 2
 *
 ***END OF MESSAGE

 ***JOB ABORT DUE TO FATAL ERROR.
0          ERROR MESSAGE SUMMARY
 LIBRARY    SUBROUTINE MESSAGE START             NERR     LEVEL     COUNT
 SLATEC     DGAMLM     UNABLE TO FIND XMAX          2         2         1


octave:3>        

Expected Results:  
According to a published result,
http://www.octave.org/octave-lists/archive/bug-octave.2004/msg00088.html
there should be a result

> anova(y, g)

    One-way ANOVA Table:

    Source of Variation   Sum of Squares    df  Empirical Var
    *********************************************************
    Between Groups               71.5600     2        35.7800
    Within Groups                62.8000    13         4.8308
    ---------------------------------------------------------
    Total                       134.3600    15

    Test Statistic f              7.4067
    p-value                       0.0071





I believe the nature of the statistical data is irrelevent, since DGAMLM is
computing a feature of the computer, not the statistical problem.

# emerge info
Portage 2.0.51-r3 (default-linux/x86/2004.0, gcc-3.3.4,
glibc-2.3.4.20040808-r1,
2.4.20-gentoo-r5 i686)
=================================================================
System uname: 2.4.20-gentoo-r5 i686 AMD Athlon(tm) XP 2500+
Gentoo Base System version 1.4.16
Autoconf: sys-devel/autoconf-2.59-r5
Automake: sys-devel/automake-1.8.5-r1
Binutils: sys-devel/binutils-2.14.90.0.8-r1
Headers:  sys-kernel/linux-headers-2.4.19,sys-kernel/linux-headers-2.4.21-r1
Libtools: sys-devel/libtool-1.5.2-r5
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CFLAGS="-O3 -mcpu=i686 -funroll-loops -pipe"
CHOST="i486-pc-linux-gnu"
COMPILER=""
CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config
/usr/kde/3.1/share/config /usr/kde/3.3/env /usr/kde/3.3/share/config
/usr/kde/3.3/shutdown /usr/kde/3/share/config /usr/share/config
/var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-O3 -mcpu=i686 -funroll-loops -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoaddcvs ccache distlocks sandbox sfperms"
GENTOO_MIRRORS="http://gentoo.mirrored.ca/"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY=""
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="X apm arts avi berkdb bitmap-fonts crypt cups encode esd f77 fam flac
foomaticdb fortran gdbm gif gnome gphoto2 gpm gtk gtk2 imagemagick imlib java
jpeg kde libg++ libwww mad mikmod motif mozilla mpeg mysql ncurses nls
oggvorbis
opengl oss pam pdflib perl png python qt quicktime readline sdl slang spell ssl
svga tcltk tcpd tiff truetype x86 xml xml2 xmms xv zlib"

------- Comment #1 From Danny van Dyk (RETIRED) 2004-12-30 05:36:44 0000 -------
Hi John !

Would you mind trying the latest stable version of octave for your architecture ?
This seems to be octave-2.1.57-r1, as for me (amd64) it works with the very same USE-Flags.

[..]
octave:3> anova(y,g)
One-way ANOVA Table:
Source of Variation   Sum of Squares    df  Empirical Var
*********************************************************
Between Groups                0.2222     2         0.1111
Within Groups                13.0000     2         6.5000
---------------------------------------------------------
Total                        13.2222     4
Test Statistic f              0.0171
p-value                       0.9832
ans = 0.98319
[..]

------- Comment #2 From John 2004-12-30 21:14:21 0000 -------
I tried 2.1.57; no joy: the same XMAX result.  But a new message appears at the
beginning when Octave is started:

bash-2.05b$ octave
warning: lo_ieee_init: unrecognized floating point format!
GNU Octave, version 2.1.57 (i486-pc-linux-gnu).
...etc the same as before....

Google finds this in octave.org with a couple of prior complaints but no
responses or fixes.  So now I suspect a compiler difference.  

Got any further suggestions?

------- Comment #3 From John 2005-01-09 16:41:18 0000 -------
After some research, I discovered ebuild and tried to construct a debuggable
version.  So far I haven't got an unstripped executable but I have somehow
solved the original problem.

I managed to rebuild with CFLAGS="-O3 -mcpu=i686 -g -pipe" replacing
unroll-loops with a debug request.  Although I have not yet figured out how to
avoid stripping the resulting executables, they now work without the
lo_ieee_init mesasge and the dgamlm error about xmax is gone.  Anova works.  

I'm clueless about building with ebuild and adjusting the builds etc so this
may not be reproducable.  However , octave now works for me.

I suspect some compiler optimization is breaking lo_ieee.cc or the slatec
routine d1mach.f.

------- Comment #4 From Joel Metelius 2005-01-20 03:40:23 0000 -------
I have the same problem trying to run
gamma_pdf yields the XMAX error from DGALML (in SLATEC).

I'm also using gentoo and the latest stable octave (2.1.57-r1):

emerge info
Portage 2.0.51-r13 (default-linux/x86/2004.0, gcc-3.3.5, glibc-2.3.4.20041102-r0, 2.6.10-gentoo-r5 i686)
=================================================================
System uname: 2.6.10-gentoo-r5 i686 Intel(R) Pentium(R) 4 CPU 3.00GHz
Gentoo Base System version 1.6.8
Python:              dev-lang/python-2.2.3-r5,dev-lang/python-2.3.4 [2.3.4 (#1, Jun  5 2004, 10:35:17)]
ccache version 2.3 [enabled]
dev-lang/python:     2.2.3-r5, 2.3.4
sys-devel/autoconf:  2.59-r6, 2.13
sys-devel/automake:  1.8.5-r1, 1.8.5-r2, 1.4_p6, 1.6.3, 1.7.9, 1.9.4
sys-devel/binutils:  2.15.92.0.2-r2
sys-devel/libtool:   1.5.10-r2
virtual/os-headers:  2.4.22, 2.4.19-r1
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CFLAGS="-O3 -march=pentium4 -funroll-loops -fprefetch-loop-arrays -pipe"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.1/share/config /usr/kde/3.2/share/config /usr/kde/3.3/env /usr/kde/3.3/share/config/usr/kde/3.3/shutdown /usr/kde/3/share/config /usr/lib/X11/xkb /usr/lib/mozilla/defaults/pref /usr/share/config /usr/share/texmf/dvipdfm/config/ /usr/share/texmf/dvips/config/ /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /usr/share/texmf/xdvi/ /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-O3 -march=pentium4 -funroll-loops -fprefetch-loop-arrays -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoaddcvs autoconfig ccache distlocks sandbox sfperms"
GENTOO_MIRRORS="http://trumpetti.atm.tut.fi/gentoo/ http://ftp.snt.utwente.nl/pub/os/linux/gentoo http://ftp.easynet.nl/mirror/gentoo/ ftp://mirror.pudas.net/gentoo ftp://trumpetti.atm.tut.fi/gentoo/"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="x86 X Xaw3d aalib alsa apache2 apm arts auctex avi berkdb bitmap-fonts bonobo cddb cdr crypt cups dvd dvdr emacs encode esd f77 fam fbcon firebird flac font-server foomaticdb fortran gcl gdbm gif gnome gpm gstreamer gtk gtk2 guile i8x0 imagemagick imlib ipv6 java jikes jpegjunit kde libg++ libwww mad mikmod mmx mmx2 motif mozilla mpeg mysql ncurses nls oggvorbis opengl oss pam pdflib perl png python qt quicktime readline samba sdl slang spell sse sse2 ssl svga tcltk tcpd tetex tiff truetype truetype-fonts type1-fonts xine xinerama xml xml2 xmms xvzlib video_cards_radeon"
Unset:  LDFLAGS, PORTDIR_OVERLAY

------- Comment #5 From Joel Metelius 2005-01-21 00:08:37 0000 -------
finally CFLAGS="-O2 -march=i686 -pipe" compiles a working version.
-O2 was not enough while keeping pentium4 and the other optimizations.

------- Comment #6 From Olivier Fisette 2005-06-04 14:59:07 0000 -------
I was able to reproduce. Combining "-march=pentium4" and "-O3" (at least on my  
machine) causes problems. I added a warning that will be printed when  
installing the package, saying agressive "CFLAGS" can break octave, and  
suggesting to run a sample ANOVA test to verify. Thanks to John and Joel for  
their input.  

I guess that's the best we can do unless someone wants to analyse specific  
optimisations further on various machines and archs so we know what flags to  
filter. Feel free to reopen if you're willing ;)  

Bug List: (This bug is not in your last search results)   Show last search results      Search page      Enter new bug