VMware {code} Community
ACKH
Contributor
Contributor

Undefined subroutine...

Hi all,

I got a simple perl script that calls HostConnect() (example taken from the documentation). However when I run that script I get the following command line output:

Subroutine VIXH_ redefined at C:/Tools/Perl/site/lib/VMWare/Vix/API/Constants.pm line 16.

Subroutine VIX_API_VERSION redefined at C:/Tools/Perl/site/lib/VMWare/Vix/API/Constants.pm line 19.

Subroutine VIX_INVALID_HANDLE redefined at C:/Tools/Perl/site/lib/VMWare/Vix/API/Constants.pm line 20.

Subroutine VIX_HANDLETYPE_NONE redefined at C:/Tools/Perl/site/lib/VMWare/Vix/API/Constants.pm line 21.

Subroutine VIX_HANDLETYPE_HOST redefined at C:/Tools/Perl/site/lib/VMWare/Vix/API/Constants.pm line 22.

Subroutine VIX_HANDLETYPE_VM redefined at C:/Tools/Perl/site/lib/VMWare/Vix/API/Constants.pm line 23.

Subroutine VIX_HANDLETYPE_NETWORK redefined at C:/Tools/Perl/site/lib/VMWare/Vix/API/Constants.pm line 24.

Subroutine VIX_HANDLETYPE_JOB redefined at C:/Tools/Perl/site/lib/VMWare/Vix/API/Constants.pm line 25.

Subroutine VIX_HANDLETYPE_SNAPSHOT redefined at C:/Tools/Perl/site/lib/VMWare/Vix/API/Constants.pm line 26.

Subroutine VIX_OK redefined at C:/Tools/Perl/site/lib/VMWare/Vix/API/Constants.pm line 39.

Subroutine VIX_E_FAIL redefined at C:/Tools/Perl/site/lib/VMWare/Vix/API/Constants.pm line 40.

Subroutine VIX_E_OUT_OF_MEMORY redefined at C:/Tools/Perl/site/lib/VMWare/Vix/API/Constants.pm line 41.

Subroutine VIX_E_INVALID_ARG redefined at C:/Tools/Perl/site/lib/VMWare/Vix/API/Constants.pm line 42.

Subroutine VIX_E_FILE_NOT_FOUND redefined at C:/Tools/Perl/site/lib/VMWare/Vix/API/Constants.pm line 43.

Subroutine VIX_E_OBJECT_IS_BUSY redefined at C:/Tools/Perl/site/lib/VMWare/Vix/API/Constants.pm line 44.

Subroutine VIX_E_NOT_SUPPORTED redefined at C:/Tools/Perl/site/lib/VMWare/Vix/API/Constants.pm line 45.

Subroutine VIX_E_FILE_ERROR redefined at C:/Tools/Perl/site/lib/VMWare/Vix/API/Constants.pm line 46.

Subroutine VIX_E_DISK_FULL redefined at C:/Tools/Perl/site/lib/VMWare/Vix/API/Constants.pm line 47.

Subroutine VIX_E_INCORRECT_FILE_TYPE redefined at C:/Tools/Perl/site/lib/VMWare/Vix/API/Constants.pm line 48.

Subroutine VIX_E_CANCELLED redefined at C:/Tools/Perl/site/lib/VMWare/Vix/API/Constants.pm line 49.

Subroutine VIX_E_FILE_READ_ONLY redefined at C:/Tools/Perl/site/lib/VMWare/Vix/API/Constants.pm line 50.

Subroutine VIX_E_FILE_ALREADY_EXISTS redefined at C:/Tools/Perl/site/lib/VMWare/Vix/API/Constants.pm line 51.

Subroutine VIX_E_FILE_ACCESS_ERROR redefined at C:/Tools/Perl/site/lib/VMWare/Vix/API/Constants.pm line 52.

Subroutine VIX_E_REQUIRES_LARGE_FILES redefined at C:/Tools/Perl/site/lib/VMWare/Vix/API/Constants.pm line 53.

