3 Copyright (C) 1989-2000 Regents of the University of Illinois
5 Now you can compile charm++ under Windows9x/2000/NT/XP with Cygwin.
6 Note: This version of cygwin is still under testing.
7 Check the FAQ at end of this file for more help.
11 ===========================
13 To compile charm on cygwin:
14 1. install cygwin from: http://www.cygwin.com/mirrors.html
15 download inetutils, openssh, w32api packages and gcc of course. Remember to
16 choose default file type as "unix" at the beginning of cygwin installation.
18 2. before compiling, make sure you have /bin/sh correctly installed, otherwise
19 make a link from /bin/bash.exe: ln -s /bin/bash.exe /bin/sh.exe
21 ./build charm++ net-cygwin
23 3. set up environment:
24 There are several ways to do this, using rsh or ssh.
25 Under Windows2000/NT, ssh is recommended, I once had difficulty to have
27 Starting from Charm++ version 5.4, ++local option is added to start
28 node programs directly on your desktop machine. You no longer need rshd or
29 sshd to start charm program on local machine. This is for testing purpose
30 or small job run though, for best performance, launch one process per
31 processor with rsh daemons.
32 Starting from Charm++ V5.4R2, you can also run Charm++ program in standalone
33 mode without charmrun.
36 setup /etc/inetd.conf and /etc/services to start rshd,
37 Here is an example of /etc/inetd.conf:
40 shell stream tcp nowait.1000 root /usr/sbin/in.rshd in.rshd
43 and an example of /etc/services:
49 before running charm program, start 'inetd' first to get rshd running.
50 Run debug mode 'inetd -d' to see the debug information.
53 Check /etc/passwd, make sure your home directory is correct. (it may be
55 run "/usr/bin/ssh-config" to setup all ssh config files.
56 Since openssh version 2.5.1p2, you have to run /usr/bin/ssh-host-config
57 for the first time to generate global config files and server keys; and
58 run /usr/bin/ssh-user-config creates the private and public keys for a user.
59 You may need to modify /etc/sshd_config or /etc/ssh_config for your needs.
61 Setup ~/.shosts, or add your public key to your ~/.ssh/authorized_keys to
62 allow you to login without password authentication. You can test if your
66 Now you can start sshd and run charm programs. To tell Charmrun to use ssh
67 instead of rsh(default), you need to add ++shell option in ~/.nodelist file:
69 group main ++shell /bin/ssh
72 ** run only on local machine with ++local **
73 This allows a user to run charm program on his/her desktop machine for
74 testing purpose or running a small job without the hassle of setting up any
75 rsh deamons. To launch a charm++ program on your local machine, use
78 ./charmrun +p4 ++local ./pgm
80 ** run in standalone mode **
81 You can run Charm++ program without charmrun after Charm++ V5.4R2.
82 Simply type executable and command line options:
84 This will run only one copy of program locally.
86 4. If you have any problem with it, please check the FAQ below for help.
87 Let me know if it works or not by sending email to (ppl@cs.uiuc.edu).
95 * Why would I use net-cygwin version?
97 First cygwin is free, it comes with free gcc compiler, cvs and openSSH.
98 You don't need expensive Visual C++ compiler to get work done. For unix
99 fans, it is also a good idea to just turn your windows box to a unix
100 workspace, and learn and run charm++ program uniformly on all platforms.
102 * How to get your latest version of Charm++?
104 You can use anonymous cvs login to checkout the latest version of charm.
105 (It may not be the latest stable version though)
106 1. login the cvs server:
108 cvs -d :pserver:checkout@thrift.cs.uiuc.edu:/expand6/cvsroot login
110 when CVS passwd is prompted, just type <Enter>.
115 You should get latest charm source tree.
116 3. logout the cvs server
120 * Problem: Charm++ build script stops when it compile "ckfutures.ci", with
121 error message: "Syntax error at line 1: parse error"
123 This happens when the .ci files have strange characters like '^M' at end
124 of each line. Don't use WinCVS to checkout charm because it will append
125 '^M' for each line. Use the cvs that comes free from cygwin.
126 After charm++ version 5.4, this bug is fixed.
128 * Problem: I got a runtime error "CthCreate failed to create fiber!".
130 net-cygwin uses Win32 Fiber in its user threads implementation. However,
131 there is a limit upon the number of Fibers you can create at one time in
132 the w32api of cygwin. The current limit (as I tested) is between 50-52. You
133 have to reduce the number of processors or the number of charm++ threads
134 you create in the program to run the program under cygwin.