caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: Adrien <camaradetux@gmail.com>
To: David Allsopp <dra-news@metastack.com>
Cc: Gerd Stolpmann <info@gerd-stolpmann.de>,
	Aleksey Nogin <nogin@metaprl.org>,
	"caml-list@inria.fr" <caml-list@inria.fr>
Subject: Re: [Caml-list] Some comments on recent discussions
Date: Thu, 15 Dec 2011 11:29:10 +0100	[thread overview]
Message-ID: <CAP5QFJn4-=F=a7P0esEgP6Yf-dj3g1f7cV+r2Y0h+6=o0ThGWg@mail.gmail.com> (raw)
In-Reply-To: <E51C5B015DBD1348A1D85763337FB6D9C25863C6@Remus.metastack.local>

On 14/12/2011, David Allsopp <dra-news@metastack.com> wrote:
> Gerd Stolpmann wrote:
>> Am Mittwoch, den 14.12.2011, 09:27 -0800 schrieb Aleksey Nogin:
>> > On 14.12.2011 04:52, Gerd Stolpmann wrote:
>> >
>> > > I don't think you will be able to convince everybody - at this point
>> > > the issue becomes political in some sense: Do we want to give up our
>> > > Unix habits just to support an OS we (often enough) do not like, and
>> > > would only cover to get more love from the world?
>> > >
>> > > There could be an alternative: The "busybox approach". We could
>> > > develop a toolkit that covers all the Unix commands we need for the
>> > > existing build scripts. It would include easy things like cp, mv
>> > > etc., but also a classic "make" (medium difficulty, note that it
>> > > could reuse the godi_make code), and especially a POSIX shell. The
>> > > latter is a bit of work, but not too much. I'd guess the overall
>> > > effort takes not more than
>> > > 1-2 weeks if done by somebody how knows the semantics of the tools
>> > > very well.
>> > >
>> > > There are a number of advantages over Cygwin:
>> > >  - No danger of running into licensing problems
>> > >  - The Unix compatibility is only maintained for commands, but not on
>> > >    the system call level (eaiser to use, less surprises, fewer
>> > > deps,...)
>> > >  - It would only be a small download, and easy to integrate into
>> > >    installers
>> >
>> > Note that to a degree, OMake already provides the ability to do
>> > Unix-style things under Windows.
>>
>> I know, and this makes me quite optimistic that it is not that hard to
>> develop standalone executables for the frequently used Unix utilities.
>
> Any particular reason why the GnuWin32 project doesn't already fulfil this
> requirement (http://gnuwin32.sourceforge.net/)?

It's not maintained well and it's often quite dirty.

This is from the main page, "News" section:
> 7 June 2009: LibPng-1.2.37: library and tools for PNG images: new release

I'm stealing the following from slackware's changelog, starting mid-2010:

> Upgraded to libpng-1.2.44 and libpng-1.4.3.
> This fixes out-of-bounds memory write bugs that could lead to crashes
> or the execution of arbitrary code, and a memory leak bug which could
> lead to application crashes.
> For more information, see:
>   http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2010-1205
>   http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2010-2249

> Upgraded to libpng-1.2.46 and libpng-1.4.8.
> Fixed uninitialized memory read in png_format_buffer()
> (Bug report by Frank Busse, related to CVE-2004-0421).
> For more information, see:
>   http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2011-0421

As you can see, gnuwin32's libpng is more than outdated.


Maybe we could reuse it and provide our own updated packages?
Unfortunately, the foundations are quite bad since they rely on libgw32c:
http://gnuwin32.sourceforge.net/packages/libgw32c.htm

If you look at this page, you'll see that it provides a fork() function!
Except that the body of the function is as follows:
> int __fork () {
>   __set_errno (ENOSYS);
>   return -1;
> }

This is a typical example and many functions are not available. Think about
it: making Windows a UNIX. That's not a trivial task and the only complete
solution is cygwin. You can't have both a unix and no additional dependency
(cygwin or interix/sua). And you don't want to do that anyway because
Windows is not UNIX: typical issues are paths and their encoding:

  http://permalink.gmane.org/gmane.comp.windows.gnu.user/1197
  (I'm being told that Windows paths are not UTF-16 but UCB; I'm unable to
   explain more unfortunately)

Hopefully, you don't need to make applications and libraries believe they're
on a unix: most of the time, there is a windows port. For some things like
build systems (makefiles, autotools, or perl-based ones or...), it's more
difficult but you can quite simply cross-compile.

GnuWin32 and libgw32c are not completely worthless however: they can be used
for small systems (to bootstrap something bigger for instance).

Regards,
Adrien Nader

  reply	other threads:[~2011-12-15 10:29 UTC|newest]

Thread overview: 80+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-12-06 15:24 Jonathan Protzenko
2011-12-06 15:31 ` Joel Reymont
2011-12-06 23:03   ` Martin Jambon
2011-12-06 16:01 ` Mihamina Rakotomandimby
2011-12-06 16:03 ` Benedikt Meurer
2011-12-06 16:56   ` Ashish Agarwal
2011-12-06 17:12 ` Gerd Stolpmann
2011-12-06 17:33 ` Alex Rubinsteyn
2011-12-06 17:53 ` Alain Frisch
2011-12-07  0:18   ` Paolo Donadeo
2011-12-07  1:00     ` oliver
2011-12-07  6:33       ` Mihamina Rakotomandimby
2011-12-07  1:48     ` Ashish Agarwal
2011-12-07  9:53       ` Goswin von Brederlow
2011-12-07 10:33     ` Pierre-Alexandre Voye
2011-12-07 11:18       ` Gabriel Scherer
2011-12-07 13:15         ` David MENTRE
2011-12-07 13:48           ` Alan Schmitt
2011-12-07 14:56           ` Ashish Agarwal
2011-12-07 15:52         ` oliver
2011-12-10 14:58         ` Xavier Leroy
2011-12-08  7:59       ` rixed
2011-12-08 10:37         ` oliver
2011-12-08 13:15         ` [Caml-list] Wanted book (Re: Some comments on recent discussions) Mihamina Rakotomandimby
2011-12-09 21:22           ` oliver
2011-12-09  7:13   ` [Caml-list] Some comments on recent discussions Martin Jambon
2011-12-10 20:32 ` Andrei Formiga
2011-12-10 21:01   ` Edgar Friendly
2011-12-10 21:12     ` rixed
2011-12-10 21:24       ` Edgar Friendly
2011-12-10 21:49         ` rixed
2011-12-10 22:45           ` Edgar Friendly
2011-12-10 23:58       ` Hans Ole Rafaelsen
2011-12-11 10:25       ` Gerd Stolpmann
2011-12-11 10:06   ` Gerd Stolpmann
2011-12-13 17:41   ` oliver
2011-12-13  5:54 ` Martin DeMello
2011-12-13  7:15   ` Gerd Stolpmann
2011-12-13  8:21     ` Martin DeMello
2011-12-13  8:51       ` Alain Frisch
2011-12-13  9:15         ` Gaius Hammond
2011-12-13 14:08           ` Gerd Stolpmann
2011-12-14  5:28           ` Alain Frisch
2011-12-13  9:51         ` Martin DeMello
2011-12-13  9:53         ` Adrien
2011-12-13 20:52           ` Jon Harrop
2011-12-14  6:03           ` Alain Frisch
2011-12-14  9:34             ` Jonathan Protzenko
2011-12-14 10:24               ` Alain Frisch
2011-12-14 13:37                 ` Adrien
2011-12-14 14:24                   ` Gabriel Scherer
2011-12-14 15:27                   ` Gerd Stolpmann
2011-12-14 15:46                     ` Gaius Hammond
2011-12-14 15:49                     ` Adrien
2011-12-14 16:42                       ` Fabrice Le Fessant
2011-12-14 17:04                       ` Alain Frisch
2011-12-15 21:38                         ` Adrien
2011-12-14 16:55                   ` Alain Frisch
2011-12-14 21:35                     ` Benedikt Meurer
2011-12-15 11:14                     ` Adrien
2011-12-14 12:52             ` Gerd Stolpmann
2011-12-14 13:25               ` Jonathan Protzenko
2011-12-14 17:27               ` Aleksey Nogin
2011-12-14 17:36                 ` Gerd Stolpmann
2011-12-14 19:41                   ` David Allsopp
2011-12-15 10:29                     ` Adrien [this message]
2011-12-15 17:41                       ` Martin DeMello
2011-12-15 20:47                         ` Adrien
2011-12-15 21:20                           ` Martin DeMello
2011-12-15 11:25                     ` Gerd Stolpmann
2011-12-16 12:39                   ` Alain Frisch
2011-12-16 12:44                     ` Jonathan Protzenko
2011-12-16 13:14                     ` Gerd Stolpmann
2011-12-16 14:11                       ` Alain Frisch
2011-12-16 14:50                         ` Gerd Stolpmann
2011-12-16 13:58                     ` Stéphane Glondu
2011-12-16 17:29                     ` Edgar Friendly
2011-12-14 18:41                 ` Dmitry Grebeniuk
2011-12-14 23:54               ` Martin DeMello
2011-12-15 10:03                 ` Adrien

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAP5QFJn4-=F=a7P0esEgP6Yf-dj3g1f7cV+r2Y0h+6=o0ThGWg@mail.gmail.com' \
    --to=camaradetux@gmail.com \
    --cc=caml-list@inria.fr \
    --cc=dra-news@metastack.com \
    --cc=info@gerd-stolpmann.de \
    --cc=nogin@metaprl.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).