How to build math libraries for 64-bit integers¶
Before you continue please verify whether you really need 64-bit integers. It is extra work and perhaps not needed.
If you decide to build DIRAC for 64-bit integers, you have to link to 64-bit integer aware math library/libraries providing both BLAS and LAPACK.
The following things can happen:
- Your math library is compiled for 64-bit integers and DIRAC will link and run properly.
- Your math library is not compiled for 64-bit integers and DIRAC will not link.
- Your math library is not compiled for 64-bit integers and DIRAC will link but stop at runtime.
- Your math library is not compiled for 64-bit integers and DIRAC will link and not stop at runtime because you deactivated the self-test and may produce wrong numbers.
For cases 2-4 you may have to either:
- Verify linking.
- Compile your own math library.
- Use DIRAC’s internal math implementation (slow).
- Go back to 32-bit integers.
MKL provides bindings for 64-bit integers and normally DIRAC should correctly link if you have specified MATH_ROOT correctly.
It is not trivial but doable to compile your own Atlas library with 64-bit integer support.
The difficulty is that you need to compile both LAPACK and Atlas.
To do this we recommend to follow the nice example: Installing ATLAS with full LAPACK on Linux/AMD64.