It seems that the circular reference checking mechanism of ApVSys
is flawed :
Example : I have 2 (perl) scripts, one script (child.pl) gets
called from within the other script (parent.pl) :
print "Hello World !\n";
When I run 'parent.pl' I get :
# APVSYS-ERROR : Circular reference detected
# command 'perl' of 'perl/v5.6.1' is not executable
# Check the file/link:
# and contact your administrator.
# The reasons of this problem can be:
# - The network is down and the command is not available.
# - The tool/version was removed but not unregistered before.
# In this case, apv-dbcheck can solve the problem.
# - The command is linked to a partition that is not shared.
# - You are not allowed to execute this command.
It seems that it is not possible to call a script from
within a script if both scripting shells (#!/apv/bin/perl) are
the same : ApVSys incorrectly thinks this a circular reference case.
The problem is propably caused by the circular ref. checking code
in apvsys-wrapper.c. To detect a circ. ref. the first path that is
defined in the (existing) PATH environment variable is compared to
the new path that is about to be prepended to the PATH variable
(/ap/apvroot/SunOS/v5.8/perl/v5.6.1/bin in our example) and if they
are the same, a circular reference error message is produced.
philip d0t van_den_bosch at alcatel d0t be