This is the mail archive of the
cygwin
mailing list for the Cygwin project.
Re: "GCC is not found" and "compiler cannot create executables" errors
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.sastre.medina@gmail.com <d.sastre.medina@gmail.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