Giles is correct. If mpicc is showing errors like those in your original email 
then it is not invoking a C compiler. C does not have any concept of try or 
catch. No modern C compiler will complain about a variable named “try” as it is 
not a reserved keyword in the C language.

Example:

foo.c:

int try = 0;

gcc --std=c11 -c foo.c

No error


g++ -c foo.c          
foo.c:3:5: error: expected unqualified-id
int try = 0;
    ^
1 error generated.

-Nathan

> On Apr 3, 2019, at 6:09 PM, Gilles Gouaillardet <gil...@rist.or.jp> wrote:
> 
> Do not get fooled by the symlinks to opal_wrapper !
> 
> opal_wrapper checks how it is invoked (e.g. check argv[0] in main()) and the 
> behavior is different
> 
> if it is invoked as mpicc, mpiCC, mpifort and other
> 
> 
> If the error persists with mpicc, you can manually extract the mpicc command 
> line, and manually run it with the -showme parameter,
> 
> it will show you the full command line (and who knows, mpicc might invoke a 
> C++ compiler after all, and that would be a config issue)
> 
> 
> Cheers,
> 
> 
> Gilles
> 
> On 4/4/2019 7:48 AM, afernan...@odyhpc.com wrote:
>> 
>> Sam and Jeff,
>> 
>> Thank you for your answers. My first attempts actually used mpicc rather 
>> than mpiCC, switching to mpiCC was simply to check out if the problem 
>> persisted. I noticed that both mpicc and mpiCC are linked to the same file 
>> (opal_wrapper) and didn't bother switching it back. I'm not sure if the 
>> wrapper figures out what compiler you call because I was getting the same 
>> error message. Jeff is right pointing out that 'try' is reserved but the 
>> original file seems to be really old (think 1970). Apparently, the new 
>> compiler (shipped with OMPIv4) is more sensitive and beeps when the older 
>> didn't.
>> 
>> Thanks again,
>> 
>> AFernandez
>> 
>> Indeed, you cannot use "try" as a variable name in C++ because it is a 
>> https://en.cppreference.com/w/cpp/keyword.
>> 
>> As already suggested, use a C compiler, or you can replace "try" with "xtry" 
>> or any other non-reserved word.
>> 
>> Jeff
>> 
>> On Wed, Apr 3, 2019 at 1:41 PM Gutierrez, Samuel K. via users 
>> <users@lists.open-mpi.org <mailto:users@lists.open-mpi.org>> wrote:
>> 
>>    Hi,
>> 
>>    It looks like you are using the C++ wrapper compiler (mpiCC)
>>    instead of the C wrapper compiler (mpicc). Perhaps using mpicc
>>    instead of mpiCC will resolve your issue.
>> 
>>    Best,
>> 
>>    Sam
>> 
>> 
>> 
>>        On Apr 3, 2019, at 12:38 PM, afernan...@odyhpc.com
>>        <mailto:afernan...@odyhpc.com> wrote:
>> 
>>        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 <mailto:users@lists.open-mpi.org>
>>        https://lists.open-mpi.org/mailman/listinfo/users
>> 
>>    _______________________________________________
>>    users mailing list
>>    users@lists.open-mpi.org <mailto:users@lists.open-mpi.org>
>>    https://lists.open-mpi.org/mailman/listinfo/users
>> 
>> 
>> -- 
>> 
>> Jeff Hammond
>> jeff.scie...@gmail.com <mailto:jeff.scie...@gmail.com>
>> http://jeffhammond.github.io/
>> 
>> 
>> _______________________________________________
>> users mailing list
>> users@lists.open-mpi.org
>> https://lists.open-mpi.org/mailman/listinfo/users
> _______________________________________________
> users mailing list
> users@lists.open-mpi.org
> https://lists.open-mpi.org/mailman/listinfo/users

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

Reply via email to