ATLAS broken on OpenSolaris - different reason to on SPARC.

89 views
Skip to first unread message

David Kirkby

unread,
Oct 11, 2013, 4:54:07 PM10/11/13
to sage-devel
I reported earlier that ATLAS breaks on SPARC, but it is breaking on
OpenSolaris too, so I would expect it to break on Solaris 12 too. The
reason it breaks on OpenSolaris seems a bit odd - a bad flag (-V) is
sent to gcc. So it is a non-GNUism !!!

drkirkby@hawk:~/unsets/sage-5.13.beta0$ cat /etc/release
OpenSolaris Development snv_134 X86
Copyright 2010 Sun Microsystems, Inc. All Rights Reserved.
Use is subject to license terms.
Assembled 01 March 2010

A critical bit is below. Note the unreconsided flat -V is sent to gcc.
I suspect it should be --verbose. This appears to be going to an error
log, so perhaps the real cause is above this, but in any case somehow
the compiler is being sent an unacceptable flag. A full log is at
http://sage.math.washington.edu/home/kirkby/atlas-3.10.1.p5.log.gz


make[7]: Entering directory
`/export/home/drkirkby/unsets/sage-5.13.beta0/spkg/build/atlas-3.10.1.p5/ATLAS-build'
uname -a 2>&1 >> bin/INSTALL_LOG/ERROR.LOG
/export/home/drkirkby/unsets/sage-5.13.beta0/local/bin/gcc -v 2>&1 >>
bin/INSTALL_LOG/ERROR.LOG
Using built-in specs.
COLLECT_GCC=/export/home/drkirkby/unsets/sage-5.13.beta0/local/bin/gcc
COLLECT_LTO_WRAPPER=/export/home/drkirkby/unsets/sage-5.13.beta0/local/libexec/gcc/i386-pc-solaris2.11/4.7.3/lto-wrapper
Target: i386-pc-solaris2.11
Configured with: ../src/configure
--prefix=/export/home/drkirkby/unsets/sage-5.13.beta0/local
--with-local-prefix=/export/home/drkirkby/unsets/sage-5.13.beta0/local
--with-gmp=/export/home/drkirkby/unsets/sage-5.13.beta0/local
--with-mpfr=/export/home/drkirkby/unsets/sage-5.13.beta0/local
--with-mpc=/export/home/drkirkby/unsets/sage-5.13.beta0/local
--with-system-zlib --disable-multilib --disable-nls
Thread model: posix
gcc version 4.7.3 (GCC)
/export/home/drkirkby/unsets/sage-5.13.beta0/local/bin/gcc -V 2>&1 >>
bin/INSTALL_LOG/ERROR.LOG
gcc: error: unrecognized command line option '-V'
gcc: fatal error: no input files
compilation terminated.
make[7]: [error_report] Error 1 (ignored)
/export/home/drkirkby/unsets/sage-5.13.beta0/local/bin/gcc --version
2>&1 >> bin/INSTALL_LOG/ERROR.LOG
tar cf error_Corei132SSE3.tar Make.inc bin/INSTALL_LOG/*
bzip2 error_Corei132SSE3.tar
bzip2: Output file error_Corei132SSE3.tar.bz2 already exists.
make[7]: *** [error_report] Error 1
make[7]: Leaving directory
`/export/home/drkirkby/unsets/sage-5.13.beta0/spkg/build/atlas-3.10.1.p5/ATLAS-build'
make[6]: *** [error_report] Error 2
make[6]: Leaving directory
`/export/home/drkirkby/unsets/sage-5.13.beta0/spkg/build/atlas-3.10.1.p5/ATLAS-build'
make[5]: *** [error_report] Error 2
make[5]: Leaving directory
`/export/home/drkirkby/unsets/sage-5.13.beta0/spkg/build/atlas-3.10.1.p5/ATLAS-build/bin'
cat: ../../CONFIG/error.txt: cannot open [No such file or directory]
cat: ../../CONFIG/error.txt: cannot open [No such file or directory]


