User Tools

Site Tools

Translations of this page:

Sidebar

Table of contents

Contacts

  • contact@accel-ppp.org
  • accel-ppp-users@lists.sourceforge.net
compilation

Requirements

  • modern linux distribution
  • kernel-2.6.25 or later
  • cmake-2.6 or later
  • libcrypto-0.9.8 or later (openssl-0.9.8)
  • libpcre
  • net-snmp-5.x (for snmp)
  • liblua5.1 (for IPoE)

Get the source

You can download latest source from https://sourceforge.net/projects/accel-ppp/files/latest/download?source=files
or get it from git

git clone git://git.code.sf.net/p/accel-ppp/code accel-ppp.git

You'll get master branch. If you need 1.7 branch then execute:

git checkout -b 1.7 --track origin/1.7

Preparation

Unpack source and make build directory in some place, you can create it inside source tree.
Change current working directory to your build directory.

Caution! Don't compile inside source tree if you want to build pptp module, it will fail. Start build process in your build directory.

Then you have to invoke cmake command, common form is:

cmake [[options]] /path/to/accel-ppp-source

Build options

You can customize project to enable or disable some features using following options. All these options are optional.

-DBUILD_PPTP_DRIVER=TRUE
This option enables build of pptp kernel module. If you have 2.6.37 or later linux kernel you don't need this option because starting from 2.6.37 pptp is included to mainline kernel.
-DBUILD_IPOE_DRIVER=TRUE
This option enables build of ipoe kernel module. This module is required if you wish to use IPoE in shared interface mode or if you need vlan monitor.
-DBUILD_VLAN_MON_DRIVER=TRUE
This option enables build of vlan monitor kernel module.
-DKDIR=/usr/src/linux
Specifies path to linux kernel source directory. You need this option only if you want to build pptp kernel module.
-DCMAKE_INSTALL_PREFIX=/some/location
Specifies prefix to install accel-ppp to. Default value is /usr/local.
-DCMAKE_BUILD_TYPE=Debug
Specifies that build has to include debug information. As you can guess it is used for debugging purpose and you don't need to specify it if you don't plan to help with debugging.
-DLOG_PGSQL=TRUE
This option enables build of log_pgsql module which you can use for logging to PostreSQL database.
-DRADIUS=FALSE
Disables build of radius module.
-DNETSNMP=TRUE
Enables build of snmp agent module.
-DLUA=TRUE
Build accel-ppp with lua support (useful for ipoe only).

Compilation

After cmake was succeed you can start compilation invoking make command.

Installation

After make was succeed you can install accel-ppp by make install command

Install IPoE module

Install vlan monitor module

Typical build process

 $ wget http://sourceforge.net/projects/accel-ppp/files/accel-ppp-1.7.4.tar.bz2
 $ tar -xjf accel-ppp-1.7.4.tar.bz2
 $ mkdir accel-ppp-build
 $ cd accel-ppp-build
 $ cmake ../accel-ppp-1.7.4
-- The C compiler identification is GNU
-- Check for working C compiler: /usr/bin/gcc
-- Check for working C compiler: /usr/bin/gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Looking for timerfd_create
-- Looking for timerfd_create - found
-- Configuring done
-- Generating done
-- Build files have been written to: /usr/src/accel-ppp-build
 $ make
