Hi,
thanks for the report. You're right that systems add the KONKRET_REGISTRATION
macro into the library. I've added a workaround for this issue [0].
Let me know if it fixed the issue for you.
[0]
All,
A provider to publish Service Processor information is at
https://github.com/praveen-pk/lmi-bmc. This provider is based on openlmi
framework. I talked about this provider in this forum a few months ago. We
are trying to package this provider for some distros and are running some
issues. Hoping someone can provide some guidance on this issue.
After going thru the build steps, the registration file created for this
provider is as follows:
LMI_BMC.reg:
[LMI_BMC]
provider: LMI_BMC
location: cmpiLMIBmc
type: instance method
namespace: root/cimv2
#
[" CLASS "]
provider: " PROVIDERNAME "
location: cmpiLMIBmc
type: " TYPES;
namespace: " NAMESPACE "
#
Registering this provider with the above reg file with SFCB CIMOM is causing
the CIMOM to crash with the following messages:
sfcb[6370]: --- registration statement not recognized:
sfcb[6370]: 147: [" CLASS "]
sfcb[6370]: --- Broker terminated because of previous error(s)
The build process creates the reg file
" konkretreg libcmpiLMIBmc.so"
The konkretreg tool walks through the binary shared object
(libcmpiLMIBmc.so) and tries to match lines starting with
"@(#)KONKRET_REGISTRATION=". The first match is from one of the source
files, actually, the following macro expanded: KONKRET_REGISTRATION(
"root/cimv2",
"LMI_BMC",
"LMI_BMC",
"instance method")
The second entry in the reg seems to be from the macro definition itself:
#define KONKRET_REGISTRATION(NAMESPACE,CLASS,PROVIDERNAME,TYPES) static
volatile KUNUSED const char __konkret_registration[] =
"@(#)KONKRET_REGISTRATION=" NAMESPACE ":" CLASS ":"
PROVIDERNAME ":" TYPES;
I am guessing this needs to be fixed in konkretreg tool? Anything else I
could be missing here?
Thank you
Praveen K Paladugu
Dell Linux Engineering