Description of problem:
I've installed tog-pegasus-devel, and am trying to compile the sample providers, so I can use them and the sample clients to work on writing my own providers/clients. But when I run the "make setupSDK" command, I get the following, appearing that it's missing a CIM class that I can not find any reference to, except in the documentation. I've installed every openlmi or pegasus related pacakge I can find:
root@wica-fo-freestate:/usr/share/Pegasus/samples# make setupSDK
make: Entering directory `/usr/share/Pegasus/samples/Providers/Load'
+++++ Creating SDKExamples/DefaultCXX namespace ...
+++++ Loading SDK_CIM_Schema.mof into SDKExamples/DefaultCXX namespace ...
Warning: Class CIM_ManagedElement already exists in the repository
Warning: Class CIM_ManagedSystemElement already exists in the repository
Warning: Class CIM_LogicalElement already exists in the repository
Parsing error: parse error: Error adding class CIM_Component to the repository: CIM_ERR_INVALID_SUPERCLASS: CIM_AbstractComponent
make: *** [createCXXrepository] Error 250
make: Leaving directory `/usr/share/Pegasus/samples/Providers/Load'
make: *** [setupSDK] Error 2
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. Install tog-pegasus, tog-pegasus-devel, and related packages
2. cd /usr/share/Pegasus/samples
3. make setupSDK
Error complaining that CIM_AbstractComponent can't be found
Providers should be able to compile out of the box
Seems to be caused by two facts - we ship and use newer schema than was originally packed in tog-pegasus's tarball (because the old one is missing some classes needed by OpenLMI providers) and default interop namespace has been changed to root/interop instead of original root/PG_InterOp (e.g. because of compatibility with SFCB CIMOM).
Until it's fixed, you can workaround the issue:
1. copy CIM_AbstractComponent.mof shipped in cim-schema package to the sample providers:
# cp /usr/share/mof/cimv2.33.0/Core/CIM_AbstractComponent.mof /usr/share/Pegasus/samples/Providers/Load/CIM233/DMTF/Core/
2. patch /usr/share/Pegasus/samples/Providers/Load/Makefile and
with attached patch (registers missing class, enables registering experimental classes and changes interop)
Hope this helps, then it should work as expected.
Created attachment 924892 [details]
Thanks for the quick response.
I patched the file and am still getting an error:
Could not open include file DMTF/Core/CIM_AbstractComponent.mof
What package is supposed to install this file? I think I've installed everything I can think of and it still seems to be missing.
Oops, it helps if I read the entire comment. :)
Scheduled automated test: TJ#1092255
Works on all except ppc64le, where it complains:
mak/config.mak:84: *** PEGASUS_PLATFORM environment variable undefined. Please set to one of the following: LINUX_PPC_E500_GNU LINUX_ZSERIES_GNU LINUX_GNU LINUX_SH4_GNU LINUX_IX86_GNU LINUX_X86_64_CLANG LINUX_IX86_CLANG LINUX_PPC64_GNU LINUX_AARCH64_GNU LINUX_IA64_GNU LINUX_PPC_GNU LINUX_ZSERIES64_GNU LINUX_X86_64_GNU . Stop.
Should it even work out-of-the-box? If so, should this be reassigned or logged as separate bug? Or it's matter of documentation?
Please file it as a new bug. It probably never worked on ppc64le and its support needs to be added.
Thank you for explanation; the issue is now filed as bug 1266235.
As I said, the rest of archs is OK so the original problem is fixed.
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.
For information on the advisory, and where to find the updated
files, follow the link below.
If the solution does not work for you, open a new bug report.
Missing 'Fixed In Version' value added based on Erratum.