Subroutine VIX_E_FILE_ALREADY_LOCKED redefined at C:/Tools/Perl/site/lib/VMWare/Vix/API/Constants.pm line 54.

Subroutine VIX_E_INVALID_HANDLE redefined at C:/Tools/Perl/site/lib/VMWare/Vix/API/Constants.pm line 55.

Subroutine VIX_E_NOT_SUPPORTED_ON_HANDLE_TYPE redefined at C:/Tools/Perl/site/lib/VMWare/Vix/API/Constants.pm line 56.

Subroutine VIX_E_TOO_MANY_HANDLES redefined at C:/Tools/Perl/site/lib/VMWare/Vix/API/Constants.pm line 57.

Subroutine VIX_E_NOT_FOUND redefined at C:/Tools/Perl/site/lib/VMWare/Vix/API/Constants.pm line 58.

Subroutine VIX_E_TYPE_MISMATCH redefined at C:/Tools/Perl/site/lib/VMWare/Vix/API/Constants.pm line 59.

Subroutine VIX_E_INVALID_XML redefined at C:/Tools/Perl/site/lib/VMWare/Vix/API/Constants.pm line 60.

Subroutine VIX_E_TIMEOUT_WAITING_FOR_TOOLS redefined at C:/Tools/Perl/site/lib/VMWare/Vix/API/Constants.pm line 61.

Subroutine VIX_E_UNRECOGNIZED_COMMAND redefined at C:/Tools/Perl/site/lib/VMWare/Vix/API/Constants.pm line 62.

Subroutine VIX_E_OP_NOT_SUPPORTED_ON_GUEST redefined at C:/Tools/Perl/site/lib/VMWare/Vix/API/Constants.pm line 63.

Subroutine VIX_E_PROGRAM_NOT_STARTED redefined at C:/Tools/Perl/site/lib/VMWare/Vix/API/Constants.pm line 64.

Subroutine VIX_E_VM_NOT_RUNNING redefined at C:/Tools/Perl/site/lib/VMWare/Vix/API/Constants.pm line 65.

Subroutine VIX_E_VM_IS_RUNNING redefined at C:/Tools/Perl/site/lib/VMWare/Vix/API/Constants.pm line 66.

Subroutine VIX_E_CANNOT_CONNECT_TO_VM redefined at C:/Tools/Perl/site/lib/VMWare/Vix/API/Constants.pm line 67.

Subroutine VIX_E_POWEROP_SCRIPTS_NOT_AVAILABLE redefined at C:/Tools/Perl/site/lib/VMWare/Vix/API/Constants.pm line 68.

Subroutine VIX_E_NO_GUEST_OS_INSTALLED redefined at C:/Tools/Perl/site/lib/VMWare/Vix/API/Constants.pm line 69.

Subroutine VIX_E_VM_INSUFFICIENT_HOST_MEMORY redefined at C:/Tools/Perl/site/lib/VMWare/Vix/API/Constants.pm line 70.

Subroutine VIX_E_SUSPEND_ERROR redefined at C:/Tools/Perl/site/lib/VMWare/Vix/API/Constants.pm line 71.

Subroutine VIX_E_VM_NOT_ENOUGH_CPUS redefined at C:/Tools/Perl/site/lib/VMWare/Vix/API/Constants.pm line 72.

Subroutine VIX_E_HOST_USER_PERMISSIONS redefined at C:/Tools/Perl/site/lib/VMWare/Vix/API/Constants.pm line 73.

Subroutine VIX_E_GUEST_USER_PERMISSIONS redefined at C:/Tools/Perl/site/lib/VMWare/Vix/API/Constants.pm line 74.

Subroutine VIX_E_TOOLS_NOT_RUNNING redefined at C:/Tools/Perl/site/lib/VMWare/Vix/API/Constants.pm line 75.

Subroutine VIX_E_GUEST_OPERATIONS_PROHIBITED redefined at C:/Tools/Perl/site/lib/VMWare/Vix/API/Constants.pm line 76.

