X-Recipient: archive-cygwin AT delorie DOT com X-Spam-Check-By: sourceware.org Date: Mon, 12 Mar 2012 15:02:56 +0100 From: Corinna Vinschen To: cygwin AT cygwin DOT com Subject: Re: executable does not load Message-ID: <20120312140256.GD2382@calimero.vinschen.de> Reply-To: cygwin AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com References: <20120312132714 DOT GA3196 AT qp9482> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <20120312132714.GA3196@qp9482> User-Agent: Mutt/1.5.21 (2010-09-15) 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 Mar 12 14:26, Denis Excoffier wrote: > > Hello, > > I have a problem that appeared between the 20120308 snapshot > and the 20120309 snapshot. > > [I have CYGWIN_NT-5.1 (on top of a French-only Windows XP SP3), all > packages installed and up to date this morning, installation with > "Just Me". When i install a snapshot i extract the whole > cygwin-inst-xxxxxxxx.tar.bz2, not only cygwin1.dll.] > > I have an executable that is dynamically linked with a rather big > home-built cygxerces-3-1.dll (from Xerces-C++ 3.1.1) and with a > home-built stdc++-6.dll (from GCC 4.7.0 RC 20120302). > > Under the 20120309 snapshot, the program does not get loaded, like if > there was some DLL missing (no message, no diagnostic). I tried strace, > but my strace appears to be broken (too many environment variables?). > > I'll try to prepare soon some STC that does not contain megabytes of > personal data, and using only "approved" compilers and libraries. The problem could be a result of that very executable. So it could be extremly hard to create a testcase without it. I assume you saw the changes I made in the 20120309 ChangeLog entry. So there is very likely some bug in the new code in hook_or_detect_cygwin, which was supposed to handle differences between VC++ and GCC-generated executables. If you feel up to the task, you could install the cygwin1.dbg file, start bash under gdb, set a breakpoint at hook_or_detect_cygwin, and call "exec foo", assuming your application is called foo. If not, you could also provide the application and the necessary DLLs on your homepage and send me a pointer via PM (use my mail address from the ChangeLog entries). > I've also noticed a "???" in the output of ldd (but this > is perhaps unrelated): > [...] > % ldd /usr/bin/cygoctave-1.dll > ntdll.dll => /cygdrive/d/WINDOWS/system32/ntdll.dll (0x7c910000) > kernel32.dll => /cygdrive/d/WINDOWS/system32/kernel32.dll (0x7c800000) > ??? => ??? (0x70740000) > ??? => ??? (0x640c0000) > ??? => ??? (0x6bf40000) > ??? => ??? (0x61000000) > ??? => ??? (0x69780000) > ??? => ??? (0x6c480000) I can't reproduce that one with a Cygwin DLL and ldd built from current CVS. What I see is $ ldd /bin/cygoctave-0.dll ntdll.dll => /mnt/c/Windows/SYSTEM32/ntdll.dll (0x774a0000) kernel32.dll => /mnt/c/Windows/system32/kernel32.dll (0x775f0000) KERNELBASE.dll => /mnt/c/Windows/system32/KERNELBASE.dll (0x757d0000) cygcruft-0.dll => /usr/bin/cygcruft-0.dll (0x6cf00000) cyggcc_s-1.dll => /usr/bin/cyggcc_s-1.dll (0x6bb40000) cygwin1.dll => /usr/bin/cygwin1.dll (0x61000000) cyggfortran-3.dll => /usr/bin/cyggfortran-3.dll (0x6b3e0000) cygstdc++-6.dll => /usr/bin/cygstdc++-6.dll (0x648e0000) cygblas-0.dll => /usr/lib/lapack/cygblas-0.dll (0x61780000) cyglapack-0.dll => /usr/lib/lapack/cyglapack-0.dll (0x5dd10000) cygreadline7.dll => /usr/bin/cygreadline7.dll (0x6d470000) cygncursesw-10.dll => /usr/bin/cygncursesw-10.dll (0x66920000) USER32.dll => /mnt/c/Windows/system32/USER32.dll (0x77080000) GDI32.dll => /mnt/c/Windows/system32/GDI32.dll (0x76a70000) LPK.dll => /mnt/c/Windows/system32/LPK.dll (0x775e0000) USP10.dll => /mnt/c/Windows/system32/USP10.dll (0x76e80000) msvcrt.dll => /mnt/c/Windows/system32/msvcrt.dll (0x76990000) cygfftw3-3.dll => /usr/bin/cygfftw3-3.dll (0x6bf60000) cygfftw3f-3.dll => /usr/bin/cygfftw3f-3.dll (0x6be80000) cygqrupdate-0.dll => /usr/bin/cygqrupdate-0.dll (0x65710000) IMM32.DLL => /mnt/c/Windows/system32/IMM32.DLL (0x76a40000) MSCTF.dll => /mnt/c/Windows/system32/MSCTF.dll (0x76fb0000) Corinna -- Corinna Vinschen Please, send mails regarding Cygwin to Cygwin Project Co-Leader cygwin AT cygwin DOT com Red Hat -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple