Please help: Where is PPM configured?

Please help: Where is PPM configured?

am 08.01.2009 09:58:34 von fzarabozo

Hello Friends,

I'm having a problem with PPM in Active Perl 5.010 build 1004.

I had my Perl installation in a non standard folder for Win32 (d:\usr).
Today, I wanted to make a certain test with a new fresh installation of
Perl, so I downloaded the installer and installed it in the default
installation folder (C:\Perl), being careful about NOT selecting the options
"Add Perl to Path" and "Associate pl files with Perl", since I already had
set those settings in my system manually and according to my own needs with
my previous still existent Perl installation.

So, I saw what I wanted to see in the new fresh installation and then I
uninstalled it from Control Panel / Add & Remove Programs. After
uninstalling it, the folder C:\Perl was still in the hard drive with a
couple of folders, so I deleted it.

After all that, I discovered that my custom .pl association in the system
was removed. Isn't that just wrong? I mean, I didn't let the installer make
any changes to the pl extension or Perl path, so, why it decides to remove
what it wasn't made by itself??

However, even though I think that's a horrible installer bug, that was
"easy" to solve. The main problem I'm having now is that my original PPM
(which by the way, is the same version of Perl) is installing new perl
modules on the path "C:\Perl\site\lib", which is absolutely wrong. If I
remove that folder, ppm will create it again when installing any new module.
If I look at the preferences in the gui-ppm it shows 4 areas: D:\usr\lib,
D:\usr\site\lib, C:\Perl\lib and C:\Perl\site\lib.

I've been trying to find files or settings related to PPM in Windows
registry, the Documents and Settings folder, the Windows and System32
folders and the Config.pm files in my perl installation, but I just cannot
find how to make PPM forget about "C:\Perl".

Anyway, I don't think those settings are inside the Perl installation folder
(which it really should!) because I even reverted my Perl folder to its
original state from my SVN repository, and the problem is still there.

Can anybody please help me with this? Does anyone know where is PPM getting
these settings from?

Any help will be highly appreciated.

Thanks in advance.

Paco Zarabozo A.


_______________________________________________
ActivePerl mailing list
ActivePerl@listserv.ActiveState.com
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs

Re: Please help: Where is PPM configured?

am 08.01.2009 11:52:52 von Gisle Aas

On Jan 8, 2009, at 9:58 , Zarabozo, Francisco (GE, Corporate) wrote:

> I'm having a problem with PPM in Active Perl 5.010 build 1004.
>
> I had my Perl installation in a non standard folder for Win32 (d:
> \usr).
> Today, I wanted to make a certain test with a new fresh installation
> of
> Perl, so I downloaded the installer and installed it in the default
> installation folder (C:\Perl), being careful about NOT selecting the
> options
> "Add Perl to Path" and "Associate pl files with Perl", since I
> already had
> set those settings in my system manually and according to my own
> needs with
> my previous still existent Perl installation.
>
> So, I saw what I wanted to see in the new fresh installation and
> then I
> uninstalled it from Control Panel / Add & Remove Programs. After
> uninstalling it, the folder C:\Perl was still in the hard drive with a
> couple of folders, so I deleted it.
>
> After all that, I discovered that my custom .pl association in the
> system
> was removed. Isn't that just wrong? I mean, I didn't let the
> installer make
> any changes to the pl extension or Perl path, so, why it decides to
> remove
> what it wasn't made by itself??

That certainly seems wrong to me. I hope Jan can fill in some more
information about what could be happening here.

> However, even though I think that's a horrible installer bug, that was
> "easy" to solve. The main problem I'm having now is that my original
> PPM
> (which by the way, is the same version of Perl) is installing new perl
> modules on the path "C:\Perl\site\lib", which is absolutely wrong.
> If I
> remove that folder, ppm will create it again when installing any new
> module.
> If I look at the preferences in the gui-ppm it shows 4 areas: D:\usr
> \lib,
> D:\usr\site\lib, C:\Perl\lib and C:\Perl\site\lib.
>
> I've been trying to find files or settings related to PPM in Windows
> registry, the Documents and Settings folder, the Windows and System32
> folders and the Config.pm files in my perl installation, but I just
> cannot
> find how to make PPM forget about "C:\Perl".
>
> Anyway, I don't think those settings are inside the Perl
> installation folder
> (which it really should!) because I even reverted my Perl folder to
> its
> original state from my SVN repository, and the problem is still there.
>
> Can anybody please help me with this? Does anyone know where is PPM
> getting
> these settings from?

