Since I don't have any intinate knowledge of how the RRDs perl module works internally I can't say what might be causing this. I have no idea what this 'last.al' file is, but it may be connected with the 'require' directive.
My best guess at the moment is that your chrooted environment has problems with 'require' (which is evaluated at run time) versus 'use' (which is evaluated at compile time). This would explain why that test script I gave you worked OK but the routers2 script doesnt.
So, to test a fix for this, try the following:
Edit the routers2 script. At the beginning, just under 'use POSIX', add the line 'use RRDs;'
Find all the lines matching any of these:
eval { require RRDs; };
eval { require 'rrds.pm'; };
eval { require "RRDs.pm"; };
(yes, I know its inconsistent, but they all do the same thing). Replace these lines with
eval { 1;};
This should cause the RRDs module to load up front rather than on demand.
Then try to run in the chrooted environment again.
If you now get errors like 'Cannot find .rrd file' then you're getting an issue with the WorkDir path being different. The way to fix this is to create a softlink in your chrooted environment so that the path still works.Statistics: Posted by stevesh — Mon Jan 15, 2007 9:33 am
]]>