Fixing the state of C++ in Cygwin

Steven Brown swbrown@ucsd.edu
Mon Apr 17 03:21:00 GMT 2006


Corinna Vinschen wrote:
> On Apr 11 22:35, Steven Brown wrote:

>> I can look into the problem with sed 4.1.5 as well,
[...]
So the question is this:
> 
> Is it a textmode/binmode issue and if so, why are the files created with
> CRLF line endings at all?  If they are not created with CRLF line
> endings on Linux, then there's no reason to create them with CRLF on
> Cygwin.  As a first local solution, don't use textmode mounts.

The problem appears to be with 'cat << EOF' notation - the result winds 
up CRLF and this causes issues with the now binary mode sed 4.1.5 in 
libtool (more on that later).  It was rather unexpected to me that this 
is CRLF (standard UNIX-style install, binmode mount):

Steven Brown@FICTITION ~/src
$ cat << EOF | file -
 > foo
 > EOF
/dev/stdin: ASCII text, with CRLF line terminators

But this is not:

Steven Brown@FICTITION ~/src
$ cat | file -
foo
/dev/stdin: ASCII text

Is this by design or a bug?  It seems like the wrong thing for it to be 
doing.

As for why it causes libtool to fail, the configuration sections of 
libtool are built via a '<< EOF' style mechanism during configure so 
leaves them CRLF terminated.  libtool attempts to extract those 
configuration sections like so:

eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### 
END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`"

However, the BEGIN line has a \r that won't match the above, so it fails 
to eval:

# ### BEGIN LIBTOOL TAG CONFIG: CXX^M


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



More information about the Cygwin mailing list