Undefined subroutine validation_options called from Satellite install

Solution Verified - Updated -

Environment

  • Red Hat Network Satellite 5.x

Issue

  • Satellite install errors with the following message during upgrade:
# ./install.pl --upgrade
Undefined subroutine &Params::Validate::validation_options called at install/lib/Spacewalk/Setup.pm line 22.
Compilation failed in require at ./install.pl line 34.
BEGIN failed--compilation aborted at ./install.pl line 34.

Resolution

  • Install correct perl-Params-Validate that is part of Red Hat Network Satellite channel

Root Cause

  • Manual install of perl-Params-Validate using incorrect version under /usr/local/lib64/perl5

Diagnostic Steps

  • Run following perl command:
# perl -MParams::Validate -le 'print $INC{"Params/Validate.pm"}'
  • Examine output and confirm the library is in the /usr/lib64/perl5
  • The module install location is incorrect is in the /usr/local/lib64/perl5 directory:
/usr/local/lib64/perl5/Params/Validate.pm
  • Find out perl rpm version of the current moudule:
rpm -qf `perl -MParams::Validate -le 'print $INC{"Params/Validate.pm"}'`
  • If above command does not display a rpm from the Red Hat Network Satellite channel then the perl-Params-Validate rpm is not the correct version.

This solution is part of Red Hat’s fast-track publication program, providing a huge library of solutions that Red Hat engineers have created while supporting our customers. To give you the knowledge you need the instant it becomes available, these articles may be presented in a raw and unedited form.

Close

Welcome! Check out the Getting Started with Red Hat page for quick tours and guides for common tasks.