|
View:
New views
1 Messages
—
Rating Filter:
Alert me
|
|
|
hurdles of ATLAS 3.9.4 build process under windowsWhile building ATLAS 3.9.4 under windows (with mingw alone or mingw+cl
for interface), I found some small problems with the lib : * problems carriage returns in compiler version strings for some versions of GCC, there is a trailing carriage return in the version string returned by gcc -v (this is the case for the current MinGW candidate). In that case, that trailing CR gets added to the macro definitions of file $blddir\include\atlas_buildinfo.h, and this causes an error later in the build, which forces to remove these CR and to restart the build. * problems with the compiler selected for the wall timer when the wall timer is used, the corresponding source files are compiled. The make definitions for these files (ATL_walltime.o, ATL_cputime.o and time.o) are in makes/Make.sysinfo; they are compiled with the "interface" compiler (ICC). Unfortunately they use some gcc idioms so when the interface compiler is cl or icl, that timer cannot be used. However, using cl as the interface compiler works well when ICC and ICCFLAGS are replaced, for the files mentioned, by, say, XCC and XCCFLAGS (if XCC is gcc). Why not use XCC or GOODGCC by default here? Btw, the instructions found on http://math-atlas.sourceforge.net/errata.html#WinPthreads are mostly outdated (reference to $(BC) correspond to an old version of atlas I guess) * problems with shared libs generation "make shared" does not work with MinGW, because libc which is referenced in lib/Makefile (-lc link option) does not exist for that target. In fact, it is better to let gcc itself figure out the options to give to the linker. It is also convenient to generate .def files and import libraries. For me, the lines below work with a 4.x mingw (these are for self-contained dlls) gcc -shared -o libatlas.dll -Wl,--whole-archive libatlas.a -Wl,--no-whole-archive -Wl,--output-def,libatlas.def,--out-implib,libatlas_gcc.lib gcc -shared -o libf77blas_atlas.dll -Wl,--whole-archive libf77blas.a -Wl,--no-whole-archive libatlas.a -lgfortran -Wl,--output-def,libf77blas_atlas.def,--out-implib,libf77blas_atlas_gcc.lib gcc -shared -o libcblas_atlas.dll -Wl,--whole-archive libcblas.a -Wl,--no-whole-archive libatlas.a -Wl,--output-def,libcblas_atlas.def,--out-implib,libcblas_atlas_gcc.lib gcc -shared -o liblapack_atlas.dll -Wl,--whole-archive liblapack.a libf77blas.a libcblas.a -Wl,--no-whole-archive libatlas.a -lgfortran -Wl,--output-def,liblapack_atlas.def,--out-implib,liblapack_atlas_gcc.lib gcc -shared -o libptf77blas_atlas.dll -Wl,--whole-archive libptf77blas.a -Wl,--no-whole-archive libatlas.a -lgfortran -lpthread -Wl,--output-def,libptf77blas_atlas.def,--out-implib,libptf77blas_atlas_gcc.lib gcc -shared -o libptcblas_atlas.dll -Wl,--whole-archive libptcblas.a -Wl,--no-whole-archive libatlas.a -lpthread -Wl,--output-def,libptcblas_atlas.def,--out-implib,libptcblas_atlas_gcc.lib gcc -shared -o libptlapack_atlas.dll -Wl,--whole-archive liblapack.a libptf77blas.a libptcblas.a -Wl,--no-whole-archive libatlas.a -lgfortran -lpthread -Wl,--output-def,libptlapack_atlas.def,--out-implib,libptlapack_atlas_gcc.lib - for a cygwin gcc, -lpthreads must be removed - for a 3.x gcc, libgfortran must be replaced by libg2c ------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ _______________________________________________ Math-atlas-devel mailing list Math-atlas-devel@... https://lists.sourceforge.net/lists/listinfo/math-atlas-devel |
| Free embeddable forum powered by Nabble | Forum Help |