[libvirt] Issue with Parallel/VZ driver on Parallel Cloud Server 6.0

Hello, I've been tasked with integrating libvirt into a server running Parallel Cloud Server 6.0. However, it seems I've ran into some trouble getting the vz/parallel driver to compile. It appears there might be an issue with the version of parallels-virtualization-sdk thats installed (6.10.24195) I first tried using the latest libvirt version, 1.2.21. After finding the magical configure arguments and ENV variables to get it to find the SDK, the configure script reported "Yes" next to the vz driver. I then proceeded to run a make, and was confronted with the following error message: vz/vz_sdk.c: In function 'prlsdkAddNet': vz/vz_sdk.c:2964: error: 'PRL_USE_VNET_NAME_FOR_BRIDGE_NAME' undeclared (first use in this function) vz/vz_sdk.c:2964: error: (Each undeclared identifier is reported only once vz/vz_sdk.c:2964: error: for each function it appears in.) make[3]: *** [vz/libvirt_driver_vz_la-vz_sdk.lo] Error 1 make[3]: Leaving directory `/root/libvirt-1.2.21/src' I then tried to use libvirt 1.2.16, thinking that if I go back a few versions to before the driver was renamed (parallels -> vz), it might work. This appears to have sorted out the compiler errors, however, when it goes to link the modules, I get the following: make[3]: Entering directory `/root/libvirt-1.2.16/src' CCLD libvirt_sanlock_helper ./.libs/libvirt.so: undefined reference to `PrlSrv_GetSrvConfig' ./.libs/libvirt.so: undefined reference to `PrlApi_Deinit' ./.libs/libvirt.so: undefined reference to `PrlSrv_AddVirtualNetwork' ./.libs/libvirt.so: undefined reference to `PrlVmCfg_GetNetAdaptersCount' ./.libs/libvirt.so: undefined reference to `PrlSrv_GetVmListEx' ./.libs/libvirt.so: undefined reference to `PrlJob_GetResult' ./.libs/libvirt.so: undefined reference to `PrlHandle_GetType' ./.libs/libvirt.so: undefined reference to `PrlEvent_GetType' ./.libs/libvirt.so: undefined reference to `PrlVm_BeginEdit' ./.libs/libvirt.so: undefined reference to `PrlVmDev_GetStackIndex' ./.libs/libvirt.so: undefined reference to `PrlVmDevNet_SetAdapterType' ./.libs/libvirt.so: undefined reference to `PrlVmDev_GetIfaceType' ./.libs/libvirt.so: undefined reference to `PrlVmCfg_SetDescription' ./.libs/libvirt.so: undefined reference to `PrlVmDevNet_SetHostInterfaceName' ./.libs/libvirt.so: undefined reference to `PrlVmDevHd_SetMountPoint' ./.libs/libvirt.so: undefined reference to `PrlVmCfg_GetVNCHostName' ./.libs/libvirt.so: undefined reference to `PrlVmDevNet_GetHostInterfaceName' ./.libs/libvirt.so: undefined reference to `PrlVmDev_SetEmulatedType' ./.libs/libvirt.so: undefined reference to `PrlVm_StopEx' ./.libs/libvirt.so: undefined reference to `PrlVmCfg_SetDiskCacheWriteBack' ./.libs/libvirt.so: undefined reference to `PrlSrv_Create' ./.libs/libvirt.so: undefined reference to `PrlBootDev_SetIndex' ./.libs/libvirt.so: undefined reference to `PrlJob_GetRetCode' ./.libs/libvirt.so: undefined reference to `PrlHndlList_GetItem' ./.libs/libvirt.so: undefined reference to `PrlVmCfg_GetAutoStart' ./.libs/libvirt.so: undefined reference to `PrlVmCfg_GetVmType' ./.libs/libvirt.so: undefined reference to `PrlVmDev_SetStackIndex' ./.libs/libvirt.so: undefined reference to `PrlVmDev_SetFriendlyName' ./.libs/libvirt.so: undefined reference to `PrlSrv_UnregEventHandler' ./.libs/libvirt.so: undefined reference to `PrlVmCfg_SetVNCPort' ./.libs/libvirt.so: undefined reference to `PrlVm_Pause' ./.libs/libvirt.so: undefined reference to `PrlVmDev_GetImagePath' ./.libs/libvirt.so: undefined reference to `PrlHandle_AddRef' ./.libs/libvirt.so: undefined reference to `PrlVm_RefreshConfig' ./.libs/libvirt.so: undefined reference to `PrlVmCfg_GetSerialPortsCount' ./.libs/libvirt.so: undefined reference to `PrlVm_Resume' ./.libs/libvirt.so: undefined reference to `PrlSrv_Logoff' ./.libs/libvirt.so: undefined reference to `PrlVmCfg_GetHomePath' ./.libs/libvirt.so: undefined reference to `PrlVmCfg_GetCpuMode' ./.libs/libvirt.so: undefined reference to `PrlVmCfg_GetCpuMask' ./.libs/libvirt.so: undefined reference to `PrlVm_CommitEx' ./.libs/libvirt.so: undefined reference to `PrlVmCfg_GetVNCMode' ./.libs/libvirt.so: undefined reference to `PrlJob_Wait' ./.libs/libvirt.so: undefined reference to `PrlVmDevNet_GetVirtualNetworkId' ./.libs/libvirt.so: undefined reference to `PrlEvent_GetIssuerId' ./.libs/libvirt.so: undefined reference to `PrlVm_RegEx' ./.libs/libvirt.so: undefined reference to `PrlResult_GetParamsCount' ./.libs/libvirt.so: undefined reference to `PrlVmDevNet_SetMacAddress' ./.libs/libvirt.so: undefined reference to `PrlVmDevNet_GetAdapterType' ./.libs/libvirt.so: undefined reference to `PrlVm_Suspend' ./.libs/libvirt.so: undefined reference to `PrlVmCfg_SetCpuMode' ./.libs/libvirt.so: undefined reference to `PrlVmCfg_SetCpuCount' ./.libs/libvirt.so: undefined reference to `PrlBootDev_SetSequenceIndex' ./.libs/libvirt.so: undefined reference to `PrlVmCfg_GetBootDev' ./.libs/libvirt.so: undefined reference to `PrlBootDev_SetInUse' ./.libs/libvirt.so: undefined reference to `PrlVmCfg_GetOpticalDisk' ./.libs/libvirt.so: undefined reference to `PrlVmCfg_GetEnvId' ./.libs/libvirt.so: undefined reference to `PrlVirtNet_SetNetworkId' ./.libs/libvirt.so: undefined reference to `PrlVmCfg_SetOfflineManagementEnabled' ./.libs/libvirt.so: undefined reference to `PrlVmDev_SetEnabled' ./.libs/libvirt.so: undefined reference to `PrlVmCfg_GetNetAdapter' ./.libs/libvirt.so: undefined reference to `PrlVmCfg_SetCpuMask' ./.libs/libvirt.so: undefined reference to `PrlVmCfg_GetHardDisk' ./.libs/libvirt.so: undefined reference to `PrlVmCfg_SetVNCMode' ./.libs/libvirt.so: undefined reference to `PrlVmCfg_GetBootDevCount' ./.libs/libvirt.so: undefined reference to `PrlBootDev_SetType' ./.libs/libvirt.so: undefined reference to `PrlVmCfg_GetCpuCount' ./.libs/libvirt.so: undefined reference to `PrlVmDev_SetIfaceType' ./.libs/libvirt.so: undefined reference to `PrlApi_InitEx' ./.libs/libvirt.so: undefined reference to `PrlVmDev_Remove' ./.libs/libvirt.so: undefined reference to `PrlJob_GetError' ./.libs/libvirt.so: undefined reference to `PrlEvent_GetErrCode' ./.libs/libvirt.so: undefined reference to `PrlVmCfg_GetRamSize' ./.libs/libvirt.so: undefined reference to `PrlVmCfg_SetVideoRamSize' ./.libs/libvirt.so: undefined reference to `PrlVmCfg_SetName' ./.libs/libvirt.so: undefined reference to `PrlApi_GetResultDescription' ./.libs/libvirt.so: undefined reference to `PrlVmCfg_GetVideoRamSize' ./.libs/libvirt.so: undefined reference to `PrlVmCfg_GetUuid' ./.libs/libvirt.so: undefined reference to `PrlVmCfg_SetOsTemplate' ./.libs/libvirt.so: undefined reference to `PrlVmCfg_SetDefaultConfig' ./.libs/libvirt.so: undefined reference to `PrlSrv_DeleteVirtualNetwork' ./.libs/libvirt.so: undefined reference to `PrlVmDev_GetIndex' ./.libs/libvirt.so: undefined reference to `PrlVmDevHd_GetMountPoint' ./.libs/libvirt.so: undefined reference to `PrlVm_Reg' ./.libs/libvirt.so: undefined reference to `PrlVmCfg_GetName' ./.libs/libvirt.so: undefined reference to `PrlVmCfg_GetVNCPort' ./.libs/libvirt.so: undefined reference to `PrlSrv_GetDefaultVmConfig' ./.libs/libvirt.so: undefined reference to `PrlSrv_CreateVm' ./.libs/libvirt.so: undefined reference to `PrlVmCfg_SetVNCHostName' ./.libs/libvirt.so: undefined reference to `PrlVm_DropSuspendedState' ./.libs/libvirt.so: undefined reference to `PrlSrv_GetVmConfig' ./.libs/libvirt.so: undefined reference to `PrlVmCfg_SetRamSize' ./.libs/libvirt.so: undefined reference to `PrlVm_Unreg' ./.libs/libvirt.so: undefined reference to `PrlVmDevNet_SetPktFilterPreventMacSpoof' ./.libs/libvirt.so: undefined reference to `PrlBootDev_Remove' ./.libs/libvirt.so: undefined reference to `PrlHndlList_GetItemsCount' ./.libs/libvirt.so: undefined reference to `PrlVmDev_SetImagePath' ./.libs/libvirt.so: undefined reference to `PrlVmCfg_GetHardDisksCount' ./.libs/libvirt.so: undefined reference to `PrlResult_GetParamByIndex' ./.libs/libvirt.so: undefined reference to `PrlSrv_LoginLocalEx' ./.libs/libvirt.so: undefined reference to `PrlVirtNet_Create' ./.libs/libvirt.so: undefined reference to `PrlVmDevSerial_SetSocketMode' ./.libs/libvirt.so: undefined reference to `PrlVmInfo_GetState' ./.libs/libvirt.so: undefined reference to `PrlVm_GetState' ./.libs/libvirt.so: undefined reference to `PrlEvtPrm_ToInt32' ./.libs/libvirt.so: undefined reference to `PrlVmDevNet_GetMacAddressCanonical' ./.libs/libvirt.so: undefined reference to `PrlVmDev_GetFriendlyName' ./.libs/libvirt.so: undefined reference to `PrlHandle_Free' ./.libs/libvirt.so: undefined reference to `PrlVmDev_IsConnected' ./.libs/libvirt.so: undefined reference to `PrlVm_StartEx' ./.libs/libvirt.so: undefined reference to `PrlVmDev_GetEmulatedType' ./.libs/libvirt.so: undefined reference to `PrlBootDev_GetType' ./.libs/libvirt.so: undefined reference to `PrlApi_SwitchConsoleLogging' ./.libs/libvirt.so: undefined reference to `PrlVirtNet_SetNetworkType' ./.libs/libvirt.so: undefined reference to `PrlEvent_GetParamByName' ./.libs/libvirt.so: undefined reference to `PrlVmCfg_SetUuid' ./.libs/libvirt.so: undefined reference to `PrlEvent_GetErrString' ./.libs/libvirt.so: undefined reference to `PrlVmCfg_GetSerialPort' ./.libs/libvirt.so: undefined reference to `PrlVmCfg_CreateVmDev' ./.libs/libvirt.so: undefined reference to `PrlVmDev_SetIndex' ./.libs/libvirt.so: undefined reference to `PrlVmCfg_GetAllDevices' ./.libs/libvirt.so: undefined reference to `PrlVmDev_SetSysName' ./.libs/libvirt.so: undefined reference to `PrlVmDev_SetConnected' ./.libs/libvirt.so: undefined reference to `PrlSrv_RegEventHandler' ./.libs/libvirt.so: undefined reference to `PrlVmCfg_CreateBootDev' ./.libs/libvirt.so: undefined reference to `PrlVmDevNet_SetVirtualNetworkId' ./.libs/libvirt.so: undefined reference to `PrlVmCfg_GetOpticalDisksCount' To me, these errors seem to be related to the parallels sdk, But I am unable to figure out a way to get around them. I've added PARALLELS_SDK_CFLAGS and PARALLELS_SDK_LIBS to my env with the proper compiler and linker flags, I've also tried adjusting CFLAGS and LDFLAGS directly with the same results. Any help with this would be great, as we would like to continue using libvirt as much as possible (We use it with a couple other drivers). Thank you -- Frank Laszlo Nexcess - Beyond Hosting 21700 Melrose Ave. Southfield, MI. 48075 Cell: +1.248.602.6123 Phone: +1.866.639.2377 Fax: +1.248.281.0473