ppm initialize install areas from perl's @INC variable when it starts
up. Compare:

% ppm area list
% perl -le "print for @INC"
% perl -V:sitelib

What output do these commands give you?

A possible way that @INC could still be set to include C:\Perl\site
\lib is via the PERL5LIB envirionment variable.

Regards,
Gisle

_______________________________________________
ActivePerl mailing list
ActivePerl@listserv.ActiveState.com
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs

Re: Please help: Where is PPM configured?

am 08.01.2009 15:25:59 von fzarabozo

Hello Gisle, thanks for your answer.

> ppm initialize install areas from perl's @INC variable when it starts up.
> Compare:
>
> % ppm area list
> % perl -le "print for @INC"
> % perl -V:sitelib
>
> What output do these commands give you?

C:\>ppm area list
?????????????????????????????????????
? name ? pkgs ? lib ?
?????????????????????????????????????
? (usr) ? n/a ? D:/usr/site/lib ?
? (usr_2) ? n/a ? D:/usr/lib ?
? site* ? 1 ? C:/Perl/site/lib ?
? perl ? 0 ? C:/Perl/lib ?
?????????????????????????????????????

C:\>perl -le "print for @INC"
D:/usr/site/lib
D:/usr/lib
..

C:\>perl -V:sitelib
sitelib='C:\Perl\site\lib';


> A possible way that @INC could still be set to include C:\Perl\site \lib
> is via the PERL5LIB envirionment variable.
>

C:\>echo %PERL5LIB%
%PERL5LIB%

(that environment variable is not set, I checked)


I ran the command "perl --help" to see what -V flag does, and after reading
it, I opened /usr/lib/Config.pm. It had indeed set C:\Perl\\lib for several
values, so I changed them. First question: how could that file get changed
when it was in a completely different installation folder than the last Perl
installation I made? Also, in the same place, there's a Config.pm~ file
(including the ~) with the correct values. Renamed by the installer or
something else?

Well, after changing Config.pm, everything is still the same. The commands I
showed before, are still returning the same values.

Any ideas?

Thanks again.

Paco Zarabozo





_______________________________________________
ActivePerl mailing list
ActivePerl@listserv.ActiveState.com
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs

Re: Please help: Where is PPM configured?

am 08.01.2009 16:21:33 von Gisle Aas

On Jan 8, 2009, at 15:25 , Zarabozo, Francisco (GE, Corporate) wrote:

> Hello Gisle, thanks for your answer.
>
>> ppm initialize install areas from perl's @INC variable when it
>> starts up. Compare:
>>
>> % ppm area list
>> % perl -le "print for @INC"
>> % perl -V:sitelib
>>
>> What output do these commands give you?
>
> C:\>ppm area list
> ?????????????????????????????????????
> ? name ? pkgs ? lib ?
> ?????????????????????????????????????
> ? (usr) ? n/a ? D:/usr/site/lib ?
> ? (usr_2) ? n/a ? D:/usr/lib ?
> ? site* ? 1 ? C:/Perl/site/lib ?
> ? perl ? 0 ? C:/Perl/lib ?
> ?????????????????????????????????????
>
> C:\>perl -le "print for @INC"
> D:/usr/site/lib
> D:/usr/lib
> .
>
> C:\>perl -V:sitelib
> sitelib='C:\Perl\site\lib';

This is the problem. This value ought to have been "D:\usr\site
\lib". If ppm does not find a values in @INC that match up with
$Config{privlib} and $Config{sitelib} it will add them as the install
areas 'perl' and 'site' and use them.

