This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: ANSI C header files


On 10/4/2011 1:24 PM, Csaba Raduly wrote:
On Tue, Oct 4, 2011 at 12:13 PM, Marco Atzeri  wrote:
(snip)
Kare,
in addition to the TOFU advise,

running configure of grib_api-1.9.9_libtool.tar.gz
on my XP-SP3 gave no problem.

"Configuration completed."

The ANSI C test is a basic one

configure:6808: checking for ANSI C header files
configure:6828: gcc -c -g -O2  conftest.c>&5
configure:6828: $? = 0
configure:6901: gcc -o conftest.exe -g -O2   conftest.c>&5
configure:6901: $? = 0
configure:6901: ./conftest.exe
configure:6901: $? = 0
configure:6912: result: yes

I reproduced the hang on my Cygwin CYGWIN_NT-6.0 1.7.9(0.237/5/3) 2011-03-29 10:10 i686 Cygwin and gcc version 4.5.3

This appears to be the critical spot (line 6820-6828)

if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
   $EGREP "memchr">/dev/null 2>&1; then
   :
else
   ac_cv_header_stdc=no
fi

It tries to run the preprocessor and pipe its output into egrep.
Unfortunately, the EGREP variable appears to be empty, so the end
result is similar to:

gcc -E conftest.c | memchr

Trying the above from the bash prompt (in both mintty and classic
Cygwin prompt) results in an (unkillable from Cygwin) cc1.exe which is
perpetually waiting for output:

$ ps
       PID    PPID    PGID     WINPID  TTY  UID    STIME COMMAND
      4484       1    4484       4752  con 539771   Oct  3 /usr/bin/XWin
      7848       1    7848       7848    ? 539771 14:03:11 /usr/bin/mintty
      6468    7848    6468       7460    1 539771 14:03:11 /usr/bin/bash
      6692       1    6692       6692    ? 539771 10:12:37 /usr/bin/mintty
      4600    6692    4600       7156    3 539771 10:12:37 /usr/bin/ssh
      6272    6468    6272       6356    1 539771 13:08:43 /usr/bin/gcc-4
O    7492    6272    6272       6856    1 539771 13:08:43
/usr/lib/gcc/i686-pc-cygwin/4.5.3/cc1
      7404    6468    7404        524    1 539771 13:08:46 /usr/bin/ps


So, the workaround is to replace $EGREP with egrep in configure; then configure runs successfully.

This seems to be some peculiarity of Cygwin's current GCC 4.5.3;
neither GCC 3.4.4 in Cygwin 1.7 nor GCC 4.3.4 in Cygwin 1.7 nor GCC
4.3.2 in Cygwin 1.5 exhibit this hang.

Csaba
Hi Csaba,

the configure looks for grep/egrep/fgrep

configure:3610: checking for grep that handles long lines and -e
configure:3668: result: /usr/bin/grep
configure:3673: checking for egrep
configure:3735: result: /usr/bin/grep -E
configure:3740: checking for fgrep
configure:3802: result: /usr/bin/grep -F

and set them

config.status:GREP='/usr/bin/grep'
config.status:EGREP='/usr/bin/grep -E'
config.status:FGREP='/usr/bin/grep -F'

same compiler

$ cygcheck -c -d gcc4
Cygwin Package Information
Package              Version
gcc4                 4.5.3-2

but I am running the last cygwin snapshot

$ uname -srv
CYGWIN_NT-5.1 1.7.10s(0.251/5/3) 20110829 15:53:50

Regards
Marco

--
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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]