Browse thread
thousands of CPU cores
[
Home
]
[ Index:
by date
|
by threads
]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: | 2008-07-15 (19:23) |
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