X-Recipient: archive-cygwin AT delorie DOT com X-Spam-Check-By: sourceware.org Date: Thu, 10 Apr 2008 10:59:06 +0200 From: Corinna Vinschen To: cygwin AT cygwin DOT com Subject: Re: -11: Problem at 1st start when "cygwin.bat" is run by Nullsoft-Installer Message-ID: <20080410085906.GC548@calimero.vinschen.de> Reply-To: cygwin AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com References: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.16 (2007-06-09) Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com On Apr 10 09:48, Christoph Herdeg wrote: > Hello List, > > We have made up an unattended installer package for cygwin using Nullsoft > Installer. This package works on all x32 and x64 versions of Windows 2000, > XP and Server 2003. Testing with Windows Server 2008 we discovered a > problem: At the end of the installation, cygwin.bat is executed by the > Nullsoft Installer. Normally bash should open and all shellscripts residing > in /etc/profile.d should be run automagically (the script /etc/profile > collects and runs them). In our case it doesn't - at least on 1st start - > instead the following error message is displayed: > > "bash: cannot create temp file for here document: Bad address" > > Then bash jumps to the standard prompt. If we now start cygwin a 2nd time > by executing cygwin.bat (directly or via the desktop icon), the scripts in > /etc/profile.d are run as they are proposed to. Also they are run normally, > if the Nullsoft Installer exits before starting cygwin.bat and we start the > batch manually (directly or via the desktop icon). > > Upgrading the package "base-files-3.7-1.tar.bz2" to unpack a modified > /etc/profile resulted that the $TMP and $TEMP variables seem to be > correctly set to "/cygdrive/c/Users/ADMINI~1/AppData/Local/Temp". Setting > an FullAccess-ACL for the Windows user "everyone" on this directory didn't > change the behaviour. Using "set -x" in the modified /etc/profile did not > produce any other errors. > > - Is it possible that Cygwin's mapping of > "c:\Users\ADMINI~1/AppData/Local/Temp" to > "/cygdrive/c/Users/ADMINI~1/AppData/Local/Temp" doesn't yet exist at the > time the error occurs? No. The environment is converted before the shell is doing something on its own accord. Is it possible that the cygdrive prefix doesn't exist when cygwin.bat is called the first time? So far the installer is responsible for creating the mount points and the cygdrive prefix in the registry. And after that, before calling cygwin.bat, the installer should run the postinstall scripts in /etc/postinstall. > - Are there any known changes between the previous Windows versions and > Windows Server 2008 being able to cause a different behaviour when "a > program is started manually" vs. "a program is started by another program"; > eg. different User / security / environmental context? Not that I'm aware of. What Cygwin version are you using? Anything before 1.5.25-11 is a bad idea to use on Windows 2008. > - Would it be possible for the Cygwin developers to implement the usage of > a /tmp independet from it's windows pendant to cure this? The usage of $TEMP/$TMP/$TMPDIR has nothing to do with Cygwin. The Cygwin DLL itself has no need for a tmp dir. The reason it's used is that bash honors (at least) $TMPDIR. One workaround would be to delete these environment variables before bash is called. But, of course, this doesn't help to track down the actual cause of the problem. > - Are there any other steps I could try or does anyone of you perhaps have > a solution? I have no idea what's causing your problem. I assume you will have to debug it, using GDB, strace or sysinternal's tools. The above error message does not tell us anything useful, except that an invalid address has been used *somewhere*. Some debugging effort would be required here, sorry. Corinna -- Corinna Vinschen Please, send mails regarding Cygwin to Cygwin Project Co-Leader cygwin AT cygwin DOT com Red Hat -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/