I spoke too soon about NOT having to install as admin to get my app to run.
I wasn't checking that all my perl processes had terminated (ie. a service
was running which made me think the new stuff ran OK).
Since then I have discovered that installing with admin rights is required
for the app to run.
EXPECTED RESULT:
regardless of how we installed, if mathServer.pm and mathClient.pm
use mathSystem;
...rather than...
use lib mathSystem;
...the app should run OK after moving the auto directory under the
product directory.
Instead, this only works if the installer logs in as supervisor...
______________________________________________
Here's the basic difference, with admin rights and without:
::: WITH rights (ie. logged in as a supervisor):
# perl Makefile.PL
1. After installing,
moved contents of /Library/Perl/darwin/auto
to
/<product_dir>/Contents/Resources/MathSystem/auto/
2. trashed :
/Library/Perl/darwin/MathSystem.pm # removed my modules from that tree
/Library/Perl/darwin/mathServer.pm
/Library/Perl/darwin/mathClient.pm # ...and emptied the trash
3. Tested app, worked OK. Server launches, Client can connect through
'Distibuted Objects' OK.
killed all perl processes
__________________________________________
::: WITHOUT rights (ie. NOT logged in as a supervisor):
# perl Makefile.PL PREFIX="./REMOVE_ME/"
1. Trashed the product directory tree, rebuilt the app, make clean, etc..
After installing,
moved contents of
/<product_dir>/Contents/Resources/MathSystem/REMOVE_ME/darwin/auto/
to
/<product_dir>/Contents/Resources/MathSystem/auto/
2. trashed : /<product_dir>/Contents/Resources/MathSystem/REMOVE_ME/
...and emptied the trash
3. App did NOT work, even the Server failed to launch.
RESULTING data point: Installing as ROOT provides a service that we need,
which we don't fully understand.
EXPECTED RESULT:
regardless of how we installed, if mathServer.pm and mathClient.pm
use mathSystem;
...rather than...
use lib mathSystem;
...the app should run OK after moving the auto directory under the
product directory.
Instead, this only works if the installer logs in as supervisor...
----- Original Message -----
From: "Michael G Schwern" <[EMAIL PROTECTED]>
To: "George Szynal" <[EMAIL PROTECTED]>
Cc: <[EMAIL PROTECTED]>; <[EMAIL PROTECTED]>
Sent: Wednesday, November 06, 2002 4:48 PM
Subject: Re: Of LIB=, Makemaker, and alternate locations for libraries of
perl extensions and apps
> On Fri, Nov 01, 2002 at 11:15:15AM -0800, George Szynal wrote:
> > For those who want/need to install a Perl app or extension without
perturbing the default perl library tree.
> > Possible reasons:
> > 1. Disambiguating the existing libs from your libs (for testing
perhaps)
> > 2. Not wanting to or not having rights to login as a supervisor (or
as a user with admin rights)
> > 3. Prefer to encapsulate resources in a local tree (easy to move /
remove, or whatever reason)
> > 4. Yet another reason I may have overlooked
> >
> > lessons learned are:
> > a. utilize the 'LIB= argument when creating your makefile
> > example: perl Makefile.PL
LIB=/users/george/myperlprogram/lib/
>
> This is due to bugs in MakeMaker prior to 6.XX (ie. what comes with perl
> prior to 5.8.0). The proper thing to use is PREFIX, not LIB. PREFIX
> covers *all* files installed by MakeMaker: libraries, programs,
> documentation, etc... LIB only effects where libraries go. Bugs in old
> versions of MakeMaker meant PREFIX was often ignored, these have been
fixed
> and new versions of MakeMaker are available as stand-alone modules (ie.
you
> don't have to upgrade perl) from CPAN.
>
> Since many people still use the old MakeMaker, you can cover your bases by
> specifying both PREFIX and LIB
>
> perl Makefile.PL PREFIX=foo/bar/ LIB=foo/bar/lib/
>
> You might also have to specify the INSTALLMAN3DIR, INSTALLMAN1DIR,
> INSTALLBIN and INSTALLSCRIPT to cover man pages and programs installed.
> There's a lot of voodoo involved as to when the bug manifests itself.
>
> Sorry for the inconvenience.
>
>
> --
>
> Michael G. Schwern <[EMAIL PROTECTED]> http://www.pobox.com/~schwern/
> Perl Quality Assurance <[EMAIL PROTECTED]> Kwalitee Is Job One
> It's Ecstacy time!
>