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

Douglas C. Schmidt schmidt at dre.vanderbilt.edu
Sat Oct 13 12:43:33 CDT 2007


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
-- 
Dr. Douglas C. Schmidt                       Professor and Associate Chair
Electrical Engineering and Computer Science  TEL: (615) 343-8197
Vanderbilt University                        WEB: www.dre.vanderbilt.edu/~schmidt
Nashville, TN 37203                          NET: d.schmidt at vanderbilt.edu



More information about the Ace-users mailing list