I've run into a few problems using Cygwin on Microsoft Vista on my new laptop:
- The installation hung during the post-install step "/etc/postinstall/gnuplot.sh". Researching this problem on the google found an article on the cygwin mailing list which worked around the problem by setting the Windows XP compatibility mode on the installation executable. I wasn't comfortable with this solution as it might cause things to not work well later on Vista.
So I poked around a bit, turned on the "Command Line" output for the "Processes" tab in the Windows Task Manager and found that the script was hanging on "/usr/bin/texhash", which rebuilds a directory listing used by Tex. I was able to run the command successfully on the cygwin command line, but it was still hung in the installation process. So I used Task Manager to kill the texhash process and the installation continued to a later step "postinstall-ec-fonts-mftraced.sh" where it was trying to run "mktexlsr" - which is the same program. I again used Task Manager to kill that process and the installation now went on to a succesfull completion.
Following the install, I went back and ran the texhash program manually, which did require me to change the mode of the files "/var/cache/fonts/ls-R" and "/usr/share/texmf/ls-R" files which had been left read-only when I killed the process.
Everything seems to be working fine now.
This description matches, and I believe we also saw the "postinsall-ec-fonts-mftraced.sh" failure as well.
Wish I had remember the "Command Line" option. Darn!
Well, so perhaps the culprit is texhash.
Or maybe the victim, as I saw another weird thing with this particular install.
I had access to the user's machine again and found in /var/log a number of files.
$ find . . ./var ./var/log ./var/log/apache2 ./var/log/setup.log ./var/log/setup.log.full ./var/log/setup.log.postinstallXa01604 ./var/log/setup.log.postinstallXa04116 ./var/log/setup.log.postinstallXa04144 ./var/log/setup.log.postinstallXa04492 ./var/log/setup.log.postinstallXa04892Looking through these we see quite a few messages of the form:
/usr/bin/bash: /cygdrive/c/Users/srtg9/.bashrc: Bad address
From: /var/log/setup.log.full (starting at line 3239)
2007/09/19 11:15:15 xemacs-mule-sumo 2007/09/19 11:15:15 xemacs-sumo 2007/09/19 11:15:15 xemacs-tags 2007/09/19 11:15:15 xerces-c-devel 2007/09/19 11:15:15 XmHTML 2007/09/19 11:15:15 xpm-nox 2007/09/19 11:15:16 running: C:\cygwin\bin\bash.exe -c /etc/postinstall/gnuplot. sh /usr/bin/bash: /cygdrive/c/Users/srtg9/.bashrc: Bad address 2007/09/19 11:26:55 running: C:\cygwin\bin\bash.exe -c /etc/postinstall/gsl.sh /usr/bin/bash: /cygdrive/c/Users/srtg9/.bashrc: Bad address install-info: menu item `gsl-ref' already exists, for file `gsl-ref' install-info: menu item `gsl-ref' already exists, for file `gsl-ref' install-info: menu item `gsl-ref' already exists, for file `gsl-ref' install-info: menu item `gsl-ref' already exists, for file `gsl-ref' install-info: menu item `gsl-ref' already exists, for file `gsl-ref' install-info: menu item `gsl-ref' already exists, for file `gsl-ref' 2007/09/19 11:27:00 running: C:\cygwin\bin\bash.exe -c /etc/postinstall/gtk+-devel.sh /usr/bin/bash: /cygdrive/c/Users/srtg9/.bashrc: Bad address
I am guessing Bad address would result from trying to execve() a .bashrc and getting an EFAULT. The EFAULT seems come from some problem loading the .bashrc (or perhaps the ".bashrc" filename in an execve() call?).
Rather odd :-)
Chris "still guessing" Lent