Blame view

windows/INSTALL.atlas 3.41 KB
8dcb6dfcb   Yannick Estève   first commit
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
  
  Compilation instructions for ATLAS with cygwin under Windows 7
  
  First make sure you have the cygwin packages gcc-g77 and 
  gcc4-fortran installed.
  
  [ notes in Windows 7 issues ]
  
   - There are some commands relating to a "manifest" below.  This is a patch to
     the build process for Win7.  The issue is that Windows 7 automatically tries
     to elevate the privelege of anything with "install" or "update" in its title,
     but this does not work from Cygwin. The manifest tells Win7 not to do the
     heuristic privelege elevation.  This has been fixed in the 3.9 versions of
     ATLAS, by renaming the program in question.  These instructions are for 3.8.
  
   - If you get "vfork: resource temporarily 
     unavailable" at some point during the build, you may have to rerun
     make.  It may have to do with reaching cygwin's maximum number of
     processes.
  
  
  [end notes on Windows 7 issues]
  
  # get the last stable version of ATLAS library (3.8.3)
  cd ../tools
  wget http://sourceforge.net/projects/math-atlas/files/Stable/3.8.3/atlas3.8.3.tar.gz/download
  tar -xvzf atlas3.8.3.tar.gz
  
  # build the library
  cd ATLAS
  mkdir cygwin_build
  cd cygwin_build
  
  ../configure -b 32 --prefix=`pwd`
  
  [note: you may get some errors about "no rule to make target IRunArchInfo_winnt"
   or something like that.  These appear not to be fatal.  I'm not sure if they
   mean that the resulting configure process failed.  If you get errors about
   cannot find g77 or f77 or gfortran, make sure the packages gcc-g77 and
   gcc4-fortran are installed].
  
  
  # The following is a patch for an interaction with Windows 7.
  # It won't hurt if you're not on Windows 7.
  mkdir bin
  cd bin
  cat > xatlas_install.exe.manifest <<EOF
  <?xml version="1.0" encoding="utf-8"?>
  <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
     <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
        <security>
           <requestedPrivileges>
              <requestedExecutionLevel level="asInvoker" />
           </requestedPrivileges>
        </security>
     </trustInfo>
  </assembly>
  EOF
  cd ..
  # end patch.
  
  make
  
  # optionally check and benchmark the built library
  make check
  make time
  
  # create .dll file
  mkdir install
  # in the next command, got some errors like: 
  # cannot access `/home/dpovey/UBM-ASR/branches/v1.0/tools/ATLAS/cygwin_build/install/lib/libptf77blas.a': No such file or directory
  # ignoring these for now.
  make install DESTDIR=`pwd`/install
  cd install
  cd lib
  
  echo "EXPORTS" > lib_atlas.def
  cat ../include/cblas.h ../include/clapack.h |  \
    perl -ane 'm:(catlas_|cblas_|clapack_)\w+: && print "$&=$&
  ";' \
   | sort | uniq >> lib_atlas.def
  
  #gcc-3 -mno-cygwin -shared -o lib_atlas.dll -Wl,--out-implib=lib_atlas.lib \
  #    lib_atlas.def \
  #    liblapack.a libcblas.a libf77blas.a libatlas.a \
  #    -Wl,--enable-auto-import 
  
  gcc-3 -mno-cygwin -shared -o lib_atlas.dll \
      lib_atlas.def \
      liblapack.a libcblas.a libf77blas.a libatlas.a \
      -Wl,--enable-auto-import 
  
  # we have to use VS's lib.exe tool, not gcc, to make lib_atlas.lib,
  # or it won't work in release mode.
  # see http://groups.google.com/group/gnu.gcc.help/browse_thread/thread/c6840ea01e4d163a?pli=1
  # If your path or VS version is not as below, you will have to change the
  # command.
  "/cygdrive/c/Program Files/Microsoft Visual Studio 10.0/VC/bin/lib.exe" \
    /DEF:lib_atlas.def /MACHINE:ix86 /OUT:lib_atlas.lib
  
  
  #The output of this process that you will need for Windows are the files
  #  [somewhere]/ATLAS/cygwin_build/install/lib/lib_atlas.{lib,dll}