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: Fixing the state of C++ in Cygwin


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/


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