Subroutine VIX_E_ANON_GUEST_OPERATIONS_PROHIBITED redefined at C:/Tools/Perl/site/lib/VMWare/Vix/API/Constants.pm line 77.

Subroutine VIX_E_ROOT_GUEST_OPERATIONS_PROHIBITED redefined at C:/Tools/Perl/site/lib/VMWare/Vix/API/Constants.pm line 78.

Subroutine VIX_E_MISSING_ANON_GUEST_ACCOUNT redefined at C:/Tools/Perl/site/lib/VMWare/Vix/API/Constants.pm line 79.

Subroutine VIX_E_CANNOT_AUTHENTICATE_WITH_GUEST redefined at C:/Tools/Perl/site/lib/VMWare/Vix/API/Constants.pm line 80.

Subroutine VIX_E_UNRECOGNIZED_COMMAND_IN_GUEST redefined at C:/Tools/Perl/site/lib/VMWare/Vix/API/Constants.pm line 81.

Subroutine VIX_E_VM_NOT_FOUND redefined at C:/Tools/Perl/site/lib/VMWare/Vix/API/Constants.pm line 82.

Subroutine VIX_E_NOT_SUPPORTED_FOR_VM_VERSION redefined at C:/Tools/Perl/site/lib/VMWare/Vix/API/Constants.pm line 83.

Subroutine VIX_E_CANNOT_READ_VM_CONFIG redefined at C:/Tools/Perl/site/lib/VMWare/Vix/API/Constants.pm line 84.

Subroutine VIX_E_TEMPLATE_VM redefined at C:/Tools/Perl/site/lib/VMWare/Vix/API/Constants.pm line 85.

Subroutine VIX_E_VM_ALREADY_LOADED redefined at C:/Tools/Perl/site/lib/VMWare/Vix/API/Constants.pm line 86.

Subroutine VIX_E_UNRECOGNIZED_PROPERTY redefined at C:/Tools/Perl/site/lib/VMWare/Vix/API/Constants.pm line 87.

Subroutine VIX_E_INVALID_PROPERTY_VALUE redefined at C:/Tools/Perl/site/lib/VMWare/Vix/API/Constants.pm line 88.

Subroutine VIX_E_READ_ONLY_PROPERTY redefined at C:/Tools/Perl/site/lib/VMWare/Vix/API/Constants.pm line 89.

Subroutine VIX_E_MISSING_REQUIRED_PROPERTY redefined at C:/Tools/Perl/site/lib/VMWare/Vix/API/Constants.pm line 90.

Subroutine VIX_E_BAD_VM_INDEX redefined at C:/Tools/Perl/site/lib/VMWare/Vix/API/Constants.pm line 91.

Subroutine VIX_PROPERTYTYPE_ANY redefined at C:/Tools/Perl/site/lib/VMWare/Vix/API/Constants.pm line 92.

Subroutine VIX_PROPERTYTYPE_INTEGER redefined at C:/Tools/Perl/site/lib/VMWare/Vix/API/Constants.pm line 93.

Subroutine VIX_PROPERTYTYPE_STRING redefined at C:/Tools/Perl/site/lib/VMWare/Vix/API/Constants.pm line 94.

Subroutine VIX_PROPERTYTYPE_BOOL redefined at C:/Tools/Perl/site/lib/VMWare/Vix/API/Constants.pm line 95.

Subroutine VIX_PROPERTYTYPE_HANDLE redefined at C:/Tools/Perl/site/lib/VMWare/Vix/API/Constants.pm line 96.

Subroutine VIX_PROPERTYTYPE_INT64 redefined at C:/Tools/Perl/site/lib/VMWare/Vix/API/Constants.pm line 97.

Subroutine VIX_PROPERTY_NONE redefined at C:/Tools/Perl/site/lib/VMWare/Vix/API/Constants.pm line 98.

Subroutine VIX_PROPERTY_VM_NUM_VCPUS redefined at C:/Tools/Perl/site/lib/VMWare/Vix/API/Constants.pm line 99.

