Hello,

I'm trying to compile HPL(v2.3) with OpenBLAS and OMPI. The compilation
succeeds when using the old OMPI (v1.10.8) but fails with OMPI v4.0.0 (I'm
still not using v4.0.1). The error is for an old subroutine that determines
machine-specific arithmetic constants:

 

mpiCC -o HPL_dlamch.o -c   -I/home/centos/benchmarks/hpl-2.2/include
-I/home/centos/benchmarks/hpl-2.2/include/impetus03  -I/opt/openmpi/include
../HPL_dlamch.c

../HPL_dlamch.c: In function 'void HPL_dlamc5(int, int, int, int, int*,
double*)':

../HPL_dlamch.c:749:67: error: expected unqualified-id before 'try'

    int                        exbits=1, expsum, i, lexp=1, nbits, try,

                                                                   ^

../HPL_dlamch.c:761:8: error: expected '{' before '=' token

    try = (int)( (unsigned int)(lexp) << 1 );

        ^

../HPL_dlamch.c:761:8: error: expected 'catch' before '=' token

../HPL_dlamch.c:761:8: error: expected '(' before '=' token

../HPL_dlamch.c:761:8: error: expected type-specifier before '=' token

../HPL_dlamch.c:761:8: error: expected ')' before '=' token

../HPL_dlamch.c:761:8: error: expected '{' before '=' token

../HPL_dlamch.c:761:8: error: expected primary-expression before '=' token

../HPL_dlamch.c:762:8: error: expected primary-expression before 'try'

    if( try <= ( -EMIN ) ) { lexp = try; exbits++; goto l_10; }

        ^

../HPL_dlamch.c:762:8: error: expected ')' before 'try'

../HPL_dlamch.c:762:36: error: expected primary-expression before 'try'

    if( try <= ( -EMIN ) ) { lexp = try; exbits++; goto l_10; }

                                    ^

../HPL_dlamch.c:762:36: error: expected ';' before 'try'

../HPL_dlamch.c:764:26: error: 'uexp' was not declared in this scope

    if( lexp == -EMIN ) { uexp = lexp; } else { uexp = try; exbits++; }

                          ^

../HPL_dlamch.c:764:48: error: 'uexp' was not declared in this scope

    if( lexp == -EMIN ) { uexp = lexp; } else { uexp = try; exbits++; }

                                                ^

../HPL_dlamch.c:764:55: error: expected primary-expression before 'try'

    if( lexp == -EMIN ) { uexp = lexp; } else { uexp = try; exbits++; }

                                                       ^

../HPL_dlamch.c:764:55: error: expected ';' before 'try'

../HPL_dlamch.c:770:10: error: 'uexp' was not declared in this scope

    if( ( uexp+EMIN ) > ( -lexp-EMIN ) )

          ^

make[2]: *** [HPL_dlamch.o] Error 1

make[2]: Leaving directory `/home/centos/hpl-2.3/src/auxil/impetus03'

make[1]: *** [build_src] Error 2

make[1]: Leaving directory `/home/centos/hpl-2.3'

make: *** [build] Error 2

 

I don't understand the nature of the problem or why it works with the old
OMPI version and not with the new. Any help or pointer would be appreciated.

Thanks.

AFernandez

 

 

_______________________________________________
users mailing list
users@lists.open-mpi.org
https://lists.open-mpi.org/mailman/listinfo/users

Reply via email to