Я пытался скомпилировать очень простой MPI hello_world:
#include <stdio.h>
#include <mpi.h>
int main(int argc, char *argv[]) {
int numprocs, rank, namelen;
char processor_name[MPI_MAX_PROCESSOR_NAME];
MPI_Init(&argc, &argv);
MPI_Comm_size(MPI_COMM_WORLD, &numprocs);
MPI_Comm_rank(MPI_COMM_WORLD, &rank);
MPI_Get_processor_name(processor_name, &namelen);
printf("Process %d on %s out of %d\n", rank, processor_name, numprocs);
MPI_Finalize();
}
И получил следующую проблему:
Catastrophic error: could not set locale "" to allow processing of multibyte characters
Я действительно не знаю, как это понять.
Попробуйте определить переменные среды
LANG=en_US.utf8
LC_ALL=en_US.utf8
Предполагая, что вы на Unix, также попробуйте man locale
а также locale -a
в командной строке и Google для «utf locale» и подобные поиски.
Других решений пока нет …