On Mon, Jun 13, 2011 at 8:53 PM, Russell E. Owen <[email protected]> wrote:
> In article <[email protected]>, > Ralf Gommers <[email protected]> wrote: > > > On Thu, Jun 9, 2011 at 11:46 PM, Russell E. Owen <[email protected]> wrote: > > > > > What would it take to automatically detect which flavor of fortran to > > > use to build numpy on linux? > > > > > > > You want to figure out which compiler was used to build BLAS/LAPACK/ATLAS > > and check that the numpy build uses the same, right? Assuming you only > care > > about g77/gfortran, you can try this (from > > http://docs.scipy.org/doc/numpy/user/install.html): > > """ > > How to check the ABI of blas/lapack/atlas > > ----------------------------------------- > > One relatively simple and reliable way to check for the compiler used to > > build a library is to use ldd on the library. If libg2c.so is a > dependency, > > this means that g77 has been used. If libgfortran.so is a a dependency, > > gfortran has been used. If both are dependencies, this means both have > been > > used, which is almost always a very bad idea. > > """ > > > > You could do something similar for other compilers if needed. It would > help > > to know exactly what problem you are trying to solve. > > I'm trying to automate the process of figuring out which fortran to use > because we have a build system that should install numpy for users, > without user interaction. > I assume you're installing scipy as well? There's no Fortran code in numpy. > > We found this out the hard way by not specifying a compiler and ending > up with a numpy that was mis-built (according to its helpful unit tests). > > However, it appears that g77 is very old so I'm now wondering if it > would make sense to switch to gfortran for the default? > This makes sense. Only if you're building on Windows and build with MinGW you have to give it some more thought - we're still building the distributed binaries with g77. > > I think our own procedure will be to assume gfortran and complain to > users if it's not right. (We can afford the time to run the test). > > > > The unit tests are clever enough to detect a mis-build (though > > > surprisingly that is not done as part of the build process), so surely > > > it can be done. > > > > > > > The test suite takes some time to run. It would be very annoying if it > ran > > by default on every rebuild. It's easy to write a build script that > builds > > numpy, then runs the tests, if that's what you need. > > In this case the only relevant test is the test for the correct fortran > compiler. That is the only test I was proposing be performed. > > There's not a single test like that in the test suite, unless I missed something. But you can easily implement it for gfortran/g77. Cheers, Ralf
_______________________________________________ NumPy-Discussion mailing list [email protected] http://mail.scipy.org/mailman/listinfo/numpy-discussion
