Does perlapp have a problem with C:/Temp not there in WinXP boxes?

Does perlapp have a problem with C:/Temp not there in WinXP boxes?

am 07.02.2007 16:40:32 von Deane.Rothenmaier

This is a multipart message in MIME format.
--===============1372889643==
Content-Type: multipart/alternative;
boundary="=_alternative 0056141A8625727B_="

This is a multipart message in MIME format.
--=_alternative 0056141A8625727B_=
Content-Type: text/plain; charset="us-ascii"

Gurus,

When I compile an executable using perlapp (Version 6.0.0, build 117102),
it seems to have a problem running on an XP machine that a. doesn't have
Perl installed on it, and b. doesn't have the directory C:\Temp. Here's
the error message:

mkdir <"C:\Temp\pdk-Secuser\"> failed, errno=2
Panic: Can't find temp dir for perlapp

where "Secuser" is the logged in user (i.e.: the directory it's trying to
create is C:\Temp\pdk-). Is this a problem with executables
compiled to be freestanding (i.e.: to run on PCs that don't have Perl
installed)?

We're doing more digging here, but maybe someone knows what's going on and
can save us looking for the elephant in the hamster cage...

Many thanks!

Deane Rothenmaier
Systems Architect
Walgreens Corp.
847-914-5150

"On two occasions I have been asked [by members of Parliament], 'Pray, Mr.
Babbage, if you put into the machine wrong figures, will the right answers
come out?' I am not able rightly to apprehend the kind of confusion of
ideas that could provoke such a question." -- Charles Babbage
--=_alternative 0056141A8625727B_=
Content-Type: text/html; charset="us-ascii"



Gurus,



When I compile an executable using perlapp (Version 6.0.0, build 117102), it seems to have a problem running on an XP machine that a. doesn't have Perl installed on it, and b. doesn't have the directory C:\Temp.  Here's the error message:



mkdir <"C:\Temp\pdk-Secuser\"> failed, errno=2

Panic:  Can't find temp dir for perlapp



where "Secuser" is the logged in user (i.e.: the directory it's trying to create is C:\Temp\pdk-<username>). Is this a problem with executables compiled to be freestanding (i.e.: to run on PCs that don't have Perl installed)?



We're doing more digging here, but maybe someone knows what's going on and can save us looking for the elephant in the hamster cage...



Many thanks!



Deane Rothenmaier

Systems Architect

Walgreens Corp.

847-914-5150



"On two occasions I have been asked [by members of Parliament], 'Pray, Mr. Babbage, if you put into the machine wrong figures, will the right answers come out?' I am not able rightly to apprehend the kind of confusion of ideas that could provoke such a question." -- Charles Babbage

--=_alternative 0056141A8625727B_=--


--===============1372889643==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

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

Re: Does perlapp have a problem with C:/Temp not there in WinXP boxes?

am 07.02.2007 16:53:20 von Jan Dubois

On Wed, 7 Feb 2007 09:40:32 -0600, Deane.Rothenmaier@walgreens.com
wrote:

>When I compile an executable using perlapp (Version 6.0.0, build 117102),
>it seems to have a problem running on an XP machine that a. doesn't have
>Perl installed on it, and b. doesn't have the directory C:\Temp. Here's
>the error message:
>
>mkdir <"C:\Temp\pdk-Secuser\"> failed, errno=2
>Panic: Can't find temp dir for perlapp
>
>where "Secuser" is the logged in user (i.e.: the directory it's trying to
>create is C:\Temp\pdk-). Is this a problem with executables
>compiled to be freestanding (i.e.: to run on PCs that don't have Perl
>installed)?

Executables generated by PerlApp use the Windows GetTempPath() API to
determine the location of the TEMP directory:

http://msdn2.microsoft.com/en-us/library/aa364992.aspx

| Remarks
|
| The GetTempPath function checks for the existence of environment variables
| in the following order and uses the first path found:
|
| 1. The path specified by the TMP environment variable.
| 2. The path specified by the TEMP environment variable.
| 3. The path specified by the USERPROFILE environment variable.
| 4. The Windows directory.

This means if you have TMP set to point to C:\Temp, but don't actually
have that directory, then the application will show the error you see
above.

In some way I would claim that you have a misconfigured Windows system,
but I guess PerlApp should also try harder, and just create "C:\Temp" if
it doesn't exist. But that could still fail if you set TMP to "X:\Temp"
and you don't have an X: drive.

Maybe the best strategy is to check the 4 locations GetTempPath() would
try ourselves, and use the first one that already exists.

This could still fail if the user unsets USERPROFILE and doesn't have
write access to the Windows directory, but I think it is valid to abort
in that situation.

Cheers,
-Jan

PS: Please discuss PerlApp specific problems on the PDK mailing list.
_______________________________________________
ActivePerl mailing list
ActivePerl@listserv.ActiveState.com
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs

Re: Does perlapp have a problem with C:/Temp not there in WinXP boxes?

