[[user-comments:osrf-devel:notes_on_compiling_c_c_code|User Comments]] There are a number of OpenSRF services written in C (currently no c++) that require compilation on install. Some of these services are required for various parts of OpenSRF to function. If necessary, a simple OpenSRF install may be performed without compiling any of the C code described below. == These packages include: == - **gateway (mod_ils_gateway)** : An Apache module which proxies OpenSRF requests allowing web access to OpenSRF applications. Note that Apache may be bypassed in favor of a direct Jabber login if required. - **jserver (Chop Chop, Jabber)** : Custom OpenSRF Jabber server. This may be replaced by jabberd2 (and probably jabberd1). Any other Jabber server might work, however there is the potential that OpenSRF is relying on some jabberd2 specific message formats (e.g. error messages). - **objson, libstack, libtransport** : These are supporting code libraries. objson is our json parser. libstack and libtransport are the core communication libraries - **router** : router is a Jabber router/load balancer. It allows OpenSRF to spread requests out to multiple instances of a single application, accross different Jabber domains. router is required only if running OpenSRF in a mult-domain configuration and/or a configuration that supports multiple instances of a single application. - **srfsh** : srfsh is a shell style command line tool used mainly for debugging and inspecting OpenSRF application. == Prerequisites == All prerequisites require header files (-devel) to be installed. Some Linux distributions will have many or most of these libraries pre-installed. Listed are the Gentoo package names. - libxml2 - libxslt - readline (for srfsh) - Apache 2 (for building the apache gateway module) == Compiling == So far, all code has been built and tested primarily on Gentoo Linux (Intel and AMD 64). gcc -v: gcc version 3.3.5 (Gentoo Linux 3.3.5-r1, ssp-3.3.2-3, pie-8.7.7.1) See [[installing software]] for installation.