Open MPI logo

Open MPI Development Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Development mailing list

Subject: Re: [OMPI devel] dummy component warnings
From: Jeff Squyres (jsquyres_at_[hidden])
Date: 2011-01-25 15:49:39


Short version
=============

MTT turned up a problem with -std=gnu99 on OS X Leopard, which ships with the gcc 4.0 compiler (OS X Snow Leopard ships with gcc 4.2, and doesn't have a problem). Does anyone have gcc 4.0 on Linux? I'm wondering if the same problem would occur.

More details:
=============

>From our friends at Absoft:

-----
The -std=gnu99 is causing the problem when used with gcc-4.0 ( the default on Leopard with Apple's XCode 3.1 development tools ):

BigMac:ompi cag$ gcc --version -std=gnu99 -c conftest.s
conftest.s:2:3: error: invalid preprocessing directive #_gsym_test_func
conftest.s:5:3: error: invalid preprocessing directive #_gsym_test_func
BigMac:ompi cag$ gcc-4.0 -std=gnu99 -c conftest.s
conftest.s:2:3: error: invalid preprocessing directive #_gsym_test_func
conftest.s:5:3: error: invalid preprocessing directive #_gsym_test_func
BigMac:ompi cag$ gcc-4.2 -std=gnu99 -c conftest.s
BigMac:ompi cag$

On Snow Leopard with Apple's XCode 3.2 development tools, the default compiler is 4.2.
-----

The compile line he's talking about in particular is from a configure test in opal/config/opal_config_asm.m4, where we're looking for assembly global symbols. The source that we're trying to compile is:

-----
.text
# _gsym_test_func
.globl _gsym_test_func
_gsym_test_func:
# _gsym_test_func
-----

(configure tries a few prefixes)

But the "#" token with the -std=gnu99 option is causing failures where it shouldn't (i.e., it causes configure to abort because all the assembly tests looking for the global symbols error out due to the # token.

So I think we either need to find a workaround for this assembly test or whack the idea of the C99 stuff. :-(

On Jan 24, 2011, at 10:29 AM, Nathan Hjelm wrote:

> No, they didn't get added (adding them now). I didn't get a chance to add them over the weekend.
>
> -Nathan
>
> On Mon, 24 Jan 2011, Jeff Squyres wrote:
>
>> I'm getting these:
>>
>> CC dummy_component.lo
>> dummy_component.c:25: warning: ISO C90 forbids specifying subobject to initialize
>> dummy_component.c:28: warning: ISO C90 forbids specifying subobject to initialize
>> dummy_component.c:29: warning: ISO C90 forbids specifying subobject to initialize
>> dummy_component.c:30: warning: ISO C90 forbids specifying subobject to initialize
>> dummy_component.c:31: warning: ISO C90 forbids specifying subobject to initialize
>> dummy_component.c:33: warning: ISO C90 forbids specifying subobject to initialize
>> dummy_component.c:34: warning: ISO C90 forbids specifying subobject to initialize
>> dummy_component.c:35: warning: ISO C90 forbids specifying subobject to initialize
>> dummy_component.c:37: warning: ISO C90 forbids specifying subobject to initialize
>> dummy_component.c:39: warning: ISO C90 forbids specifying subobject to initialize
>> dummy_component.c: In function ‘component_open’:
>> dummy_component.c:45: warning: unused variable ‘c’
>> dummy.c:67: warning: ISO C90 forbids specifying subobject to initialize
>> dummy.c:68: warning: ISO C90 forbids specifying subobject to initialize
>> dummy.c:69: warning: ISO C90 forbids specifying subobject to initialize
>> dummy.c:70: warning: ISO C90 forbids specifying subobject to initialize
>> CCLD mca_debugger_dummy.la
>>
>> Did the autoconf tests not get added?
>>
>> --
>> Jeff Squyres
>> jsquyres_at_[hidden]
>> For corporate legal information go to:
>> http://www.cisco.com/web/about/doing_business/legal/cri/
>>
>>
>> _______________________________________________
>> devel mailing list
>> devel_at_[hidden]
>> http://www.open-mpi.org/mailman/listinfo.cgi/devel
> _______________________________________________
> devel mailing list
> devel_at_[hidden]
> http://www.open-mpi.org/mailman/listinfo.cgi/devel

-- 
Jeff Squyres
jsquyres_at_[hidden]
For corporate legal information go to:
http://www.cisco.com/web/about/doing_business/legal/cri/