- Timestamp:
- 10/14/06 11:25:33 (6 years ago)
- File:
-
- 1 edited
-
trunk/ithildin/README (modified) (6 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/ithildin/README
r712 r791 16 16 Reading READMEs from start to finish is usually a good idea. They tend to 17 17 contain a lot of information that is valid/valuable for 99% of users. That 18 being said, I've tried to keep things short and to the point for those of you18 eing said, I've tried to keep things short and to the point for those of you 19 19 who have little patience. Before you start running the daemon, you should read 20 20 the below list of requirements to make sure you've got everything you need. … … 31 31 probably move data around. I've tried to make things fairly clear, but 32 32 YMMV. 33 4. A module which you wish to run. The base system doesn't come with any 34 modules, you'll need to get them on your own. There are some available 35 from the site where the base system is hosted. 36 5. GNU toolchain. Depending on how you got this code you will need any of 37 automake, autoconf, and libtool. Autoconf and automake are not always 38 necessary, but libtool is required. You must also use GNU make when 39 building. Invoking make with the "gmake" command should ensure that you 40 always use GNU make. 33 4. Python. The build system used is written in Python. Most modern systems 34 should have this. 35 4. A module which you wish to run. Depending on where you got the code from 36 (code repository vs. download) you may already have modules. If you 37 downloaded a tarball or zip of this source you do NOT have module source 38 lying around, see below for more info on this. 41 39 42 40 ------------------------------------------------------------------------------- … … 72 70 $ cd ithildin/modules 73 71 $ tar -zxf ~/syslog.tar.gz 72 (NB: not necessary when fetching source via subversion) 74 73 75 2) If you are going to attempt to build from Subversion I recommend having 76 Python available, in addition to the aforementioned GNU toolchain. There 77 is a script (tools/build.py) that will assist you in bootstrapping a build 78 environment. Intrepid readers should note that this script is available 79 in the website distribution as well, and may help them. This script is 80 not required for any compilation purposes (yet) but may be later. I 81 cannot help you in bootstrapping your environment if you don't use this 82 tool, as my instructions may change more often than I am willing to 83 update this document. The script is straightforward, just take a gander 84 at the "prebuild" stuff. 74 2) Copy build/options.default to build/options and then edit build/options. 75 The syntax should be straightforward. You can edit options.default if 76 you like, but any future updates will trample that file whereas 'options' 77 will never be overwritten either by subversion or future downloads. 85 78 86 3) Configure the system using the configure script by doing: 87 $ ./configure --prefix=foo 88 (you might wish to run configure with the --help option to see if you're 89 interested in using any addons). If you want to install system-wide you'll 90 probably want a prefix of '/usr' or '/usr/local'. If you want to install in 91 your home directory, you'll probably want to use --prefix=/home/yourdir or 92 --prefix=/home/yourdir/ithildin (to keep it separate from other stuff). 93 And if you're installing in a home directory or somewhere separate from 94 other system binaries/libraries you will probably want to use the 95 --disable-dir-suffix option to configure. It will keep the directory 96 structure in a cleaner condition. 79 3) Run scons! If you have scons installed you may simply execute scons with 80 no options, e.g.: 81 $ scons 97 82 98 Other interesting options to configure: 99 --enable-debug: Turn on debugging code in the main source tree (and any 100 modules compiled afterwards). Modules can individually run their own 101 debugging separate of this. 83 Most folks do not have scons installed by default. Never fear, simply 84 use the pre-packaged version in the build directory via: 85 $ python build/scons.py 102 86 103 --disable-custom-malloc: Turn off the custom allocator code. You may 104 find this useful if you wish to use Valgrind or another memory profiler 105 which relies on the system malloc or on being able to override malloc 106 itself. Note that --with-dmalloc does this for you automatically. 107 108 --enable-fd-setsize=FDs: For systems using select() set the number of FDs 109 we will support at maximum to this. The system supplied value tends to 110 be alright for most uses. 111 112 --with-poller=[kqueue,poll,select]: Request that the specified polling 113 mechanism be used. The system does a good job of figuring out what 114 poller it ought to use, and generally you do not want to muck with this. 115 In particular I know that the kqueue on Linux is a different kqueue, and 116 that poll() as of recent 2.6 kernels still has undocumented and weird 117 failure cases that I do not handle because I am not willing to unwind the 118 Linux kernel code to figure out why it explodes on seemingly legal 119 constructs sometimes. 120 121 --with-ipv6: Enable/disable explicitly IPv6 support. The system does a 122 good job of making this decision, this is most useful if you explicitly 123 do not want IPv6 support. Note that IPv6 adds virtually no overhead and 124 only makes for a slightly larger binary. 125 126 --with-openssl=PATH: Specify that OpenSSL on your system is installed in 127 PATH. On most systems the configuration system does a good job of 128 finding OpenSSL and using it. You may also use --without-openssl to 129 explicitly disable the inclusion of SSL support. 130 131 --with-existing: Specify the name of an existing ithildin installation's 132 binary. If you installed previously in /home/yourdir/ithildin you can 133 use --with-existing=/home/yourdir/ithildin/bin/ithildin and this will set 134 the rest of the directory settings for you automagically. 135 136 4) Build the source by doing: 137 $ make 138 Any 'make' variant should suffice here. 87 Help on using scons can be retrieved via the '-h' and '-H' options. 139 88 140 89 That's it. If all of this went well, then you can move on to the installing … … 147 96 the system by simply doing: 148 97 149 $ makeinstall98 $ python build/scons.py install 150 99 151 100 That's it. If all went well, move on to the next section. If not, see section … … 156 105 157 106 You'll probably need to configure the system before you run it. Look in 158 $prefix/etc/ithildin/ for the various configuration files. 107 $prefix/etc for the various configuration files (where $prefix is where you 108 set the options file to install code. If you didn't change it this will be 109 /usr/local) 159 110 160 111 ------------------------------------------------------------------------------- … … 163 114 Right now there is no FAQ for "it didn't work" type issues, however you are 164 115 invited to file a defect (see the BUGS file) if you believe this is a defect 165 in the product and not an error in your configuration. 116 in the product and not an error in your configuration. If you're not sure 117 about it one way or the other please email me or find me on your favorite 118 chat protocol from below and let me know what the problem is. 166 119 167 120 -------------------------------------------------------------------------------
Note: See TracChangeset
for help on using the changeset viewer.
