[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