зеркало из https://github.com/mozilla/kaldi.git
103 строки
3.4 KiB
Plaintext
103 строки
3.4 KiB
Plaintext
|
|
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 "$&=$&\n";' \
|
|
| 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}
|