bug in ATLAS configure script?
Hahn Kim
hgk at ll.mit.edu
Mon Jul 24 17:28:11 UTC 2006
Hello,
I am trying to build SourceryVSIPL++ 1.1 and think I may have found a
bug in the ATLAS configure script. When I run VSIPL++'s configure
script with the following command:
./configure --prefix=<my install dir>
the following output is generated:
===============================================================
ATLAS: CC gcc
ATLAS: F77 g77
ATLAS: CFLAGS -g -O2
checking build system type... i686-pc-linux-gnu
checking host system type... i686-pc-linux-gnu
checking for i686-pc-linux-gnu-gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ANSI C... none needed
checking for machine type... linux arch x86_32
PII
checking for asm style... GAS_x8632
checking for AltiVec ISA... not found.
checking for SSE3... not found.
checking for SSE2... not found.
checking for SSE1... FOUND.
ARCH: Linux_PIISSE1
checking for L2 cache size... line: cache size : 256 KB
cache size : 256 KB
sizek: 256
sizem:
L2 Cache size: 256
checking C compiler family... GCC
checking mach/compiler specific flags... none
checking for architectural defaults (CONFIG/ARCHS/PIISSE1.tgz)...
DIR ../.././vendor/atlas/CONFIG/ARCHS/PIISSE1.tgz
configure: error: NOT FOUND.
===============================================================
configure: error: built-in ATLAS configure FAILED.
The notable part is that ATLAS thinks I have Pentium 2 processor
using SSE1 ("ARCH: Linux_PIISSE1"), which doesn't exist. I looked at
ATLAS' configure script and found the following code snippet starting
at line 2722 that determines what type of Pentium architecture I am
using:
if test "`echo $model | sed -n /Pentium/p`" != ""; then
if test "`echo $model | sed -n /III/p`" = "match"; then
mach="PIII"
elif test "`echo $model | sed -n '/ II/p'`" != ""; then
mach="PII"
...
Now, I'm not very familiar with UNIX shell scripting or sed, but the
2nd line looks to be testing for equality with the string "match".
However, I have not been able to find any other section of code that
tests for "match"; it seems that all other tests are testing for
inequality to an empty string. If I change the 2nd line to the
following:
if test "`echo $model | sed -n /III/p`" != ""; then
then VSIPL++'s configure seems to work just fine.
Is this a typo? Thanks.
Hahn
--
Hahn Kim
MIT Lincoln Laboratory Phone: (781) 981-0940
244 Wood Street, S2-252 Fax: (781) 981-5255
Lexington, MA 02420 E-mail: hgk at ll.mit.edu
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://sourcerytools.com/pipermail/vsipl++/attachments/20060724/1d7b96c3/attachment.html>
More information about the vsipl++
mailing list