am 07.02.2007 17:01:40 von Todd Beverly

Deane.Rothenmaier@walgreens.com wrote:
>
> When I compile an executable using perlapp (Version 6.0.0, build
> 117102), it seems to have a problem running on an XP machine that a.
> doesn't have Perl installed on it, and b. doesn't have the directory
> C:\Temp. Here's the error message:
>
> mkdir <"C:\Temp\pdk-Secuser\"> failed, errno=2
> Panic: Can't find temp dir for perlapp
>
> where "Secuser" is the logged in user (i.e.: the directory it's trying
> to create is C:\Temp\pdk-). Is this a problem with
> executables compiled to be freestanding (i.e.: to run on PCs that
> don't have Perl installed)?

From the PerlApp help file: (Ver 5.2)
File Extraction
When the executable built with PerlApp runs, it will extract its dynamic
object files in the /tmp/pdk directory. If the application was built
using the --clean option, PerlApp will also append the process id to
this directory name to avoid race conditions during cleanup. The
directory location can be set using the TMPDIR environment variable. On
Windows the TEMP environment variable can be used to override the
location. You may also hardcode the location using the the --tmpdir
commandline option.

Check to see if user "Secuser" has the environmental variable "TEMP" set
to "C:\TEMP" and either change it to the proper temporary directory
location or use the --tmpdir to force perlapp to unpack elsewhere.


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

RE: Does perlapp have a problem with C:/Temp not there in WinXP boxes?

am 07.02.2007 17:01:50 von Brian Raven

From: activeperl-bounces@listserv.ActiveState.com
[mailto:activeperl-bounces@listserv.ActiveState.com] On Behalf Of
Deane.Rothenmaier@walgreens.com
Sent: 07 February 2007 15:41
To: activeperl@listserv.ActiveState.com
Subject: Does perlapp have a problem with C:\Temp not there in WinXP
boxes?

> Gurus, =

> =

> When I compile an executable using perlapp (Version 6.0.0, build
117102), it seems to have a problem running on > an XP machine that a.
doesn't have Perl installed on it, and b. doesn't have the directory
C:\Temp. Here's the > error message: =

> =

> mkdir <"C:\Temp\pdk-Secuser\"> failed, errno=3D2 =

> Panic: Can't find temp dir for perlapp =

> =

> where "Secuser" is the logged in user (i.e.: the directory it's trying
to create is C:\Temp\pdk-). Is > this a problem with
executables compiled to be freestanding (i.e.: to run on PCs that don't
have Perl =

> installed)? =

> =

> We're doing more digging here, but maybe someone knows what's going on
and can save us looking for the elephant > in the hamster cage... =


I have never used it (I'm a cheapskate) but it would seem that the clue
is in the documentation
(http://aspn.activestate.com/ASPN/docs/PDK/6.0/PerlApp.html# perlapp_file
s). So that would appear to mean that either your build or the
environment(s) that you run the app in need to be fixed to point to a
temporary directory that actually exists.

HTH

-- =

Brian Raven =


==================== =====3D=
================
Atos Euronext Market Solutions Disclaimer
==================== =====3D=
================

The information contained in this e-mail is confidential and solely for the=
intended addressee(s). Unauthorised reproduction, disclosure, modification=
, and/or distribution of this email may be unlawful.
If you have received this email in error, please notify the sender immediat=
ely and delete it from your system. The views expressed in this message do =
not necessarily reflect those of Atos Euronext Market Solutions.

Atos Euronext Market Solutions Limited - Registered in England & Wales with=
registration no. 3962327. Registered office address at 25 Bank Street Lon=
don E14 5NQ United Kingdom. =

Atos Euronext Market Solutions SAS - Registered in France with registration=
no. 425 100 294. Registered office address at 6/8 Boulevard Haussmann 750=
09 Paris France.

L'information contenue dans cet e-mail est confidentielle et uniquement des=
tinee a la (aux) personnes a laquelle (auxquelle(s)) elle est adressee. Tou=
te copie, publication ou diffusion de cet email est interdite. Si cet e-mai=
l vous parvient par erreur, nous vous prions de bien vouloir prevenir l'exp=
editeur immediatement et d'effacer le e-mail et annexes jointes de votre sy=
steme. Le contenu de ce message electronique ne represente pas necessaireme=
nt la position ou le point de vue d'Atos Euronext Market Solutions.
Atos Euronext Market Solutions Limited Soci=E9t=E9 de droit anglais, enregi=
str=E9e au Royaume Uni sous le num=E9ro 3962327, dont le si=E8ge social se =
situe 25 Bank Street E14 5NQ Londres Royaume Uni.

Atos Euronext Market Solutions SAS, soci=E9t=E9 par actions simplifi=E9e, e=
nregistr=E9 au registre dui commerce et des soci=E9t=E9s sous le num=E9ro 4=
25 100 294 RCS Paris et dont le si=E8ge social se situe 6/8 Boulevard Hauss=
mann 75009 Paris France.
==================== =====3D=
================

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