BEGIN STAGE 1-0-0: SYSTEM PROBE/AUX COMPILE at 18:47
make[4]: *** [build] Error 255
make[4]: Leaving directory
`/export/home/drkirkby/unsets/sage-5.13.beta0/spkg/build/atlas-3.10.1.p5/ATLAS-build'
make[3]: *** [build] Error 2
make[3]: Leaving directory
`/export/home/drkirkby/unsets/sage-5.13.beta0/spkg/build/atlas-3.10.1.p5/ATLAS-build'
Third attempt: use "fast" options.
Fast configuration on Intel i386 compatible CPUs.
Running configure with arch = x86SSE2, isa extensions ('SSE2', 'SSE1')
thread limit None
Traceback (most recent call last):
File "./spkg-install", line 517, in <module>
rc = build(arch='fast')
File "./spkg-install", line 445, in build
rc = configure(arch, isa_ext)
File "./spkg-install", line 271, in configure
shutil.rmtree(BUILD_DIR)
File "/export/home/drkirkby/unsets/sage-5.13.beta0/local/lib/python/shutil.py",
line 256, in rmtree
onerror(os.rmdir, path, sys.exc_info())
File "/export/home/drkirkby/unsets/sage-5.13.beta0/local/lib/python/shutil.py",
line 254, in rmtree
os.rmdir(path)
OSError: [Errno 22] Invalid argument:
'/export/home/drkirkby/unsets/sage-5.13.beta0/spkg/build/atlas-3.10.1.p5/ATLAS-build'

real 1m42.771s
user 0m24.094s
sys 0m10.477s
************************************************************************
Error installing package atlas-3.10.1.p5
************************************************************************

Volker Braun

unread,
Oct 11, 2013, 5:54:07 PM10/11/13
to sage-...@googlegroups.com
I think the gcc -V is not a problem, just the ATLAS build system trying out options. 

It dies when it is unable to delete /export/home/drkirkby/unsets/sage-5.13.beta0/spkg/build/atlas-3.10.1.p5/ATLAS-build, whats up with that directory? Is there some weird filesystem that disallows unlink for some reason?

Dr. David Kirkby

unread,
Oct 11, 2013, 6:50:42 PM10/11/13
to sage-devel
The file system is the 128-bit ZFS. I could delete the directory using
rmdir. But a look at the man page for unlink says

"Only super-users can use these commands on directories."

so that is why it is failing. See below for part of the man page

drkirkby@hawk:~$ man unlink
Reformatting page. Please Wait... done

System Administration Commands link(1M)

NAME
link, unlink - link and unlink files and directories

SYNOPSIS
/usr/sbin/link existing-file new-file

/usr/xpg4/bin/link existing-file new-file

/usr/sbin/unlink file

DESCRIPTION
The link and unlink commands link and unlink files and
directories. Only super-users can use these commands on
directories.

Use link to create a new file that points to an existing
file. The existing-file and new-file operands specify the
existing file and newly-created files. See OPERANDS.

link and unlink directly invoke the link(2) and unlink(2)
system calls, performing exactly what they are told to do
and abandoning all error checking. This differs from the
ln(1) command. See ln(1).

While linked files and directories can be removed using
unlink, it is safer to use rm(1) and rmdir(1) instead. See
rm(1) and rmdir(1).



Dave
> --
> You received this message because you are subscribed to the Google Groups
> "sage-devel" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to sage-devel+...@googlegroups.com.
> To post to this group, send email to sage-...@googlegroups.com.
> Visit this group at http://groups.google.com/group/sage-devel.
> For more options, visit https://groups.google.com/groups/opt_out.

Volker Braun

unread,
Oct 11, 2013, 7:05:58 PM10/11/13
to sage-...@googlegroups.com
No, thats not it. I used unlink and rm interchangeably. Its weird that unlink is superuser-only on that system but then its not used.

The problem seems to be that you can't delete the current directory (cwd) on that particular filesystem. On all other platforms thats not an issue. I'll update the spkg 

Volker Braun

unread,
Oct 11, 2013, 7:14:03 PM10/11/13
to sage-...@googlegroups.com

Volker Braun

unread,
Oct 11, 2013, 7:17:32 PM10/11/13
to sage-...@googlegroups.com
Trac seems to not work, but update spkg is here: ​http://boxen.math.washington.edu/home/vbraun/spkg/atlas-3.10.1.p6.spkg

Please test and let us know if you get any further...

Dr. David Kirkby

unread,
Oct 11, 2013, 9:25:43 PM10/11/13
to sage-devel
No, it fails. The first significant error I can see is an invalid
syntax for the assembler, which by the way is the GNU assembler
version 2.20.

