Intel® Business Client Software Development
Support for Intel® vPro™ software development and technologies associated with Intel vPro platforms.

Compiling C++ WS-Management SDK on Linux


I’m trying to build the WS-Management libraries on Linux so that I can run some sample power operation programs from a Linux OS. I also need to be able to apply my server’s certificate to the AMT device so AMT can trust the server.


I downloaded the source from this link:


I’ve been making small modifications to the Cmake files, like removing WinRMClient from the build, and telling Cmake to use C++11 and C11. I’m building on CentOS 7 (just what I have available) with Cmake version 3.22.0-rc3


My questions are:

  1. Is it advisable to try to build this source or use these libraries from Linux? Am I missing any instructions or modified source for doing this?
  2. Do you have suggestions for alternative technologies that would be supported on Linux? I understand I can use a wsman client with Cim/DMTF protocol. Is that my only other option instead of using this SDK? I’m open to using other languages. A library or SDK with more sophisticated error handling is preferred instead of running command line tools. I have been doing similar operations using HLAPI on Windows but now have a need to support Linux.

My current build errors are these – my build gets stuck in CimFrameworkUntyped, looking for a Microsoft xml dependency, and can’t get past the strnlen_s error even though it should have the right headers and C++ version:

Building CXX object CimFrameworkUntyped/CMakeFiles/CimFrameworkUntyped.dir/src/XMLUtils_MS.cpp.o

amt_cpp_sdk/WS-Management/CimFrameworkUntyped/src/XMLUtils_MS.cpp:11:20: fatal error: msxml6.h: No such file or directory

#include <msxml6.h>


compilation terminated.

make[2]: *** [CimFrameworkUntyped/CMakeFiles/CimFrameworkUntyped.dir/src/XMLUtils_MS.cpp.o] Error 1

make[2]: *** Waiting for unfinished jobs....

amt_cpp_sdk/WS-Management/CimFrameworkUntyped/src/CimUtils.cpp: In function ‘void Intel::Manageability::Cim::Utils::FromBase64(const unsigned char*, unsigned char*, unsigned int*)’:

amt_cpp_sdk/WS-Management/CimFrameworkUntyped/src/CimUtils.cpp:69:50: error: ‘strnlen_s’ was not declared in this scope

       strnlen_s((const char *)inStr, tmp.length()), (char*)outStr, &state);

0 Kudos
0 Replies