-
Notifications
You must be signed in to change notification settings - Fork 146
/
Copy pathINSTALL
162 lines (143 loc) · 7.16 KB
/
INSTALL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
Moving to the new cmake based build system from autoconf/automake
Prerequisits
============
Before trying to compile ffead-cpp make sure you have installed the
following software packages:
o cmake >= 3.8.2
o c++ compiler supporting c++17
o ssl libraries (including ssl-devel/ssl-dev/openssl-devel/openssl-dev/libssl-dev)
o unixodbc (including unixodbc-devel/unixodbc-dev/unixodbc)
o hiredis
o mongo-c-driver
o libmemcached
o zlib-devel
o libcurl
o libuuid-devel
o libcuckoo
cd /tmp
wget -q https://github.com/efficient/libcuckoo/archive/master.zip
unzip master.zip
rm -f master.zip
cd /tmp/libcuckoo-master
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/ .
make install
cd /tmp
rm -rf /tmp/libcuckoo-master
Dependencies
============
Centos 7 (1810)
yum install -y --nogpgcheck tar centos-release-scl centos-release-scl-rh epel-release
yum install -y --nogpgcheck autoconf-archive scl-utils devtoolset-7 cmake3 libcurl libcurl-devel openssl openssl-devel libuuid-devel hiredis hiredis-devel zlib zlib-devel libmemcached libmemcached-devel unixODBC* tar gzip wget nmap-ncat
#Add this line to ~/.bashrc or ~/.bash_profile
source /opt/rh/devtoolset-2/enable
ln -s /usr/bin/cmake3 /usr/bin/cmake
#Download and install mongo c driver
cd /tmp
wget -q https://github.com/mongodb/mongo-c-driver/releases/download/1.4.0/mongo-c-driver-1.4.0.tar.gz
tar xf mongo-c-driver-1.4.0.tar.gz
cd mongo-c-driver-1.4.0/ && ./configure --disable-automatic-init-and-cleanup && make && make install
cd /tmp
rm -rf mongo-c-driver-1.4.0 mongo-c-driver-1.4.0.tar.gz
OpenSuse 15 (Tumbleweed)
zypper in -y autoconf-archive gcc gcc-c++ make cmake libcurl-devel hiredis-devel openssl openssl-devel libmemcached-devel zlib-devel libuuid-devel unixODBC unixODBC-devel unzip wget netcat-openbsd tar gzip
#Download and install mongo c driver
cd /tmp
wget -q https://github.com/mongodb/mongo-c-driver/releases/download/1.4.0/mongo-c-driver-1.4.0.tar.gz
tar xf mongo-c-driver-1.4.0.tar.gz
cd mongo-c-driver-1.4.0/ && ./configure --disable-automatic-init-and-cleanup && make && make install
Ubuntu 18.04.2
apt update -yqq && apt install -yqq autoconf-archive gcc g++ cmake unzip libssl-dev uuid-dev odbc-postgresql unixodbc unixodbc-dev libcurl4-openssl-dev libmemcached-dev libmongoc-dev libhiredis-dev wget netcat
Arch Linux
pacman -Sy --noconfirm autoconf-archive make clang unixodbc curl hiredis libmemcached mongo-c-driver cmake openssh util-linux-libs wget gnu-netcat tar gzip zlib unzip gawk procps-ng
Gentoo
emerge-webrsync
emerge dev-db/unixODBC curl dev-libs/hiredis libmemcached cmake wget netcat tar gzip zlib sys-devel/autoconf-archive
#Download and install mongo c driver
cd /tmp
wget -q https://github.com/mongodb/mongo-c-driver/releases/download/1.4.0/mongo-c-driver-1.4.0.tar.gz
tar xf mongo-c-driver-1.4.0.tar.gz
cd mongo-c-driver-1.4.0/ && ./configure --disable-automatic-init-and-cleanup && make && make install
MAC OS X - To install all dependencies on MAC OS X use,
#Make sure Xcode is installed or at-least the Command line tools are present
xcode-select --install
open /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg (for Mojave)
#Install homebrew first using,
ruby -e "$(curl -fsSL https://raw.github.com/mxcl/homebrew/go/install)"
#Install autoconf libtool automake
brew install autoconf libtool automake autoconf-archive
#Install cmake
brew install cmake
#Install openssl
brew install openssl
#Install unixodbc
brew install unixodbc
#Install other libraries
brew install libmongoc
brew install hiredis
brew install libmemcached
brew reinstall -s httpd24
BSD(x86/x86_64) - To install all dependencies on bsd systems use,
Using pkg, (Tested with https://app.vagrantup.com/freebsd/boxes/FreeBSD-12.0-RELEASE)
pkg install autoconf-archive wget openssl hiredis libmemcached e2fsprogs-libuuid cmake unzip perl5 unixODBC
Using ports,
#If you have not installed sources during install of freebsd then,
fetch -o /tmp ftp://ftp.freebsd.org/pub/`uname -s`/releases/`uname -m`/`uname -r | cut -d'-' -f1,2`/src.txz
tar -C / -xvf /tmp/src.txz
portsnap fetch extract
cd /usr/ports/devel/cmake && make install clean
cd /usr/ports/security/openssl && make install clean
cd /usr/ports/databases/unixODBC && make install clean
cd /usr/ports/databases/hiredis && make install clean
cd /usr/ports/databases/libmemcached && make install clean
cd /usr/ports/ftp/wget && make install clean
cd /usr/ports/misc/e2fsprogs-libuuid && make install clean
cd /usr/ports/lang/perl5.16 && make install clean
#Download and install mongo c driver
cd /tmp
wget -q https://github.com/mongodb/mongo-c-driver/releases/download/1.4.0/mongo-c-driver-1.4.0.tar.gz
tar xf mongo-c-driver-1.4.0.tar.gz
cd mongo-c-driver-1.4.0/ && ./configure --disable-automatic-init-and-cleanup && make && make install
SOLARIS - To install all dependencies on solaris(OpenCSW) use,
`pkgutil -y -i autoconf automake libtool unixodbc unixodbc_dev libssl1_0_0 libssl_dev cmake curl wget unzip tar gzip zlib`
Windows (Incomplete)
Install msys from https://www.msys2.org/ (x86_64)
Open the msys shell and not windows mingw64 shell
pacman -S automake autoconf make mingw-w64-x86_64-gcc mingw-w64-x86_64-gdb mingw-w64-x86_64-SDL mingw-w64-x86_64-SDL_ttf
pacman -S msys/gcc 7.3.0-1 msys/cmake
pacman -S mingw64/mingw-w64-x86_64-cmake msys/libutil-linux-devel msys/openssl-devel msys/libcurl-devel
pacman -S wget tar unzip mingw64/mingw-w64-x86_64-unixodbc
#Download and install mongo c driver
Change the following section in mongo-c-driver-1.4.0/src/Makefile to
`if OS_WIN32
MONGOC_LIBADD_SHARED += -lws2_32 -lcrypt32
endif`
Notice the addition of -lcrypt32
cd /tmp
wget -q https://github.com/mongodb/mongo-c-driver/releases/download/1.4.0/mongo-c-driver-1.4.0.tar.gz
tar xf mongo-c-driver-1.4.0.tar.gz
cd mongo-c-driver-1.4.0/ && ./configure --disable-automatic-init-and-cleanup && make && make install
OTHERS - haven't tested on any other platform/os yet
Installation Names
==================
By default, `make install' will install the package's files in
`./ffead-cpp-${version}-bin' etc. The option option `--prefix=PATH' is ignored.
Optional Features
=================
To create a binary for debugging purposes use
cmake -DDEBUG=on .
Modules (Features)
==================
-DMOD_JOBS=on/off (To enable/disable Batch/CRON jobs module)
-DMOD_MEMORY=on/off (To enable/disable Memory cache module)
-DMOD_MEMCACHED=on/off (To enable/disable memcached cache module)
-DMOD_REDIS=on/off (To enable/disable redis cache module)
-DMOD_SDORM_SQL=on/off (To enable/disable sql orm module)
-DMOD_SDORM_MONGO=on/off (To enable/disable mongo orm module)
-DMOD_SER_BIN=on/off (To enable/disable binary serialization module)
gdbinit for Alpine gdb
`python
import sys
sys.path.insert(0, '/usr/share/gcc-10.3.1/python/')
from libstdcxx.v6.printers import register_libstdcxx_printers
register_libstdcxx_printers (None)
end`