Open MPI logo

Open MPI Development Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Development mailing list

Subject: Re: [OMPI devel] dummy component warnings
From: Nathan Hjelm (hjelmn_at_[hidden])
Date: 2011-01-25 16:47:28


Looks like a bug in Apple's gcc 4.0. I tried the source with gcc 3.4.6 and gcc 4.1.2 on Linux and did not see that error.

I will take a look and see if there is a simple fix to get around this apparent compiler bug.

-Nathan

On Tue, 25 Jan 2011, Jeff Squyres wrote:

> 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/
>
>
> _______________________________________________
> devel mailing list
> devel_at_[hidden]
> http://www.open-mpi.org/mailman/listinfo.cgi/devel
>