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: GNU coreutils does not work on Cygwin because of freopen() ?


Yaakov (Cygwin/X) wrote:
Sjors Gielen wrote:
Did you try with Cygwin coreutils or GNU coreutils? :)

Cygwin's coreutils *is* GNU coreutils, with some patches which you will find necessary.

[snip]
Dave Korn wrote:
>   However, you may have to recreate all the cygwin-specific patches
> that the
> cygwin bash maintainer hasn't managed to send upstream yet...
[snip]
> ?? Are you using an old version??  It should be fixed by now.
>
> http://www.mail-archive.com/bug-coreutils@gnu.org/msg10188.html

Oooh. Can I get a list of patches the Cygwin project has already applied to packages? :)
So this bug was fixed in Cygwin's version of GNU coreutils, but not in Debian's version of GNU coreutils. Has a patch for that been sent upstream? I took GNU coreutils from Debian sid, which should be almost as up to date as it gets...


>   Dunno if your project makes sense.  You'll have to end up porting
> everything where the differences in the underlying OS show through...
> which is
> basically what Cygwin package maintainers have already done for most
> of this
> stuff.  Do you mean you're trying to cross-compile Debian on Cygwin,
> or do you
> actually want to build the whole Debian distro under Cygwin to run on
> Windows
> rather than natively under a linux kernel?

I'm trying to create a full Cygwin port for Debian. This means the base system packages, et cetera. Let's just keep it at I love apt and dpkg for package managers.

>   Nope.  Cygwin runs on windows, which uses CR-LF for line endings,
> but
> Cygwin is POSIX-compliant and uses LF internally.  This is exactly
> what O_TEXT
> was invented for: it translates LF->CRLF on write and CRLF->LF on
> read.  On
> Linux platforms, the native format is LF line-ends, so O_TEXT and
> O_BINARY are
> the same, but not here.

But if Cygwin uses LF internally, why does it translate to CRLF on write? I remember this installation option, asking if it should use CRLF or LF for writing files. I think I chose LF only, because that's the Unix way of doing it.

Do I misunderstand here? Currently, when I write a file in vim and save it, it has LF line endings anyway. If it is saved with LF line endings, there's no difference between O_TEXT and O_BINARY, right? So why not skip this at all and make *every* fd O_BINARY by default?

>> 2. I don't know why coreutils is calling freopen() at all. Should I
>> patch it out completely, or add something like an #ifndef __CYGWIN__
>> around the pieces of code in question?
>
>   Well, if you really want to build coreutils under cygwin, why not
> use
> setup.exe to install the corresponding source package, which comes
> with all
> these problems pre-solved for you?

That would, of course, defeat the idea of bootstrapping Debian on Cygwin. ;)

Sjors


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