cd ATLAS/builddirand run (replacing the prefix path with the one where you'd like Atlas to be installed)../configure --prefix=/usr/local/soft/atlas-3.10.1 -Fa alg -fPICNote: on Win32 with cygwin,
ATLAS/CONFIG/src/config.cTo correct the problem, you need to add one line after the probe "GetIntProbe", as follows:
iret = GetIntProbe(verb, ln, "arch", "NCPU", 2048); if (iret == 0) { printf("\nKIRR: ugly hack: forcing NCPU to 2");iret=2;}
make checkto verify that it works and "make install" to install it.
Note that when building starts, you need an unloaded PC for it to collect the relevant times for self-optimising. For this reason,
cpufreq-selector -g performancemight help to disable power-saving (Atlas calls it "CPU throttling" and attempts to detect it).
SuiteSparse_config/SuiteSparse_config.mk(or any other depending on whether you use a Mac or GPU. It has to have the following two lines included (which would usually replace the appropriate lines in the file rather than be added at the end):
UMFPACK_CONFIG = -fPIC BLAS = -L/usr/local/soft/atlas-3.10.1/lib -lf77blas -latlas -lgfortranNote the reference to the Atlas installation directory. You may also wish to replace -llf77blas with -lptf77blas, but it should not affect anything.
You might also want to
CC = gcc CFLAGS = -O3or even
CC = gcc -fPICto ensure that AMD is built as a relocable library - without it Statechum's .so library may fail to build.
Win32/cygwin note: if using gcc version 3 rather than 4, use the following line
BLAS = -L/usr/local/soft/atlas-3.8.1/lib -lf77blas -latlas -lg2cSubsequently, running make in the UMFPACK directory will build UMFPACK (and other libraries). Most likely, you will have to run
make installin all of AMD/CHOLMOD/COLAMD/SuiteSparse_config/UMFPACK in order to get all the files installed. Without them, it will not be possible to build libStatechumsolver The best way to do this is via
for D in AMD CHOLMOD COLAMD SuiteSparse_config UMFPACK;do (cd $D;make install );done
cd linear ./bootstrapBuilding the interface involves running
cd linear ./configure --with-blasdir=/usr/local/soft/atlas-3.10.1/lib --with-umfpack=/usr/local/src/umfpack && makeNote that the above includes both Atlas directory and the one into which UMFPACK was extracted. Subsequently, running make should build the library.
If gcc has gcj installed, Sun JDK may include a jni_md.h which will pick gcc's jni_md.h rather than Sun's one and give an error about a boolean. The solution is to do something like
CC='gcc -I/usr/local/soft/jdk1.6.0_16/include/linux/' sh ./configure --with-blasdir=/usr/local/soft/atlas-3.10.1 --with-umfpack=/usr/local/src/umfpack/
On Win32 with cygwin's gcc version 3, this will not work because libtool will not link to static libraries (.a import libraries from .dlls are ok). Linking to all the object files from atlas, amd and umfpack will not work because these .o files have not been built with libtool. The only option is hence to build a .dll from atlas, amd and umfpack and link to that dll. Multi-threaded support does not work because libptf77blas links to cygwin1.dll which we cannot use - this dll does not support being dynamically loaded (a well-documented problem) so the library we build with it will not work with Java (jvm will lock up on LoadLibrary).
cd linear ./fullrebuild.shOn Linux, this runs bootstrap and make. On Win32, this script takes all .o files from atlas, umfpack and amd, builds a library out of them, converts it to .dll (following {@link http://www.kevinsheppard.org/research/matlabatlas}) and subsequently links the interface module to that .dll. If any changes are made to the .c or .h file, the library can be rebuilt with
make -f Makefile_win32where the Makefile_win32 is built by fullrebuild.sh.
Note that the way the script builds a dll is very ugly but since it seems that cygwin does not do what one would expect it to (build a dll out of static libraries built with -fPIC), I think it is not appropriate to "fix" configure scripts to work around these problems.
-Djava.library.path=linear/.libs
CC='gcc-4.2 -m64' ./configure --prefix=/usr/local/soft_a/gmp make make install
CC='gcc-4.2 -m64' ./configure --with-gmp=/usr/local/soft_a/gmp --prefix=/usr/local/soft_a/mpfr make make install
CC='gcc-4.2 -m64' ./configure --prefix=/usr/local/soft_a/gcc-4.4.1 --with-gmp=/usr/local/soft_a/gmp-4.3.1 --with-mpfr=/usr/local/soft_a/mpfr-2.4.1 --host=x86_64-apple-darwin9.8.0 --build=x86_64-apple-darwin9.8.0 --enable-languages="c c++"The -m64 ensures all of gcc is built for 64-bit. --host and --build make sure that gcc rebuilds itself for 64-bit.
MacOS X or XCode come with blas libraries, hence one does not need to install Atlas (which can be built using instructions for building Atlas on Linux). If Atlas is installed into somewhere like /usr/local/soft/atlas-3.8.3, in the course of building UMFPACK gcc may choose to pick /usr/lib/libatlas.dylib instead of the newly-installed Atlas library /usr/local/soft/atlas-3.8.3/lib/libatlas.dylib, leading to build errors for umfpack's examples because Atlas's symbols have different names to that of Apples's Atlas.
UMFPACK_CONFIG = -DNO_TIMER -fPIC BLAS = -L/System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A -lblas
cd linear ./configure --with-blasdir=/System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A --with-umfpack=/Users/Shared/experiment/umfpack && makeWhere /Users/Shared/experiment/umfpack is where UMFPACK was extracted, it should have subdirectories UMFPACK, AMD and UFconfig.
make PREFIX=/usr/local/soft/OpenBLAS-be853da DYNAMIC_ARCH=1 UTEST_CHECK=1 NO_LAPACK=1 NO_AFFINITY=1The first parameter is responsible for building in support for all CPU architectures, otherwise only the current one will This will attempt to download CUnit and then fail.
cd utest;makeshould build and install CUnit into utest. Subsequently doing the following command from the main directory (the one just above utest)
ln -s utest/CUnit-2.1-2/include/CUnit .would fix unit tests that ship with OpenBLAS and they will run when the above make command is run. After doing
make PREFIX=/usr/local/soft/OpenBLAS-be853da DYNAMIC_ARCH=1 UTEST_CHECK=1 NO_LAPACK=1 installOpenBLAS is available. SuiteSparse_config.mk should have
CC=x86_64-w64-mingw32-gcc AR=x86_64-w64-mingw32-ar RANLIB = x86_64-w64-mingw32-ranlib F77 = x86_64-w64-mingw32-gfortran BLAS = /usr/local/soft/OpenBLAS-be853da/lib/libopenblas.lib INSTALL_LIB=/usr/local/soft/umfpack-5.6.1-openblas/lib INSTALL_INCLUDE=/usr/local/soft/umfpack-5.6.1-openblas/includeOpenBLAS on Windows7-x86_64 First, build OpenBLAS with both options for Unix (above) and those mentioned in quickbuild.64bit. When building UMFPACK, most options are the same as for Unix but there are a few changes,
... _demo | d2u | sed 's/e\([+-]\)0\([0-9]\+\)/e\1\2/g' > my_ ... .out
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|