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

Reinhard Kotucha reinhard.kotucha at web.de
Sat Oct 20 02:43:18 CEST 2012


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