X-Recipient: archive-cygwin AT delorie DOT com X-SWARE-Spam-Status: No, hits=-1.0 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,SARE_MSGID_LONG45,TW_YG,T_TO_NO_BRKTS_FREEMAIL X-Spam-Check-By: sourceware.org MIME-Version: 1.0 In-Reply-To: <20100408170304.GA4912@ghost.local.lan> References: <4BBDE46D DOT 5070406 AT etr-usa DOT com> <20100408170304 DOT GA4912 AT ghost DOT local DOT lan> Date: Fri, 9 Apr 2010 11:26:27 +0200 Received: by 10.216.86.145 with SMTP id w17mr695189wee.216.1270805188100; Fri, 09 Apr 2010 02:26:28 -0700 (PDT) Message-ID: Subject: Re: "GCC is not found" and "compiler cannot create executables" errors From: david sastre To: cygwin AT cygwin DOT com Content-Type: text/plain; charset=UTF-8 X-IsSubscribed: yes 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 Hello, >Csaba Raduly wrote: >I think it's time for > >cygcheck /usr/lib/gcc/i686-pc-cygwin/4.3.4/cc1.exe > >Perhaps one of these is missing: > C:\cygwin\bin\cyggmp-3.dll > C:\cygwin\bin\cygmpfr-1.dll Not exactly, but that was the main problem: $ cygcheck /usr/lib/gcc/i686-pc-cygwin/4.3.4/cc1.exe C:\cygwin\lib\gcc\i686-pc-cygwin\4.3.4\cc1.exe C:\cygwin\bin\cyggcc_s-1.dll C:\cygwin\bin\cygwin1.dll C:\WINDOWS\system32\ADVAPI32.DLL C:\WINDOWS\system32\KERNEL32.dll C:\WINDOWS\system32\ntdll.dll C:\WINDOWS\system32\RPCRT4.dll C:\WINDOWS\system32\Secur32.dll C:\cygwin\bin\cyggmp-3.dll C:\cygwin\usr\local\bin\cygmpfr-1.dllcygcheck: C:\cygwin\usr\local\bin\cygmpfr-1.dll is a symlink instead of a DLL I have a locally compiled version of GNU mpfr, installed used stow, which builds a pseudo fs using symlinks. With local mpfr unstowed, cygcheck output is: $ cygcheck /usr/lib/gcc/i686-pc-cygwin/4.3.4/cc1.exe C:\cygwin\lib\gcc\i686-pc-cygwin\4.3.4\cc1.exe C:\cygwin\bin\cyggcc_s-1.dll C:\cygwin\bin\cygwin1.dll C:\WINDOWS\system32\ADVAPI32.DLL C:\WINDOWS\system32\KERNEL32.dll C:\WINDOWS\system32\ntdll.dll C:\WINDOWS\system32\RPCRT4.dll C:\WINDOWS\system32\Secur32.dll C:\cygwin\bin\cyggmp-3.dll C:\cygwin\bin\cygmpfr-1.dll I have restowed the package, but this time I deleted the symlink pointing to cygmpfr-1.dll, and placed a copy of it in /usr/local/bin. Now cygcheck output reflects this: $ cygcheck /usr/lib/gcc/i686-pc-cygwin/4.3.4/cc1.exe C:\cygwin\lib\gcc\i686-pc-cygwin\4.3.4\cc1.exe C:\cygwin\bin\cyggcc_s-1.dll C:\cygwin\bin\cygwin1.dll C:\WINDOWS\system32\ADVAPI32.DLL C:\WINDOWS\system32\KERNEL32.dll C:\WINDOWS\system32\ntdll.dll C:\WINDOWS\system32\RPCRT4.dll C:\WINDOWS\system32\Secur32.dll C:\cygwin\bin\cyggmp-3.dll C:\cygwin\usr\local\bin\cygmpfr-1.dll And gcc is back to life: $ ./configure checking for gcc... gcc checking for C compiler default output file name... a.exe checking whether the C compiler works... yes checking whether we are cross compiling... no checking for suffix of executables... .exe checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking how to run the C preprocessor... gcc -E checking for a BSD-compatible install... /usr/bin/install -c checking whether make sets $(MAKE)... yes ......... So now I have a question: What's the problem with C:\cygwin\usr\local\bin\cygmpfr-1.dll being a symlink instead of a file? Is it related to the fact that cygcheck's output uses DOS pathnames and/or doesn't understand POSIX pathnames? (note that I'm totally ignorant about cygcheck internals) BTW ldd output doesn't know about symlinks either. This is the output using a locally stowed version on GNU mpfr-2.4.2: $ ldd /usr/lib/gcc/i686-pc-cygwin/4.3.4/cc1.exe ntdll.dll => /mnt/c/WINDOWS/system32/ntdll.dll (0x7c910000) kernel32.dll => /mnt/c/WINDOWS/system32/kernel32.dll (0x7c800000) cyggcc_s-1.dll => /usr/bin/cyggcc_s-1.dll (0x67f00000) cygwin1.dll => /usr/bin/cygwin1.dll (0x61000000) ADVAPI32.DLL => /mnt/c/WINDOWS/system32/ADVAPI32.DLL (0x77da0000) RPCRT4.dll => /mnt/c/WINDOWS/system32/RPCRT4.dll (0x77e50000) Secur32.dll => /mnt/c/WINDOWS/system32/Secur32.dll (0x77fc0000) cyggmp-3.dll => /usr/bin/cyggmp-3.dll (0x63f40000) (missing cygmpfr-1.dll here) This one is the output if I manually delete the symlink to the conflicting dll and place a copy of it in /usr/local/bin, as described above: $ ldd /usr/lib/gcc/i686-pc-cygwin/4.3.4/cc1.exe ntdll.dll => /mnt/c/WINDOWS/system32/ntdll.dll (0x7c910000) kernel32.dll => /mnt/c/WINDOWS/system32/kernel32.dll (0x7c800000) cyggcc_s-1.dll => /usr/bin/cyggcc_s-1.dll (0x67f00000) cygwin1.dll => /usr/bin/cygwin1.dll (0x61000000) ADVAPI32.DLL => /mnt/c/WINDOWS/system32/ADVAPI32.DLL (0x77da0000) RPCRT4.dll => /mnt/c/WINDOWS/system32/RPCRT4.dll (0x77e50000) Secur32.dll => /mnt/c/WINDOWS/system32/Secur32.dll (0x77fc0000) cyggmp-3.dll => /usr/bin/cyggmp-3.dll (0x63f40000) cygmpfr-1.dll => /usr/local/bin/cygmpfr-1.dll (0x6cd80000) IAFNAB? Regards. 2010/4/8, d DOT sastre DOT medina AT gmail DOT com : > Hello, > > I'm afraid any further investigation around this issue will have to wait > until tomorrow morning (spanish time). Thanks everybody for your time, > your answers... > and not LARTing me (at least publicly) for QREAIMR... > :-/ sorry for that. > > Best regards. > > -- > Huella de clave = 943C D77F 0CB0 02FE 166E E06F D13A A2E1 98A5 C953 > -- 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