Bug 1127399 - Cannot compile sample OpenPegasus providers "Error adding class CIM_Component to the repository"
Summary: Cannot compile sample OpenPegasus providers "Error adding class CIM_Component...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: tog-pegasus
Version: 7.0
Hardware: x86_64
OS: Linux
unspecified
high
Target Milestone: rc
: ---
Assignee: Vitezslav Crhonek
QA Contact: qe-baseos-daemons
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2014-08-06 19:58 UTC by Sean Stewart
Modified: 2016-01-21 23:25 UTC (History)
4 users (show)

Fixed In Version: tog-pegasus-2.14.1-3.el7
Doc Type: Bug Fix
Doc Text:
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.
Clone Of:
Environment:
Last Closed: 2015-11-19 11:08:36 UTC


Attachments (Terms of Use)
workaround patch (2.23 KB, patch)
2014-08-07 12:10 UTC, Vitezslav Crhonek
no flags Details | Diff


Links
System ID Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2015:2314 normal SHIPPED_LIVE tog-pegasus bug fix and enhancement update 2015-11-19 10:07:59 UTC

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[1]: 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[1]: *** [createCXXrepository] Error 250
make[1]: 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.


Note You need to log in before you can comment on or make changes to this bug.