INSTALLATION ============ If you installed BitlBee from a .deb or .rpm you probably don't have to do anything anymore for installation. Just skip this section. If you want to compile BitlBee yourself, that's fine. Just run ./configure to set up the build system. If configure succeeds, run make to build BitlBee. make install will move all the files to the right places. --- (Fork)Daemon mode These days ForkDaemon mode is the recommended way of running BitlBee. The difference between Daemon and ForkDaemon mode is that in the latter, a separate process is spawned for every user. This costs a little bit more memory, but means that if one user hits a bug in the code, not all other users get disconnected with him/her. To use BitlBee in any daemon mode, just start it with the right flags or enable it in bitlbee.conf (see the RunMode option). You probably want to write an init script to start BitlBee automatically after a reboot. (This is where you realise using a package from your distro would've been a better idea. :-P) Please do make sure that the user BitlBee runs as (not root, please!) is able to read from and write to the /var/lib/bitlbee directory to save your settings! --- inetd installation (more or less deprecated) After installation you have to set up inetd (you got that one running, right? If not, just take a look at utils/bitlbeed.c) to start BitlBee. You need to add BitlBee to inetd.conf, like this: 6667 stream tcp nowait nobody /usr/sbin/tcpd /usr/local/sbin/bitlbee Creating a special BitlBee user and running BitlBee with that UID (instead of just 'nobody') might be a good idea. *BSD/Darwin/OSX NOTE: Most *BSD inetds are more scrict than the one that comes with Linux systems. Possibly all non-Linux inetds are like this. They don't allow you to specify a port number in the inetd.conf entry, instead you have to put a service name there (one that is also mentioned in /etc/services). So if there's no line in /services for 6667/tcp (or whatever you choose), add it and use that name in the inetd.conf entry. -- xinetd installation (equally deprecated) Most machines use xinetd instead of inetd these days. If your machine runs xinetd, you can copy the bitlbee.xinetd file from the doc/ directory to your xinetd.d/ directory. Most likely you'll have to change a thing or two before it'll work. After configuring your (x)inetd, send the daemon a SIGHUP and things should work. If not, see your syslogs, since both daemons will complain there when something's wrong. Also, don't forget to create the configuration directory (/var/lib/bitlbee/ by default) and chown it to the UID BitlBee is running as. Make sure this directory is read-/writable by this user only. DEPENDENCIES ============ BitlBee's only real dependency is GLib. This is available on virtually every platform. Any recent version of GLib (2.4 or higher) will work. These days, MSN Messenger clients have to connect to the MS Passport servers through HTTPS. BitlBee can use several SSL libraries for this: GnuTLS, NSS (which comes with Mozilla) and OpenSSL. OpenSSL is not GPL-compatible in some situations, so using GnuTLS or NSS is preferred. However, especially on *BSD, OpenSSL can be considered part of the operating system, which eliminates the GPL incompatibility. The incompatibility is also the reason why the SSL library detection code doesn't attempt to use OpenSSL. If you want to use OpenSSL, you have to force configure to use it using the --ssl=openssl parameter. For more information about this problem, see the URL's configure will write to stdout when you attempt to use OpenSSL. PORTABILITY ISSUES ================== Cygwin NOTE: You'll need a glib installation to run BitlBee. However, Cygwin doesn't provide a glib package. You can download a binary tar.gz from: . When you installed it, BitlBee should work fine. You'll probably like bitlbeed or xinetd to get it running on the network. On some non-Linux systems the program still suffers from some random bugs. Please do report them, we might be able to fix them if they're not too mysterious. Also, the configure script is known to not work very well with non-Bash shells, so if you experience problems, make sure you use bash to run the script. Same for