diff -r 056b7920b686 -r 61592927335b INSTALL --- a/INSTALL Thu Jan 27 21:40:13 2022 +0100 +++ b/INSTALL Fri Jan 28 11:57:58 2022 +0100 @@ -1,73 +1,79 @@ (This file was created from https://prosody.im/doc/installing_from_source on 2013-03-31) -====== Installing from source ====== -==== Dependencies ==== -There are a couple of libraries which Prosody needs installed before -you can build it. These are: +# Installing from source + +## Dependencies + +There are a couple of development packages which Prosody needs installed +before you can build it. These are: - * lua5.1: The Lua 5.1 interpreter - * liblua5.1: Lua 5.1 library - * libssl 0.9.8: OpenSSL - * libidn11: GNU libidn library, version 1.1 +- The [Lua](http://lua.org/) library, version 5.4 recommended +- [OpenSSL](http://openssl.org/) +- String processing library, one of + - [ICU](https://icu.unicode.org/) (recommended) + - [GNU libidn](http://www.gnu.org/software/libidn/) -These can be installed on Debian/Ubuntu with the packages: lua5.1 -liblua5.1-dev libidn11-dev libssl-dev +These can be installed on Debian/Ubuntu by running +`apt-get build-dep prosody` or by installing the packages +`liblua5.4-dev`, `libicu-dev` and `libssl-dev`. -On Mandriva try: urpmi lua liblua-devel libidn-devel libopenssl-devel +On Mandriva try: -On other systems... good luck, but please let me know of the best way -of getting the dependencies for your system and I can add it here. + urpmi lua liblua-devel libidn-devel libopenssl-devel -==== configure ==== -The first step of building is to run the configure script. This -creates a file called 'config.unix' which is used by the next step to -control aspects of the build process. +On Mac OS X, if you have MacPorts installed, you can try: + + sudo port install lua lua-luasocket lua-luasec lua-luaexpat -All options to configure can be seen by running ./configure --help. -Sometimes you won't need to pass any parameters to configure, but on -most systems you shall. +On other systems... good luck, but please let us know of the best way of +getting the dependencies for your system and we can add it here. + +## configure -To make this a little easier, there are a few presets which configure -accepts. You can load a preset using: +The first step of building is to run the configure script. This creates +a file called 'config.unix' which is used by the next step to control +aspects of the build process. - ./configure --ostype=PRESET + ./configure -Where PRESET can currently be one of: 'debian', 'macosx' or (in 0.8 -and later) 'freebsd' +All options to configure can be seen by running -==== make ==== + ./configure --help + +## make + Once you have run configure successfully, then you can simply run: make Simple? :-) -If you do happen to have problems at this stage, it is most likely -due to the build process not finding the dependencies. Ensure you -have them installed, and in the standard library paths for your -system. +If you do happen to have problems at this stage, it is most likely due +to the build process not finding the dependencies. Ensure you have them +installed, and in the standard library paths for your system. For more help, just ask ;-) ==== install ==== + At this stage you should be able to run Prosody simply with: ./prosody -There is no problem with this, it is actually the easiest way to do -development, as it doesn't spread parts around your system, and you -can keep multiple versions around in their own directories without +There is no problem with this, it is actually the easiest way to do +development, as it doesn't spread parts around your system, and you +can keep multiple versions around in their own directories without conflict. Should you wish to install it system-wide however, simply run: sudo make install -...it will install into /usr/local/ by default. To change this you -can pass to the initial ./configure using the 'prefix' option, or -edit config.unix directly. If the new path doesn't require root -permission to write to, you also won't need (or want) to use 'sudo' -in front of the 'make install'. +...it will install into /usr/local/ by default. To change this you can +pass to the initial ./configure using the 'prefix' option, or edit +config.unix directly. If the new path doesn't require root permission to +write to, you also won't need (or want) to use 'sudo' in front of the +'make install'. Have fun, and see you on Jabber!