10.11.2015 19:32, Frank Laszlo пишет:
Hello,
I've been tasked with integrating libvirt into a server running Parallel Cloud Server 6.0. However, it seems I've ran into some trouble getting the vz/parallel driver to compile. It appears there might be an issue with the version of parallels-virtualization-sdk thats installed (6.10.24195)
I first tried using the latest libvirt version, 1.2.21. After finding the magical configure arguments and ENV variables to get it to find the SDK, the configure script reported "Yes" next to the vz driver. I then proceeded to run a make, and was confronted with the following error message:
vz/vz_sdk.c: In function 'prlsdkAddNet': vz/vz_sdk.c:2964: error: 'PRL_USE_VNET_NAME_FOR_BRIDGE_NAME' undeclared (first use in this function) vz/vz_sdk.c:2964: error: (Each undeclared identifier is reported only once vz/vz_sdk.c:2964: error: for each function it appears in.) make[3]: *** [vz/libvirt_driver_vz_la-vz_sdk.lo] Error 1 make[3]: Leaving directory `/root/libvirt-1.2.21/src'
I then tried to use libvirt 1.2.16, thinking that if I go back a few versions to before the driver was renamed (parallels -> vz), it might work. This appears to have sorted out the compiler errors, however, when it goes to link the modules, I get the following:
Hello Frank, The version of parallels-virtualization-sdk provided with Parallels Cloud Server 6.0 is not supposed to be linked with libvirt. You need an open version, which comes with the next VZ 7.0. You can get sources from here: https://src.openvz.org/scm/ovz/libprlsdk.git https://github.com/OpenVZ/libprlsdk Then build it yourself. If have any questions, please feel free to contact me directly. Best, Maxim Nestratov
participants (2)
-
Frank Laszlo
-
Maxim Nestratov