The %Config values are picked up from the file D:\usr\lib\Config.pm
(and D:\usr\lib\Config_heavy.pl). When you install ActivePerl will
relocate these files so that the paths match the location where perl
was installed.

>> A possible way that @INC could still be set to include C:\Perl\site
>> \lib is via the PERL5LIB envirionment variable.
>>
>
> C:\>echo %PERL5LIB%
> %PERL5LIB%
>
> (that environment variable is not set, I checked)
>
>
> I ran the command "perl --help" to see what -V flag does, and after
> reading it, I opened /usr/lib/Config.pm. It had indeed set C:\Perl\
> \lib for several values, so I changed them. First question: how
> could that file get changed when it was in a completely different
> installation folder than the last Perl installation I made? Also, in
> the same place, there's a Config.pm~ file (including the ~) with the
> correct values. Renamed by the installer or something else?

If the installer ends up updating the wrong Config.pm file that's
certainly a really bad bug. We would need to spend some time trying
to figure out if this is really the case.

> Well, after changing Config.pm, everything is still the same. The
> commands I showed before, are still returning the same values.
>
> Any ideas?

The values are also precent in the 'D:\usr\lib\Config_heavy.pl' file.
Perhaps that need change as well.

--Gisle

_______________________________________________
ActivePerl mailing list
ActivePerl@listserv.ActiveState.com
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs

Re: Please help: Where is PPM configured?

am 08.01.2009 16:53:19 von fzarabozo

Hello Gisle,

Thank you so much. Editing Config_heavy.pl too resolved the problem.

Thanks again, have a great day! :-)

Paco Zarabozo


> This is the problem. This value ought to have been "D:\usr\site
> \lib". If ppm does not find a values in @INC that match up with
> $Config{privlib} and $Config{sitelib} it will add them as the install
> areas 'perl' and 'site' and use them.
>
> The %Config values are picked up from the file D:\usr\lib\Config.pm
> (and D:\usr\lib\Config_heavy.pl). When you install ActivePerl will
> relocate these files so that the paths match the location where perl
> was installed.
>

> The values are also precent in the 'D:\usr\lib\Config_heavy.pl' file.
> Perhaps that need change as well.
>
> --Gisle
>
>
_______________________________________________
ActivePerl mailing list
ActivePerl@listserv.ActiveState.com
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs

Re: Please help: Where is PPM configured?

am 08.01.2009 16:54:16 von Gisle Aas

On Jan 8, 2009, at 9:58 , Zarabozo, Francisco (GE, Corporate) wrote:

> I'm having a problem with PPM in Active Perl 5.010 build 1004.
>
> I had my Perl installation in a non standard folder for Win32 (d:
> \usr).
> Today, I wanted to make a certain test with a new fresh installation
> of
> Perl, so I downloaded the installer and installed it in the default
> installation folder (C:\Perl), being careful about NOT selecting the
> options
> "Add Perl to Path" and "Associate pl files with Perl", since I
> already had
> set those settings in my system manually and according to my own
> needs with
> my previous still existent Perl installation.

I tried to recreate this, but that did not work out since when I
invoked the MSI to install the second "ActivePerl" on the system it
just gives me a menu that says:

* Modify
* Rapair
* Remove

which apparently would just do stuff with the installation I already
have. Did you use the MSI installer for the first perl as well?

--Gisle



