[ic] IC problem
Scott MacDonald
interchange-users@interchange.redhat.com
Mon May 6 15:34:01 2002
I have built a set of perl modules to be be used by my custom user
tags in Interchange. The set of modules is nested about three deep:
MyDir::MySubdirA::MyModuleA1
MyDir::MySubdirA::MyModuleA2
MyDir::MySubdirB::MyModuleB1
These are in a directory structure under /usr/local/interchange like
so:
/usr/local/interchange/lib/MyDir/MySubdirA/MyModuleA1.pm
/usr/local/interchange/lib/MyDir/MySubdirA/MyModuleA2.pm
/usr/local/interchange/lib/MyDir/MySubdirB/MyModuleB1.pm
I am trying to add some lines to my catalog.cfg as follows:
Require module MyDir::MySubdirA::MyModuleA1
Require module MyDir::MySubdirA::MyModuleA2
Require module MyDir::MySubdirB::MyModuleB1
These modules have all been tested on their own in separate code
outside Interchange.
The problem is that when I run the interchange restart script it gives
an error message indicating it cannot find my modules (fails on the
first one required).
If I have a module which does not try to "use" any other of my own
modules (i.e. inside the /usr/local/interchange/lib/MyDir/
hierarchy) the restart will be successful.
To illustrate my problem I copied LWP::Authen::Digest.pm into
/usr/local/interchange/lib/MyDir/MySubdirA/ and was able to use
this line to include it:
Require module MyDir::MySubdirA::Digest
This worked. So it must be something to do with my custom modules and
their interdependecies, rather than with my directory structure.
Also, if I removed the MyDir from the path and "shifted" all my
modules up 1 directory level like so:
/usr/local/interchange/lib/MySubdirA/MyModuleA1.pm
/usr/local/interchange/lib/MySubdirA/MyModuleA2.pm
/usr/local/interchange/lib/MySubdirB/MyModuleB1.pm
it all seems to work fine. I don't like this solution because I would
like to be able to keep all of my custom code under the same, single
directory with my modules all under it (like LWP, for example).
The restart error I get is:
- - - [06/May/2002:16:03:44 -0300] - - StoreName config error: Required
Perl module MyDir::MySubdirA::MyModuleA1 not present. Aborting catalog.
> In line 10 of the configuration file 'catalog.cfg':
> Require module MyDir::MySubdirA::MyModuleA1
Despite the error above I am sure the file is there and can be found
as long as I don't try to "use" any of my other custom modules from
within MyModuleA1.
How can I "Require" my own modules in catalog.cfg if those modules
reference other modules I made which exist under the
/usr/local/interchange/lib/MyDir/ hierarchy?
Thanks,
Scott