[Ace-users] [ace-bugs] Stock build system: OpenBSD and asm symbols

Vladimir Panov gbr at voidland.org
Sat Oct 13 12:58:57 CDT 2007


Douglas C. Schmidt wrote:
> Hi,
>
> Thanks for using the PRF.
>
>   
>> ACE VERSION: 5.6.1
>>
>> HOST MACHINE and OPERATING SYSTEM:
>> x86, OpenBSD 4.1
>>
>> TARGET MACHINE and OPERATING SYSTEM, if different from HOST:
>> Not different.
>>
>> COMPILER NAME AND VERSION (AND PATCHLEVEL):
>> GCC 3.3.3
>>
>> THE $ACE_ROOT/ace/config.h FILE:
>> config-openbsd.h
>>
>> THE $ACE_ROOT/include/makeinclude/platform_macros.GNU FILE:
>> platform_openbsd.GNU
>>
>> CONTENTS OF $ACE_ROOT/bin/MakeProjectCreator/config/default.features:
>> Does not exist.
>>
>> AREA/CLASS/EXAMPLE AFFECTED:
>> Running programs which use ACE (and TAO) is affected.
>>
>> DOES THE PROBLEM AFFECT:
>> COMPILATION? No
>> LINKING? No
>> EXECUTION? Yes
>> OTHER (please specify)?
>>
>> SYNOPSIS:
>> ACE_OS::dlsym always fails.
>>
>> DESCRIPTION:
>> It looks like that OpenBSD doesn't prepend an underscore in shared 
>> objects' symbols anymore.
>>
>> REPEAT BY:
>> Run whatever program which uses TAO under OpenBSD 4.1. It fails with the 
>> following message:
>> "ORBInitializer Registry unable to find the ORBInitializer Registry 
>> instance"
>> because it can't find a symbol in libTAO_PI.so.
>>
>> SAMPLE FIX/WORKAROUND:
>> Remove the following line from config-openbsd.h:
>> #define ACE_USES_ASM_SYMBOL_IN_DLSYM
>>     
>
> Is there a particular version number symbal that we can check for
> here, e.g., 
>
> #ifdef (_OPENBSD_4_1)
> #define ACE_USES_ASM_SYMBOL_IN_DLSYM
> #endif
>
> or something like this to avoid breaking earlier versions of OpenBSD?
>
> Thanks,
>
>         Doug
>   
Hi, Doug.

I am not an OpenBSD expert. You'd better ask on an OpenBSD maillist.

And BTW, OpenBSD might have stopped needing ACE_USES_ASM_SYMBOL_IN_DLSYM
a long time ago. For example, TAO 1.5.1 worked just fine on the same
installation of OpenBSD 4.1, probably because it did not use
ACE_OS::dlsym at all.

Vlado



More information about the Ace-users mailing list