[tex-live] install-tl vs win7 64-bit

Lars Madsen daleif at imf.au.dk
Sat Oct 20 20:42:29 CEST 2012


Good ideas. I'll test them when I'm back from vacation (hos not have access to the win7 64 from home, yet)

And I did notice that Emacs would save the files using Unix line endings.

The interesting part is that we have never seen the install-menu-perltk.pl fail, only install-menu-wizard.pl



/Lars Madsen
Institut for Matematik / Department of Mathematics
Aarhus Universitet / Aarhus University
Mere info: http://au.dk/daleif@imf / More information: http://au.dk/en/daleif@imf


________________________________________
From: Reinhard Kotucha [reinhard.kotucha at web.de]
Sent: 20 October 2012 02:43
To: Lars Madsen
Cc: tex-live at tug.org
Subject: Re: [tex-live] install-tl vs win7 64-bit

On 2012-10-19 at 12:54:08 +0000, Lars Madsen wrote:

 > In an earlier thread I mentioned some observations about the "perl
 > stopped working" problem with install-tl.bat on win 7 64-bit.
 >
 > I've now finally got my new office computer and now have a virtual
 > win 7 64-bit to run tests on
 >
 > One really strange observation: On line 330 in install-tl
 >
 > - if I just add a blank line (using emacs 24.2 for windows) after
 >   this line, then perl no longer crash! wtf!?
 > - if the blank line is removed again, perl crash


Strange indeed.  Zdeněk, Siep compiled Perl with GCC under MinGW,
hence the same compiler was used for Unix and Windows, though not
necessarily the same version.

What happens if the blank line is preceded by a comment charater?

There seems to be a problem parsing the Perl file.  I assume that GCC
doesn't treat line endings differently on different platforms.  Maybe
Perl does when compiled on Windows, but that would be strange too.

However, Lars, could you remove the blank line and save the file with
MS-DOG line endings?

In Emacs, go to the menu

  Options
    -> Mule (Multilingual Environment)
      -> Set Coding System
        -> For Saving This Buffer

, select utf-8-dos and save the buffer.  The entry "(Unix)" should
then disappear from the status line and if you load the file into
Emacs on Linux, there should be an entry "(DOS)" instead.

It would be strange if it makes any difference, but I don't have a
better idea how to proceed ATM.

 > if I add
 >
 > my $foo = 1;
 >
 > on a line after $^W=1; in install-menu-wizard.pl, then perl works
 >
 > if I only write
 >
 > my $foo;
 >
 > then it crashes

...with the message "perl stopped working"?

I always thought that "$^W=1" turns on warning messages only.  Could
you try to replace

  $^W=1;

with

  BEGIN { $^W=1; };

?  The latter is preferred because it enables warning messages at
compile time.  Otherwise only runtime errors are reported.  Please
note that unlike "real interpreters" like Unix shells or TCL, Perl
pre-compiles the scripts before executing them.  Barring the fact that
a pre-compiled script runs much faster, the main advantage is that it
isn't executed at all if syntax errors were detected.  Perl is a bit
"special" in this respect.  It's the only programming language I'm
aware of which doesn't provide error messages by default.

Regards, and thank you very much for your investigations,
  Reinhard

--
----------------------------------------------------------------------------
Reinhard Kotucha                                      Phone: +49-511-3373112
Marschnerstr. 25
D-30167 Hannover                              mailto:reinhard.kotucha at web.de
----------------------------------------------------------------------------
Microsoft isn't the answer. Microsoft is the question, and the answer is NO.
----------------------------------------------------------------------------



More information about the tex-live mailing list