Version française
Home     About     Download     Resources     Contact us    
Browse thread
thousands of CPU cores
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: -- (:)
From: Adrien <camaradetux@g...>
Subject: Re: [Caml-list] Re: thousands of CPU cores
2008/7/15 Gerd Stolpmann <info@gerd-stolpmann.de>:
>
> Well, there's now SFU for Windows (but only for XP Professional and
> Windows 2003, not for XP Home and Vista, AFAIK). That's a cool solution
> when you want to run Win32 and POSIX programs on the same system, and
> maybe an alternative to using virtualization. But it is nothing for
> developing consumer programs on Windows.
>
> Btw, has something tried to compile O'Caml on SFU? It's a 230M free
> download. There seems to be gcc and lots of GNU stuff, too (yes, it's
> from MS...).

Well, I did a few months ago. For those who don't know, SFU (Services
For Unix) provides approximately the same features as cygwin.
SFU works really well and is professional : you use the installer and
you're done. It's usually easier to get an SFU build than a mingw or a
cygwin one.

There's a catch however : it works too well !
It's certainly surprising but SFU gives you an Unix-like environment
and you'll certainly try to interact with windows and that's where the
problem lies. For example, paths will clash iirc.
However it is worth being investigated. These are s-nt.h :

First, the official one for windows :

#define OCAML_OS_TYPE "Win32"

#undef BSD_SIGNALS
#define HAS_STRERROR
#define HAS_SOCKETS
#define HAS_GETCWD
#define HAS_UTIME
#define HAS_DUP2
#define HAS_GETHOSTNAME
#define HAS_MKTIME
#define HAS_PUTENV
#define HAS_LOCALE


Then the one you can obtain when configure'ing under SFU :

#define OCAML_OS_TYPE "Unix"
#define OCAML_STDLIB_DIR "/usr/local/lib/ocaml"
#define POSIX_SIGNALS
#define HAS_GETRUSAGE
#define HAS_TIMES
#define HAS_TERMCAP
#define HAS_SOCKETS
#define HAS_INET_ATON
#define HAS_UNISTD
#define HAS_OFF_T
#define HAS_DIRENT
#define HAS_REWINDDIR
#define HAS_LOCKF
#define HAS_MKFIFO
#define HAS_GETCWD
#define HAS_GETWD
#define HAS_GETPRIORITY
#define HAS_UTIME
#define HAS_DUP2
#define HAS_FCHMOD
#define HAS_TRUNCATE
#define HAS_SYS_SELECT_H
#define HAS_SELECT
#define HAS_SYMLINK
#define HAS_WAITPID
#define HAS_GETGROUPS
#define HAS_TERMIOS
#define HAS_SETITIMER
#define HAS_GETHOSTNAME
#define HAS_UNAME
#define HAS_GETTIMEOFDAY
#define HAS_MKTIME
#define HAS_SETSID
#define HAS_PUTENV
#define HAS_LOCALE
#define HAS_MMAP
#define HAS_SIGWAIT


It's a bit longer !

I have since uninstalled SFU but could reinstall it, virtualBox will
be handy (except that compiling software inside a virtual machine is
everything but funny).
By the way, SFU is available for Vista and should work under XP Home
(Home is like Pro with a few things removed). Microsoft announced
there would be no other version of SFU [1] but SFU is not their
product, it is Interix's and I think Interix will continue to ship new
versions though these probably won't be free.

Also, the utilities are not necessarily Gnu, they provide BSD ones. ;)
But, but, ... I just saw debian-interix which claims "since the last
buildd run there are now over 1000 packages available for
interix-i386", and even better, the project is still active, the
latest is dated from "2008-06-30". I definitely have to install SFU
again ! (I'll just need a windows partition bigger than 4GB...).

[1] : http://www.microsoft-watch.com/content/operating_systems/its_the_end_of_the_line_for_microsofts_services_for_unix_product.html


The not-so-funny part is that applications compiled under SFU need SFU
installed to run so this limits portability but ocaml-compiled
programs may not have this problem. The only way to know more about
this is certainly to experiment. Also, I don't know how free is SFU's
license.


 ---

Adrien Nader