Subroutine VIX_PROPERTY_VM_VMX_PATHNAME redefined at C:/Tools/Perl/site/lib/VMWare/Vix/API/Constants.pm line 100.

Subroutine VIX_PROPERTY_VM_VMTEAM_PATHNAME redefined at C:/Tools/Perl/site/lib/VMWare/Vix/API/Constants.pm line 101.

Subroutine VIX_PROPERTY_VM_MEMORY_SIZE redefined at C:/Tools/Perl/site/lib/VMWare/Vix/API/Constants.pm line 102.

Subroutine VIX_PROPERTY_VM_IN_VMTEAM redefined at C:/Tools/Perl/site/lib/VMWare/Vix/API/Constants.pm line 103.

Subroutine VIX_PROPERTY_VM_POWER_STATE redefined at C:/Tools/Perl/site/lib/VMWare/Vix/API/Constants.pm line 104.

Subroutine VIX_PROPERTY_VM_TOOLS_STATE redefined at C:/Tools/Perl/site/lib/VMWare/Vix/API/Constants.pm line 105.

Subroutine VIX_PROPERTY_VM_IS_RUNNING redefined at C:/Tools/Perl/site/lib/VMWare/Vix/API/Constants.pm line 106.

Subroutine VIX_PROPERTY_JOB_RESULT_ERROR_CODE redefined at C:/Tools/Perl/site/lib/VMWare/Vix/API/Constants.pm line 107.

Subroutine VIX_PROPERTY_JOB_RESULT_VM_IN_GROUP redefined at C:/Tools/Perl/site/lib/VMWare/Vix/API/Constants.pm line 108.

Subroutine VIX_PROPERTY_JOB_RESULT_USER_MESSAGE redefined at C:/Tools/Perl/site/lib/VMWare/Vix/API/Constants.pm line 109.

Subroutine VIX_PROPERTY_JOB_RESULT_LINE_NUM redefined at C:/Tools/Perl/site/lib/VMWare/Vix/API/Constants.pm line 110.

Subroutine VIX_PROPERTY_JOB_RESULT_EXIT_CODE redefined at C:/Tools/Perl/site/lib/VMWare/Vix/API/Constants.pm line 111.

Subroutine VIX_PROPERTY_JOB_RESULT_COMMAND_OUTPUT redefined at C:/Tools/Perl/site/lib/VMWare/Vix/API/Constants.pm line 112.

Subroutine VIX_PROPERTY_JOB_RESULT_HANDLE redefined at C:/Tools/Perl/site/lib/VMWare/Vix/API/Constants.pm line 113.

Subroutine VIX_PROPERTY_JOB_RESULT_FOUND_ITEM_NAME redefined at C:/Tools/Perl/site/lib/VMWare/Vix/API/Constants.pm line 114.

Subroutine VIX_PROPERTY_JOB_RESULT_FOUND_ITEM_DESCRIPTION redefined at C:/Tools/Perl/site/lib/VMWare/Vix/API/Constants.pm line 115.

Subroutine VIX_PROPERTY_FOUND_ITEM_LOCATION redefined at C:/Tools/Perl/site/lib/VMWare/Vix/API/Constants.pm line 116.

Subroutine VIX_EVENTTYPE_JOB_COMPLETED redefined at C:/Tools/Perl/site/lib/VMWare/Vix/API/Constants.pm line 117.

Subroutine VIX_EVENTTYPE_JOB_PROGRESS redefined at C:/Tools/Perl/site/lib/VMWare/Vix/API/Constants.pm line 118.

Subroutine VIX_EVENTTYPE_FIND_ITEM redefined at C:/Tools/Perl/site/lib/VMWare/Vix/API/Constants.pm line 119.

Subroutine VIX_HOSTOPTION_USE_EVENT_PUMP redefined at C:/Tools/Perl/site/lib/VMWare/Vix/API/Constants.pm line 120.