[  1%] Building C object accel-pppd/triton/CMakeFiles/triton.dir/md.c.o
[  2%] Building C object accel-pppd/triton/CMakeFiles/triton.dir/timer.c.o
[  4%] Building C object accel-pppd/triton/CMakeFiles/triton.dir/triton.c.o
[  5%] Building C object accel-pppd/triton/CMakeFiles/triton.dir/conf_file.c.o
[  7%] Building C object accel-pppd/triton/CMakeFiles/triton.dir/loader.c.o
[  8%] Building C object accel-pppd/triton/CMakeFiles/triton.dir/log.c.o
[  9%] Building C object accel-pppd/triton/CMakeFiles/triton.dir/mempool.c.o
[ 11%] Building C object accel-pppd/triton/CMakeFiles/triton.dir/event.c.o
Linking C shared library libtriton.so
[ 11%] Built target triton
[ 12%] Building C object accel-pppd/CMakeFiles/accel-pppd.dir/ppp/ppp.c.o
[ 14%] Building C object accel-pppd/CMakeFiles/accel-pppd.dir/ppp/ppp_fsm.c.o
[ 15%] Building C object accel-pppd/CMakeFiles/accel-pppd.dir/ppp/ppp_lcp.c.o
[ 16%] Building C object accel-pppd/CMakeFiles/accel-pppd.dir/ppp/lcp_opt_mru.c.o
[ 18%] Building C object accel-pppd/CMakeFiles/accel-pppd.dir/ppp/lcp_opt_magic.c.o
[ 19%] Building C object accel-pppd/CMakeFiles/accel-pppd.dir/ppp/lcp_opt_pcomp.c.o
[ 21%] Building C object accel-pppd/CMakeFiles/accel-pppd.dir/ppp/lcp_opt_accomp.c.o
[ 22%] Building C object accel-pppd/CMakeFiles/accel-pppd.dir/ppp/ppp_auth.c.o
[ 23%] Building C object accel-pppd/CMakeFiles/accel-pppd.dir/ppp/ppp_ipcp.c.o
[ 25%] Building C object accel-pppd/CMakeFiles/accel-pppd.dir/ppp/ipcp_opt_ipaddr.c.o
[ 26%] Building C object accel-pppd/CMakeFiles/accel-pppd.dir/ppp/ipcp_opt_dns.c.o
[ 28%] Building C object accel-pppd/CMakeFiles/accel-pppd.dir/ppp/ipv6cp_opt_intfid.c.o
[ 29%] Building C object accel-pppd/CMakeFiles/accel-pppd.dir/ppp/ppp_ipv6cp.c.o
[ 30%] Building C object accel-pppd/CMakeFiles/accel-pppd.dir/ppp/ppp_ccp.c.o
[ 32%] Building C object accel-pppd/CMakeFiles/accel-pppd.dir/ppp/ccp_mppe.c.o
[ 33%] Building C object accel-pppd/CMakeFiles/accel-pppd.dir/cli/std_cmd.c.o
[ 35%] Building C object accel-pppd/CMakeFiles/accel-pppd.dir/cli/show_sessions.c.o
[ 36%] Building C object accel-pppd/CMakeFiles/accel-pppd.dir/cli/telnet.c.o
[ 38%] Building C object accel-pppd/CMakeFiles/accel-pppd.dir/cli/tcp.c.o
[ 39%] Building C object accel-pppd/CMakeFiles/accel-pppd.dir/cli/cli.c.o
[ 40%] Building C object accel-pppd/CMakeFiles/accel-pppd.dir/pwdb.c.o
[ 42%] Building C object accel-pppd/CMakeFiles/accel-pppd.dir/ipdb.c.o
[ 43%] Building C object accel-pppd/CMakeFiles/accel-pppd.dir/iprange.c.o
[ 45%] Building C object accel-pppd/CMakeFiles/accel-pppd.dir/utils.c.o
[ 46%] Building C object accel-pppd/CMakeFiles/accel-pppd.dir/log.c.o
[ 47%] Building C object accel-pppd/CMakeFiles/accel-pppd.dir/main.c.o
[ 49%] Building C object accel-pppd/CMakeFiles/accel-pppd.dir/memdebug.c.o
Linking C executable accel-pppd
[ 49%] Built target accel-pppd
[ 50%] Building C object accel-pppd/radius/CMakeFiles/radius.dir/stat_accm.c.o
[ 52%] Building C object accel-pppd/radius/CMakeFiles/radius.dir/dict.c.o
[ 53%] Building C object accel-pppd/radius/CMakeFiles/radius.dir/req.c.o
[ 54%] Building C object accel-pppd/radius/CMakeFiles/radius.dir/packet.c.o
[ 56%] Building C object accel-pppd/radius/CMakeFiles/radius.dir/auth.c.o
[ 57%] Building C object accel-pppd/radius/CMakeFiles/radius.dir/acct.c.o
[ 59%] Building C object accel-pppd/radius/CMakeFiles/radius.dir/serv.c.o
[ 60%] Building C object accel-pppd/radius/CMakeFiles/radius.dir/dm_coa.c.o
[ 61%] Building C object accel-pppd/radius/CMakeFiles/radius.dir/radius.c.o
Linking C shared library libradius.so
[ 61%] Built target radius
[ 63%] Building C object accel-pppd/ctrl/pptp/CMakeFiles/pptp.dir/pptp.c.o
Linking C shared library libpptp.so
[ 63%] Built target pptp
[ 64%] Building C object accel-pppd/ctrl/pppoe/CMakeFiles/pppoe.dir/pppoe.c.o
[ 66%] Building C object accel-pppd/ctrl/pppoe/CMakeFiles/pppoe.dir/mac_filter.c.o
[ 67%] Building C object accel-pppd/ctrl/pppoe/CMakeFiles/pppoe.dir/dpado.c.o
[ 69%] Building C object accel-pppd/ctrl/pppoe/CMakeFiles/pppoe.dir/cli.c.o
[ 70%] Building C object accel-pppd/ctrl/pppoe/CMakeFiles/pppoe.dir/tr101.c.o
Linking C shared library libpppoe.so
[ 70%] Built target pppoe
[ 71%] Building C object accel-pppd/ctrl/l2tp/CMakeFiles/l2tp.dir/l2tp.c.o
[ 73%] Building C object accel-pppd/ctrl/l2tp/CMakeFiles/l2tp.dir/dict.c.o
[ 74%] Building C object accel-pppd/ctrl/l2tp/CMakeFiles/l2tp.dir/packet.c.o
Linking C shared library libl2tp.so
[ 74%] Built target l2tp
[ 76%] Building C object accel-pppd/auth/CMakeFiles/auth_chap_md5.dir/auth_chap_md5.c.o
Linking C shared library libauth_chap_md5.so                                                                                                                                        
[ 76%] Built target auth_chap_md5
[ 77%] Building C object accel-pppd/auth/CMakeFiles/auth_mschap_v1.dir/auth_mschap_v1.c.o
Linking C shared library libauth_mschap_v1.so
[ 77%] Built target auth_mschap_v1
[ 78%] Building C object accel-pppd/auth/CMakeFiles/auth_mschap_v2.dir/auth_mschap_v2.c.o
Linking C shared library libauth_mschap_v2.so
[ 78%] Built target auth_mschap_v2
[ 80%] Building C object accel-pppd/auth/CMakeFiles/auth_pap.dir/auth_pap.c.o
Linking C shared library libauth_pap.so
[ 80%] Built target auth_pap
[ 81%] Building C object accel-pppd/logs/CMakeFiles/log_file.dir/log_file.c.o
Linking C shared library liblog_file.so
[ 81%] Built target log_file
[ 83%] Building C object accel-pppd/logs/CMakeFiles/log_syslog.dir/log_syslog.c.o
Linking C shared library liblog_syslog.so
[ 83%] Built target log_syslog
[ 84%] Building C object accel-pppd/logs/CMakeFiles/log_tcp.dir/log_tcp.c.o
Linking C shared library liblog_tcp.so
[ 84%] Built target log_tcp
[ 85%] Building C object accel-pppd/extra/CMakeFiles/chap-secrets.dir/chap-secrets.c.o
Linking C shared library libchap-secrets.so
[ 85%] Built target chap-secrets
[ 87%] Building C object accel-pppd/extra/CMakeFiles/connlimit.dir/connlimit.c.o
Linking C shared library libconnlimit.so
[ 87%] Built target connlimit
[ 88%] Building C object accel-pppd/extra/CMakeFiles/ippool.dir/ippool.c.o
Linking C shared library libippool.so
[ 88%] Built target ippool
[ 90%] Building C object accel-pppd/extra/CMakeFiles/ipv6pool.dir/ipv6pool.c.o
Linking C shared library libipv6pool.so
[ 90%] Built target ipv6pool
[ 91%] Building C object accel-pppd/extra/CMakeFiles/logwtmp.dir/logwtmp.c.o
Linking C shared library liblogwtmp.so
[ 91%] Built target logwtmp
[ 92%] Building C object accel-pppd/extra/CMakeFiles/pppd_compat.dir/pppd_compat.c.o
Linking C shared library libpppd_compat.so
[ 92%] Built target pppd_compat
[ 94%] Building C object accel-pppd/extra/CMakeFiles/shaper_tbf.dir/shaper_tbf.c.o
Linking C shared library libshaper_tbf.so
[ 94%] Built target shaper_tbf
[ 95%] Building C object accel-pppd/extra/CMakeFiles/sigchld.dir/sigchld.c.o
Linking C shared library libsigchld.so
[ 95%] Built target sigchld
[ 97%] Building C object accel-pppd/ipv6/CMakeFiles/ipv6_dhcp.dir/dhcpv6.c.o
[ 98%] Building C object accel-pppd/ipv6/CMakeFiles/ipv6_dhcp.dir/dhcpv6_packet.c.o
Linking C shared library libipv6_dhcp.so
[ 98%] Built target ipv6_dhcp
[[100%]] Building C object accel-pppd/ipv6/CMakeFiles/ipv6_nd.dir/nd.c.o
Linking C shared library libipv6_nd.so
[[100%]] Built target ipv6_nd
compilation.txt · Last modified: 2017/01/19 08:12 by dimka88