Dear Maintainer,
I am the developer of a quantum chemistry code that deals with very large
matrices. As such, it uses at the same time slepc/petsc, scalapack, and
elpa libraries. Since matrices may easily become larger than the maximum
size that can be indexed by standard scalapack (and underlying blas/lapack),
I need to use the versions with long integer indices (i.e. lapack64,
blas64, mkl scalapack with ilp64 interface), as well as a custom compiled
version of elpa, also with support for the same versions of lapack/blas
(i.e. compiled with the --64bit-integer-math-support configure option). Of
course, I cannot link the same code with two different versions of
lapack/blas, so I also need to compile petsc so that it uses the same
versions of lapack/blas. Luckily, recent versions of the upstream package
do support this, with the --with-64-bit-indices and
--with-64-bit-blas-indices configure options.
Now, since the current debian/rules already has all the machinery to produce
the "petsc64" versions of all packages, using only the --with-64-bit-indices
option, I thought I might hack it to also produce additional real packages
also with the --with-64-bit-blas-indices option, producing additional
packages that can coexist smootly with the other ones.
The quick (and partial) hack that I put together successfully did the trick,
producing real interface petsc libraries that passed all the tests and
appear to work without problems. I am sending you all the modified/added
files, in case you may want to add official support for this in debian, in
some future. The hacked version also enables cuda in my custom compiled
packages (not the 64bit blas ones), which would be a welcome addition as
well (for me).
Let me know if this is of any use, and/or if I may help producing a more
complete and cleaner version of this.
Best regards, and thanks for all the great work.
Giacomo Mulas