Subroutine VIX_SERVICEPROVIDER_VMWARE_SERVER redefined at C:/Tools/Perl/site/lib/VMWare/Vix/API/Constants.pm line 121.

Subroutine VIX_FIND_RUNNING_VMS redefined at C:/Tools/Perl/site/lib/VMWare/Vix/API/Constants.pm line 122.

Subroutine VIX_PUMPEVENTOPTION_NONE redefined at C:/Tools/Perl/site/lib/VMWare/Vix/API/Constants.pm line 123.

Subroutine VIX_VMPOWEROP_NORMAL redefined at C:/Tools/Perl/site/lib/VMWare/Vix/API/Constants.pm line 124.

Subroutine VIX_POWERSTATE_POWERING_OFF redefined at C:/Tools/Perl/site/lib/VMWare/Vix/API/Constants.pm line 125.

Subroutine VIX_POWERSTATE_POWERED_OFF redefined at C:/Tools/Perl/site/lib/VMWare/Vix/API/Constants.pm line 126.

Subroutine VIX_POWERSTATE_POWERING_ON redefined at C:/Tools/Perl/site/lib/VMWare/Vix/API/Constants.pm line 127.

Subroutine VIX_POWERSTATE_POWERED_ON redefined at C:/Tools/Perl/site/lib/VMWare/Vix/API/Constants.pm line 128.

Subroutine VIX_POWERSTATE_SUSPENDING redefined at C:/Tools/Perl/site/lib/VMWare/Vix/API/Constants.pm line 129.

Subroutine VIX_POWERSTATE_SUSPENDED redefined at C:/Tools/Perl/site/lib/VMWare/Vix/API/Constants.pm line 130.

Subroutine VIX_POWERSTATE_TOOLS_RUNNING redefined at C:/Tools/Perl/site/lib/VMWare/Vix/API/Constants.pm line 131.

Subroutine VIX_POWERSTATE_RESETTING redefined at C:/Tools/Perl/site/lib/VMWare/Vix/API/Constants.pm line 132.

Subroutine VIX_POWERSTATE_BLOCKED_ON_MSG redefined at C:/Tools/Perl/site/lib/VMWare/Vix/API/Constants.pm line 133.

Subroutine VIX_TOOLSSTATE_UNKNOWN redefined at C:/Tools/Perl/site/lib/VMWare/Vix/API/Constants.pm line 134.

Subroutine VIX_TOOLSSTATE_RUNNING redefined at C:/Tools/Perl/site/lib/VMWare/Vix/API/Constants.pm line 135.

Subroutine VIX_TOOLSSTATE_NOT_INSTALLED redefined at C:/Tools/Perl/site/lib/VMWare/Vix/API/Constants.pm line 136.

Subroutine VIX_ANONYMOUS_USER_NAME redefined at C:/Tools/Perl/site/lib/VMWare/Vix/API/Constants.pm line 137.

Subroutine VIX_ADMINISTRATOR_USER_NAME redefined at C:/Tools/Perl/site/lib/VMWare/Vix/API/Constants.pm line 138.

Subroutine VIX_RUNPROGRAM_RETURN_IMMEDIATELY redefined at C:/Tools/Perl/site/lib/VMWare/Vix/API/Constants.pm line 139.

Undefined subroutine &main::HostConnect called at X:\BuildVM\RunBuild.pl line 51.

I don't really understand why the subroutine HostConnect is undefined. To me it seems that the Vix API is (finally) correctly installed. Could someone please bring some light into this?

Thanks

0 Kudos
2 Replies
lemke
VMware Employee
VMware Employee

I'd have to see your program, but i'm guessing you have

use VMware::Vix::API::Constants;

twice (which is causing all the redefined errors), and no call to load the API fucntions

use VMware::Vix::Simple;

0 Kudos
ACKH
Contributor
Contributor

Thanks for your answer. The problem leading to the undefined subroutine was that I wrote VMWare::Vix instead of VMware::Vix (note the uppercase "W').

0 Kudos