[Ace-users] [ace-bugs] Stock build system: OpenBSD and asm symbols
Vladimir Panov
gbr at voidland.org
Sat Oct 13 12:31:59 CDT 2007
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
BTW, the configure scripts do not test for this situation. That is why
the autotools build is OK under OpenBSD.
More information about the Ace-users
mailing list