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