gcc -fPIC -m32 -x assembler-with-cpp -DL2SIZE=4194304
-I/export/home/drkirkby/unsets/sage-5.13.beta0/spkg/build/atlas-3.10.1.p6/ATLAS-build/include
-I/export/home/drkirkby/unsets/sage-5.13.beta0/spkg/build/atlas-3.10.1.p6/ATLAS-build/../src/ATLAS//include
-I/export/home/drkirkby/unsets/sage-5.13.beta0/spkg/build/atlas-3.10.1.p6/ATLAS-build/../src/ATLAS//include/contrib
-DAdd_ -DF77_INTEGER=int -DStringSunStyle -DATL_OS_SunOS
-DATL_ARCH_Corei1 -DATL_CPUMHZ=3325 -DSUN_HR -DATL_SSE3 -DATL_SSE2
-DATL_SSE1 -DATL_GAS_x8632 -m32 -DATL_FULL_LAPACK -DATL_NCPU=8 -DDREAL
-o ATL_dnrm2_xp0yp0aXbX.o -c ATL_dnrm2_xp0yp0aXbX.c
Assembler:
"/var/tmp//ccJHa4eJ.s", line 14 : Syntax error
Near line: " fmul %st, %st"
make[9]: *** [ATL_dnrm2_xp0yp0aXbX.o] Error 1
make[9]: Leaving directory
`/export/home/drkirkby/unsets/sage-5.13.beta0/spkg/build/atlas-3.10.1.p6/ATLAS-build/src/blas/level1'
make[8]: *** [dgen] Error 2
make[8]: Leaving directory
`/export/home/drkirkby/unsets/sage-5.13.beta0/spkg/build/atlas-3.10.1.p6/ATLAS-build/src/blas/level1'
make[7]: *** [dlib] Error 2
make[7]: Leaving directory
`/export/home/drkirkby/unsets/sage-5.13.beta0/spkg/build/atlas-3.10.1.p6/ATLAS-build/src/blas/level1'

It makes me wonder if its a gcc bug if it sends invalid syntax to the
assembler. It is normal to use the GNU assembler on Solaris x86.

Dave
atlas-3.10.1.p6.log.gz

Volker Braun

unread,
Oct 12, 2013, 7:21:00 AM10/12/13
to sage-...@googlegroups.com
The invalid assembler is normal, ATLAS has various implementations and it tries to compile them all (and then time the ones where compilations succeeds).

I had a mistake in the spkg, updated version is again here: ​http://boxen.math.washington.edu/home/vbraun/spkg/atlas-3.10.1.p6.spkg

Dr. David Kirkby

unread,
Oct 12, 2013, 8:11:44 PM10/12/13
to sage-devel
It failed again. I've not looked at the reason, and in any case you
know more how to understand this than me. But I've attached the log.
I'm guessing this log might have the two builds in it, first with your
.p6 which had an error, then your revised .p6
atlas-3.10.1.p6.log.gz

Volker Braun

unread,
Oct 12, 2013, 9:27:03 PM10/12/13
to sage-...@googlegroups.com
Log ends with "Successfully installed atlas-3.10.1.p6" ;-)

Dr. David Kirkby

unread,
Oct 13, 2013, 4:03:49 AM10/13/13
to sage-devel
I could have swore I see a message on the screen that the package had
not installed and the build stopped. I just looked in
sage-5.13.beta0/spkg/installed and see the atlas file is there, so I
guess it must have installed.

Now I see what confused me. After running make again, it reported the
.p5 failed.

OK, ATLAS issue resolved on Solaris x86 - SPARC still an issue though

Jean-Pierre Flori

unread,
Oct 14, 2013, 5:51:17 AM10/14/13
to sage-...@googlegroups.com


On Sunday, October 13, 2013 10:03:49 AM UTC+2, Dr David Kirkby wrote:
I could have swore I see a message on the screen that the package had
not installed and the build stopped. I just looked in
sage-5.13.beta0/spkg/installed and see the atlas file is there, so I
guess it must have installed.

Now I see what confused me. After running make again, it reported the
.p5 failed.

OK, ATLAS issue resolved on Solaris x86 - SPARC still an issue though

Solaris/SPARC should be ok now.
At least I could build a bdist of Sage 5.12 (with SAGE_FAT_BINARY=yes) which is available at http://boxen.math.washington.edu/home/jpflori/dist/

Best,
JP

Dr. David Kirkby

unread,
Oct 14, 2013, 7:10:09 AM10/14/13
to sage-devel
On 14 October 2013 10:51, Jean-Pierre Flori <jpf...@gmail.com> wrote:

> Solaris/SPARC should be ok now.
> At least I could build a bdist of Sage 5.12 (with SAGE_FAT_BINARY=yes) which
> is available at http://boxen.math.washington.edu/home/jpflori/dist/
>
> Best,
> JP

I assume you using the GNU linker, not the Sun linker for GCC, since
my gcc was configured to use the Sun linker, which is generally
considered the preferable option. The Sun/Oracle linker would
automatically be used if someone downloaded Sage and it built the gcc
package, since that defaulted to using the Sun linker. Sage does not
ship the GNU linker.

The ATLAS package needs to be able to pass the right flags to the
linker. Given it tests what linker one has, it makes no sence to
detect the linker is not the GNU one, then send it a load of
GNU-specific flags.

Dave
Reply all
Reply to author
Forward
0 new messages