| 1 | (This file was created from |
| 2 | http://prosody.im/doc/installing_from_source on 2009-05-22) |
| 3 | |
| 4 | ===== Building ===== |
| 5 | ==== Dependencies ==== |
| 6 | There are a couple of libraries which Prosody needs installed before |
| 7 | you can build it. These are: |
| 8 | |
| 9 | * liblua5.1: Lua 5.1 library |
| 10 | * libssl 0.9.8: OpenSSL |
| 11 | * libidn11: GNU libidn library, version 1.1 |
| 12 | |
| 13 | Both of these can be installed on Debian/Ubuntu with the packages: |
| 14 | liblua5.1-dev libidn11-dev libssl-dev |
| 15 | |
| 16 | On other systems... good luck, but please let me know of the best way |
| 17 | of getting the dependencies for your system and I can add it here. |
| 18 | |
| 19 | ==== configure ==== |
| 20 | The first step of building is to run the configure script. This |
| 21 | creates a file called 'config.unix' which is used by the next step to |
| 22 | control aspects of the build process. |
| 23 | |
| 24 | All options to configure can be seen by running ./configure --help. |
| 25 | Sometimes you won't need to pass any parameters to configure, but on |
| 26 | most systems you shall. |
| 27 | |
| 28 | To make this a little easier, there are a few presets which configure |
| 29 | accepts. You can load a preset using: |
| 30 | |
| 31 | ./configure --ostype=PRESET |
| 32 | |
| 33 | Where PRESET can currently be one of: debian, macosx |
| 34 | |
| 35 | ==== make ==== |
| 36 | Once you have run configure successfully, then you can simply run: |
| 37 | |
| 38 | make |
| 39 | |
| 40 | Simple? :-) |
| 41 | |
| 42 | If you do happen to have problems at this stage, it is most likely |
| 43 | due to the build process not finding the dependencies. Ensure you |
| 44 | have them installed, and in the standard library paths for your |
| 45 | system. |
| 46 | |
| 47 | For more help, just ask ;-) |
| 48 | |
| 49 | ==== install ==== |
| 50 | At this stage you should be able to run Prosody simply with: |
| 51 | |
| 52 | ./prosody |
| 53 | |
| 54 | There is no problem with this, it is actually the easiest way to do |
| 55 | development, as it doesn't spread parts around your system, and you |
| 56 | can keep multiple versions around in their own directories without |
| 57 | conflict. |
| 58 | |
| 59 | Should you wish to install it system-wide however, simply run: |
| 60 | |
| 61 | sudo make install |
| 62 | |
| 63 | ...it will install into /usr/local/ by default. To change this you |
| 64 | can pass to the initial ./configure using the 'prefix' option, or |
| 65 | edit config.unix directly. If the new path doesn't require root |
| 66 | permission to write to, you also won't need (or want) to use 'sudo' |
| 67 | in front of the 'make install'. |
| 68 | |
| 69 | Have fun, and see you on Jabber! |