我在Windows 7 64位上编译ATLAS时遇到了一些困难,如果有任何帮助,我们将不胜感激!我正试图将其链接到lapack-3.4.1。
我在Cygwin中使用的命令是:
../ATLAS/configure -D c -DWALL --with-netlib-lapack-tarfile=../lapack-3.4.1.tgz -b 64 -Si archdef 0 -Ss ADdir ../ATLAS/WINAD
我得到的输出是:
make: `xconfig' is up to date.
./xconfig -d s /f/Coursework/Code/python/compile/built/../ATLAS/ -d b /f/Coursework/Code/python/compile/built -D c -DWALL -Si lapackref 1 -b 64 -Si archdef 0 -Ss ADdir ../ATLAS/WINAD
gcc.exe: error: /f/Coursework/Code/python/compile/built/../ATLAS//CONFIG/src/probe_asm.c: No such file or directory
gcc.exe: fatal error: no input files
compilation terminated.
make: *** [probe_asm.o] Error 1
gcc.exe: error: /f/Coursework/Code/python/compile/built/../ATLAS//CONFIG/src/probe_vec.c: No such file or directory
gcc.exe: fatal error: no input files
compilation terminated.
make: *** [probe_vec.o] Error 1
gcc.exe: error: /f/Coursework/Code/python/compile/built/../ATLAS//CONFIG/src/probe_arch.c: No such file or directory
gcc.exe: fatal error: no input files
compilation terminated.
make: *** [probe_arch.o] Error 1
gcc.exe: error: /f/Coursework/Code/python/compile/built/../ATLAS//CONFIG/src/probe_arch.c: No such file or directory
gcc.exe: fatal error: no input files
compilation terminated.
make: *** [probe_arch.o] Error 1
gcc.exe: error: /f/Coursework/Code/python/compile/built/../ATLAS//CONFIG/src/probe_arch.c: No such file or directory
gcc.exe: fatal error: no input files
compilation terminated.
make: *** [probe_arch.o] Error 1
gcc.exe: error: /f/Coursework/Code/python/compile/built/../ATLAS//CONFIG/src/probe_arch.c: No such file or directory
gcc.exe: fatal error: no input files
compilation terminated.
make: *** [probe_arch.o] Error 1
gcc -I/f/Coursework/Code/python/compile/built/../ATLAS//CONFIG/include -g -w -o xisgcc /f/Coursework/Code/python/compile/built/../ATLAS//CONFIG/src/IsGcc.c atlconf_misc.o
gcc.exe: error: /f/Coursework/Code/python/compile/built/../ATLAS//CONFIG/src/IsGcc.c: No such file or directory
Makefile:39: recipe for target `xisgcc' failed
make: *** [xisgcc] Error 1
OS configured as Win64 (9)
Bad ASM value=0, res='NULL'
Assembly configured as (0)
Bad VECFLAG value=0, res='NULL'
Vector ISA Extension configured as (0,0)
Bad MACHTYPE value=0, res='NULL'
Architecture configured as UNKNOWN (0)
Bad CPU MHZ value=0, res='NULL'
Clock rate configured as 0Mhz
Bad NCPU value=0, res='NULL'
Maximum number of threads configured as 0
Cannot detect CPU throttling.
ERROR 2 IN SYSCMND: 'make IRun_comp args="-v 0 -o atlconf.txt -O 9 -A 0 -Si nof77 0 -V 0 -b 64"'
xconfig exited with 2
在msys shell中尝试同样的操作会让我:
make: `xconfig' is up to date.
./xconfig -d s /f/Coursework/Code/python/compile/built/../ATLAS/ -d b /f/Coursew
ork/Code/python/compile/built -D c -DWALL -Si lapackref 1 -b 64 -Si archdef 0 -
Ss ADdir ../ATLAS/WINAD
Bad OS value=0, res='NULL'
OS configured as UNKNOWN (0)
Assertion failed: iret, file f:/Coursework/Code/python/compile/built/../ATLAS//C
ONFIG/src/config.c, line 602
This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information.
xconfig exited with 3
msysinfo的输出为:
msysinfo-1.3: Send this to the MSYS support list:
MSYS 1.0.17(0.48/3/2) 2011-04-24 23:39 i686 unknown; targ=MINGW3
GNU bash, version 3.1.17(1)-release (i686-pc-msys); ENV=.profile
GNU Make 3.81This program built for i686-pc-msys; MAKE_MODE=unix
gcc.exe (GCC) 4.7.0; targ=MINGW32
GNU ld (GNU Binutils) 2.22
224 2011-04-25 00:42:29.000000000 +0100 /bin/msys-1.0.dll
659 2010-04-14 15:15:29.000000000 +0100 /bin/msys-archive-2.dll
048 2011-09-10 07:40:32.000000000 +0100 /bin/msys-bz2-1.dll
240 2010-01-29 01:32:57.000000000 +0000 /bin/msys-crypt-0.dll
448 2010-04-14 23:32:54.000000000 +0100 /bin/msys-crypto-1.0.0.d
840 2010-01-29 02:06:29.000000000 +0000 /bin/msys-expat-1.dll
992 2010-01-29 01:49:36.000000000 +0000 /bin/msys-gdbm-3.dll
264 2010-01-29 01:49:36.000000000 +0000 /bin/msys-gdbm_compat-3.
548 2010-05-04 03:04:46.000000000 +0100 /bin/msys-gmp-10.dll
424 2010-05-08 20:26:27.000000000 +0100 /bin/msys-guile-17.dll
112 2010-05-08 20:26:27.000000000 +0100 /bin/msys-guile-srfi-srf
680 2010-05-08 20:26:27.000000000 +0100 /bin/msys-guile-srfi-srf
l
680 2010-05-08 20:26:27.000000000 +0100 /bin/msys-guile-srfi-srf
752 2010-05-08 20:26:27.000000000 +0100 /bin/msys-guile-srfi-srf
680 2010-05-08 20:26:27.000000000 +0100 /bin/msys-guilereadline-
904 2011-10-29 19:18:01.000000000 +0100 /bin/msys-iconv-2.dll
128 2011-10-29 12:22:30.000000000 +0100 /bin/msys-intl-8.dll
246 2010-09-26 06:04:09.000000000 +0100 /bin/msys-ltdl-7.dll
288 2011-09-10 08:01:59.000000000 +0100 /bin/msys-lzma-5.dll
248 2010-04-16 05:50:34.000000000 +0100 /bin/msys-magic-1.dll
064 2010-02-01 22:22:06.000000000 +0000 /bin/msys-minires.dll
544 2010-05-09 01:41:04.000000000 +0100 /bin/msys-opts-25.dll
608 2011-04-27 05:23:31.000000000 +0100 /bin/msys-perl5_8.dll
327 2010-04-28 00:40:27.000000000 +0100 /bin/msys-popt-0.dll
192 2010-02-01 22:29:13.000000000 +0000 /bin/msys-regex-1.dll
544 2010-04-14 23:32:54.000000000 +0100 /bin/msys-ssl-1.0.0.dll
864 2010-02-01 01:44:06.000000000 +0000 /bin/msys-termcap-0.dll
888 2010-02-01 21:40:02.000000000 +0000 /bin/msys-xml2-2.dll
920 2012-05-14 05:29:50.000000000 +0100 /bin/msys-z.dll
88 2010-04-29 19:18:53.000000000 +0100 /bin/make.exe
798 2012-03-31 18:24:11.000000000 +0100 /mingw/bin/gcc.exe
502 2011-11-30 15:20:43.000000000 +0000 /mingw/bin/ld.exe
HOME=/c/Users/Folcon
Sysname=MINGW32_NT-6.1 OSTYPE=msys TERM=cygwin
PATH=.:/usr/local/bin:/mingw/bin:/bin:/c/Program Files (x86)/MiK
TeX 2.9/miktex/bin:/c/Windows/system32:/c/Windows:/c/Windows/Sys
tem32/Wbem:/c/Windows/System32/WindowsPowerShell/v1.0/:/c/Progra
m Files (x86)/ATI Technologies/ATI.ACE/Core-Static:/c/Program Fi
les (x86)/Git/cmd:/c/Program Files (x86)/Aspell/bin:/c/Program F
iles (x86)/gs/gs9.00/bin:/c/msys/gnuwin32/bin:/mingw/bin:/c/Prog
ram Files (x86)/Java/jdk1.6.0_21/bin:/c/Program Files (x86)/Emac
s/emacs/bin:/c/Python25/:/c/Program Files (x86)/TortoiseHg/:/c/P
rogram Files (x86)/Calibre2/:/c/lein:/c/mvn/bin:/c/Program Files
/TortoiseGit/bin:/c/Users/Folcon/.lein/bin:/c/Windows/System32:/
c/Program Files (x86)/Haskell/bin:/c/ghc/ghc-6.12.3/bin:/c/Progr
am Files (x86)/Google/google_appengine/:/c/Python26:/c/Python26/
DLLs:/c/Python26/Scripts:/c/Python26/Lib/site-packages/PyQt4:/c/
Python26/gnuplot/bin:/c/Python26/Lib/site-packages/vtk:/f/Progra
m Files (x86)/pythonxy/console:/f/Program Files (x86)/pythonxy/S
ciTE-2.21:/f/Program Files (x86)/pythonxy/mingw/bin:/c/Users/Fol
con/.lein/bin:/f/C/Program Files (x86)/Git/bin:/cygdrive/c/Progr
am Files (x86)/Java/jdk1.6.0_21/bin:/cygdrive/c/lein:/c/mvn/bin:
/cygdrive/c/Users/Folcon/.lein/bin:/cygdrive/c/Program Files (x8
6)/Haskell/bin:/cygdrive/c/ghc/ghc-6.12.3/bin:/cygdrive/c/Python
26:/cygdrive/c/Python26/DLLs:/cygdrive/c/Python26/Scripts:/cygdr
ive/c/Python26/Lib/site-packages/PyQt4:/cygdrive/c/Python26/gnup
lot/bin:/cygdrive/c/Python26/Lib/site-packages/vtk:/cygdrive/c/U
sers/Folcon/.lein/bin:/cygdrive/f/C/Program Files (x86)/Git/bin
$ ls -tx /f/Coursework/Code/python/compile/built
config1.out atlcomp.txt Makefile xprobe_OS.exe*
xconfig.exe* atlconf_misc.o probe_OS.o
- "错误的操作系统值"是由ATLAS使用
tmpnam
函数生成临时文件名(然后尝试从临时文件读取命令结果)引起的,在一些MinGW实现中,它返回根目录中文件的路径(如果将-v 2
添加到.../configure
参数,则可以看到"拒绝访问"one_answers"cat:\XXXX:没有这样的文件或目录")
您可以尝试通过更改ATL_tmpnam函数以使用tempnam
返回当前目录(您应该有写访问权限)内的临时文件来缓解此问题,而不是:
(以下当然是一个肮脏的黑客攻击,可以做得更好)
--- - 2016-08-17 18:06:53.413941900 +0300
+++ ATLAS/CONFIG/include/atlas_sys.h 2016-08-17 16:54:37.583946600 +0300
@@ -218,10 +218,14 @@ static char *ATL_tmpnam(void)
{
static char tnam[L_tmpnam];
static char FirstTime=1;
+ char* temptnam;
if (FirstTime)
{
FirstTime = 0;
- assert(tmpnam(tnam));
+ temptnam = tempnam(".",tnam);
+ assert(temptnam);
+ strcpy(tnam,temptnam);
+ free(temptnam);
}
return(tnam);
}
- 具有完全有效(对于Cygwin)文件路径的
gcc: /f/Coursework/Code/python/compile/built/../ATLAS//CONFIG/src/probe_asm.c: No such file or directory gcc.exe: fatal error: no input files
是由运行错误的gcc引起的:如果您运行which gcc
,您会发现它不是来自Cygwin的/usr/bin/
,而是来自系统中的其他位置(可能由MinGW添加到%PATH%
)。由于没有"意识到"Cygwin,它认为这些路径是不存在的。解决方案:在.../configure
中添加--cc=/usr/bin/gcc
或类似的参数