>
>
> So, I saw what I wanted to see in the new fresh installation and
> then I
> uninstalled it from Control Panel / Add & Remove Programs. After
> uninstalling it, the folder C:\Perl was still in the hard drive with a
> couple of folders, so I deleted it.
>
> After all that, I discovered that my custom .pl association in the
> system
> was removed. Isn't that just wrong? I mean, I didn't let the
> installer make
> any changes to the pl extension or Perl path, so, why it decides to
> remove
> what it wasn't made by itself??
>
> However, even though I think that's a horrible installer bug, that was
> "easy" to solve. The main problem I'm having now is that my original
> PPM
> (which by the way, is the same version of Perl) is installing new perl
> modules on the path "C:\Perl\site\lib", which is absolutely wrong.
> If I
> remove that folder, ppm will create it again when installing any new
> module.
> If I look at the preferences in the gui-ppm it shows 4 areas: D:\usr
> \lib,
> D:\usr\site\lib, C:\Perl\lib and C:\Perl\site\lib.
>
> I've been trying to find files or settings related to PPM in Windows
> registry, the Documents and Settings folder, the Windows and System32
> folders and the Config.pm files in my perl installation, but I just
> cannot
> find how to make PPM forget about "C:\Perl".
>
> Anyway, I don't think those settings are inside the Perl
> installation folder
> (which it really should!) because I even reverted my Perl folder to
> its
> original state from my SVN repository, and the problem is still there.
>
> Can anybody please help me with this? Does anyone know where is PPM
> getting
> these settings from?
>
> Any help will be highly appreciated.
>
> Thanks in advance.
>
> Paco Zarabozo A.
_______________________________________________
ActivePerl mailing list
ActivePerl@listserv.ActiveState.com
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs

Re: Please help: Where is PPM configured?

am 08.01.2009 17:26:42 von fzarabozo

Hello Gisle,


> I tried to recreate this, but that did not work out since when I invoked
> the MSI to install the second "ActivePerl" on the system it just gives me
> a menu that says:
>
> * Modify
> * Rapair
> * Remove
>
> which apparently would just do stuff with the installation I already
> have. Did you use the MSI installer for the first perl as well?
>

Yes and no. :-)

I originally installed Active Perl with the MSI installer in another
workstation, and I did it on the D: unit, trying to keep the *nix-like path
(/usr/bin/perl) to avoid certain problems running scripts on both Unix and
Win32 platforms that required the shebang line. After writing a lot of
modules and stuff, I was in charge of moving all that to a production
server, so I first tried moving only the folder "/usr" to the QA server.
Everything worked perfectly, so I added that folder to a first import in our
repository, and later, we exported that folder from the repository to the
production server. Ever since then, I work in the development server in
conjunction with the repository and I just export the changes from the
repository to the other servers.

So, answering you question (sorry if I explained too much), this Perl
installation was not made in this workstation by the MSI installer, I just
"checked out" the "usr" folder from the repository. But it was, some time
ago, originally installed in another computer with the MSI installer.


Thanks again,

Paco Zarabozo



_______________________________________________
ActivePerl mailing list
ActivePerl@listserv.ActiveState.com
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs

Re: Please help: Where is PPM configured?

am 08.01.2009 18:06:17 von Serguei Trouchelle

Zarabozo, Francisco (GE, Corporate) wrote:

> I originally installed Active Perl with the MSI installer in another
> workstation, and I did it on the D: unit, trying to keep the *nix-like path
> (/usr/bin/perl) to avoid certain problems running scripts on both Unix and
> Win32 platforms that required the shebang line.

By the way, you can just copy your perl.exe from ActivePerl's installation to /usr/bin and it would work just fine if
original ActivePerl/bin/ is in the PATH.

--
Serguei Trouchelle

_______________________________________________
ActivePerl mailing list
ActivePerl@listserv.ActiveState.com
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs

Re: Please help: Where is PPM configured?

am 08.01.2009 19:15:15 von fzarabozo

--------------------------------------------------
From: "Serguei Trouchelle"

> By the way, you can just copy your perl.exe from ActivePerl's installation
> to /usr/bin and it would work just fine if original ActivePerl/bin/ is in
> the PATH.


Hi Sergei,

Thank you for your answer.

Yes, I tried that too. I remember having an issue with that, I just can't
remember what it was. Something that in certain moment Perl wasn't finding,
even though the rest was in the system path. What I remember is that at
first it was working just fine until that issue happened.

Anyway, wouldn't that be just messy? I think it's great to be able to have
all components of any application in one folder to mantain, move, copy,
change or whatever. Putting everything under one single folder was excellent
in my case and for repository endings.

Cheers,

Paco Zarabozo A.




_______________________________________________
ActivePerl mailing list
ActivePerl@listserv.ActiveState.com
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs