|Summary:||Cannot compile sample OpenPegasus providers "Error adding class CIM_Component to the repository"|
|Product:||Red Hat Enterprise Linux 7||Reporter:||Sean Stewart <Sean.Stewart>|
|Component:||tog-pegasus||Assignee:||Vitezslav Crhonek <vcrhonek>|
|Status:||CLOSED ERRATA||QA Contact:||qe-baseos-daemons|
|Version:||7.0||CC:||amahdal, jscotka, Sean.Stewart, vcrhonek|
|Fixed In Version:||tog-pegasus-2.14.1-3.el7||Doc Type:||Bug Fix|
Previously, it was not possible to compile sample OpenPegasus providers, and the following error occurred: Error adding class CIM_Component to the repository This bug has been fixed, and providers are now able to compile successfully.
|Last Closed:||2015-11-19 11:08:36 UTC||Type:||Bug|
|oVirt Team:||---||RHEL 7.3 requirements from Atomic Host:|
Description Sean Stewart 2014-08-06 19:58:07 UTC
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): tog-pegasus-2.12.1-16.el7.x86_64 How reproducible: Always Steps to Reproduce: 1. Install tog-pegasus, tog-pegasus-devel, and related packages 2. cd /usr/share/Pegasus/samples 3. make setupSDK Actual results: Error complaining that CIM_AbstractComponent can't be found Expected results: Providers should be able to compile out of the box Additional info:
Comment 2 Vitezslav Crhonek 2014-08-07 12:08:50 UTC
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 /usr/share/Pegasus/samples/Providers/Load/SDK_CIM_Schema.mof with attached patch (registers missing class, enables registering experimental classes and changes interop) Hope this helps, then it should work as expected.
Comment 3 Vitezslav Crhonek 2014-08-07 12:10:32 UTC
Created attachment 924892 [details] workaround patch
Comment 4 Sean Stewart 2014-08-07 15:20:31 UTC
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.
Comment 5 Sean Stewart 2014-08-07 15:24:13 UTC
Oops, it helps if I read the entire comment. :) Thanks again!
Comment 11 Alois Mahdal 2015-09-24 02:12:02 UTC
Scheduled automated test: TJ#1092255
Comment 12 Alois Mahdal 2015-09-24 04:01:51 UTC
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?
Comment 13 Vitezslav Crhonek 2015-09-24 11:22:57 UTC
Please file it as a new bug. It probably never worked on ppc64le and its support needs to be added.
Comment 14 Alois Mahdal 2015-09-24 20:33:51 UTC
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.
Comment 15 errata-xmlrpc 2015-11-19 11:08:36 UTC
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. https://rhn.redhat.com/errata/RHBA-2015-2314.html
Comment 16 Alois Mahdal 2016-01-21 23:25:57 UTC
Missing 'Fixed In Version' value added based on Erratum.