Package: metis Followup-For: Bug #961183 64-bit integers are now available for several libraries.
64-bit PETSc is able to use 64-bit SuperLU-Dist, which we don't currently have. 64-bit SuperLU-Dist requires 64-bit metis. In principle 64-bit metis is simple to configure: set IDXTYPEWIDTH to 64 in metis.h. The challenge that we need to address is the location of metis.h. Currently it's located in /usr/include/metis.h (for the standard 32-bit build) To distinguish between standard and 64-bit builds, we'd probably want to place the 64-bit header in /usr/include/metis64/metis.h -I/usr/include/metis64 can then be used by client applications. The remaining challenge is that /usr/include/metis.h might be found instead of /usr/include/metis64/metis.h, since -I/usr/include will also often be used in build scripts. I think the best solution is to "break" the builds of client applications by moving the standard header from /usr/include/metis.h to /usr/include/metis/metis.h. Then client applications will need to be updated to add -I/usr/include/metis when using the standard build.