CARVIEW |
Select Language
HTTP/2 200
date: Fri, 18 Jul 2025 16:46:28 GMT
content-type: text/html; charset=utf-8
vary: X-PJAX, X-PJAX-Container, Turbo-Visit, Turbo-Frame, X-Requested-With,Accept-Encoding, Accept, X-Requested-With
etag: W/"bde362d4cf8512003a20c223b5a855b8"
cache-control: max-age=0, private, must-revalidate
strict-transport-security: max-age=31536000; includeSubdomains; preload
x-frame-options: deny
x-content-type-options: nosniff
x-xss-protection: 0
referrer-policy: no-referrer-when-downgrade
content-security-policy: default-src 'none'; base-uri 'self'; child-src github.githubassets.com github.com/assets-cdn/worker/ github.com/assets/ gist.github.com/assets-cdn/worker/; connect-src 'self' uploads.github.com www.githubstatus.com collector.github.com raw.githubusercontent.com api.github.com github-cloud.s3.amazonaws.com github-production-repository-file-5c1aeb.s3.amazonaws.com github-production-upload-manifest-file-7fdce7.s3.amazonaws.com github-production-user-asset-6210df.s3.amazonaws.com *.rel.tunnels.api.visualstudio.com wss://*.rel.tunnels.api.visualstudio.com objects-origin.githubusercontent.com copilot-proxy.githubusercontent.com proxy.individual.githubcopilot.com proxy.business.githubcopilot.com proxy.enterprise.githubcopilot.com *.actions.githubusercontent.com wss://*.actions.githubusercontent.com productionresultssa0.blob.core.windows.net/ productionresultssa1.blob.core.windows.net/ productionresultssa2.blob.core.windows.net/ productionresultssa3.blob.core.windows.net/ productionresultssa4.blob.core.windows.net/ productionresultssa5.blob.core.windows.net/ productionresultssa6.blob.core.windows.net/ productionresultssa7.blob.core.windows.net/ productionresultssa8.blob.core.windows.net/ productionresultssa9.blob.core.windows.net/ productionresultssa10.blob.core.windows.net/ productionresultssa11.blob.core.windows.net/ productionresultssa12.blob.core.windows.net/ productionresultssa13.blob.core.windows.net/ productionresultssa14.blob.core.windows.net/ productionresultssa15.blob.core.windows.net/ productionresultssa16.blob.core.windows.net/ productionresultssa17.blob.core.windows.net/ productionresultssa18.blob.core.windows.net/ productionresultssa19.blob.core.windows.net/ github-production-repository-image-32fea6.s3.amazonaws.com github-production-release-asset-2e65be.s3.amazonaws.com insights.github.com wss://alive.github.com api.githubcopilot.com api.individual.githubcopilot.com api.business.githubcopilot.com api.enterprise.githubcopilot.com; font-src github.githubassets.com; form-action 'self' github.com gist.github.com copilot-workspace.githubnext.com objects-origin.githubusercontent.com; frame-ancestors 'none'; frame-src viewscreen.githubusercontent.com notebooks.githubusercontent.com; img-src 'self' data: blob: github.githubassets.com media.githubusercontent.com camo.githubusercontent.com identicons.github.com avatars.githubusercontent.com private-avatars.githubusercontent.com github-cloud.s3.amazonaws.com objects.githubusercontent.com release-assets.githubusercontent.com secured-user-images.githubusercontent.com/ user-images.githubusercontent.com/ private-user-images.githubusercontent.com opengraph.githubassets.com copilotprodattachments.blob.core.windows.net/github-production-copilot-attachments/ github-production-user-asset-6210df.s3.amazonaws.com customer-stories-feed.github.com spotlights-feed.github.com objects-origin.githubusercontent.com *.githubusercontent.com; manifest-src 'self'; media-src github.com user-images.githubusercontent.com/ secured-user-images.githubusercontent.com/ private-user-images.githubusercontent.com github-production-user-asset-6210df.s3.amazonaws.com gist.github.com; script-src github.githubassets.com; style-src 'unsafe-inline' github.githubassets.com; upgrade-insecure-requests; worker-src github.githubassets.com github.com/assets-cdn/worker/ github.com/assets/ gist.github.com/assets-cdn/worker/
server: github.com
content-encoding: gzip
accept-ranges: bytes
set-cookie: _gh_sess=df%2BwyMRXEgnT%2FuC6dZzwbRrMXKGKj5J8girrSyiUgbSnQ29aVZ5ok8dn8wqDhEpUaia8ZryGXpC%2BDLmm4fGthKixbhFYGN4mvXaBIN1tUkfCr6o%2BD49j0VBKs0bAxfyXW%2FvX%2BMJo5ewZvVJ%2Fe09m4VQBR17l9IgMeOW4XxOyLWeWQm8f78eNoEzhVbKP8NJX5lcwS%2B4hB7dVpwN3mOjGivHFjnUVDNyREk3hHp%2Bx4UUJcGKLKk9BBdpvBzIHLXOVNvRSWPrhYWZ2Br%2F1YWiR9Q%3D%3D--MjSUdN5nnSekA4Hb--R0Y9CkOTSr0FxJGiFbiPGA%3D%3D; Path=/; HttpOnly; Secure; SameSite=Lax
set-cookie: _octo=GH1.1.1594976708.1752857188; Path=/; Domain=github.com; Expires=Sat, 18 Jul 2026 16:46:28 GMT; Secure; SameSite=Lax
set-cookie: logged_in=no; Path=/; Domain=github.com; Expires=Sat, 18 Jul 2026 16:46:28 GMT; HttpOnly; Secure; SameSite=Lax
x-github-request-id: 8482:256361:ACD72:D0699:687A7A64
Prerequisites · sumeetchhetri/ffead-cpp Wiki · GitHub
Skip to content
Navigation Menu
{{ message }}
-
Notifications
You must be signed in to change notification settings - Fork 149
Prerequisites
Sumeet Chhetri edited this page Feb 24, 2020
·
7 revisions
Before trying to compile ffead-cpp make sure you have installed the following software packages,
- c++ compiler
- autotools/cmake
- openssl & openssl-devel (ssl libraries)
- zlib & zilb-devel
- libcurl
- concurrentqueue (https://github.com/cameron314/concurrentqueue)
- picohttpparser (https://github.com/h2o/picohttpparser) (customized)
- libyuarel (https://github.com/jacketizer/libyuarel) (customized)
To use the ORM feature provided by the sdorm module, you would also need a couple of additional libraries,
- unixodbc (for SQL databases)
- mongoc/bson (for mongodb)
- libuuid
To use the caching feature provided by the cache module, you need,
- libmemcached, libmemcachedutil and libmemcachedprotocol (for memcached)
- libhiredis (for redis)
Install libcuckoo header files
cd /tmp
wget 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
Dependency intsallation for Operating Systems
MAC OS X
#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
#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
BSD
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
cd /usr/ports/security/openssl && make install
cd /usr/ports/databases/unixODBC && make install
cd /usr/ports/databases/hiredis && make install
cd /usr/ports/databases/libmemcached && make install
cd /usr/ports/ftp/wget && make install
cd /usr/ports/misc/e2fsprogs-libuuid && make install
Redhat/Centos
yum install -y --nogpgcheck tar centos-release-scl centos-release-scl-rh epel-release
yum install -y --nogpgcheck 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
scl enable devtoolset-7 bash
mv /usr/bin/cc /usr/bin/cc_old
ln -s /opt/rh/devtoolset-7/root/usr/bin/gcc /usr/bin/cc
ln -s /opt/rh/devtoolset-7/root/usr/bin/g++ /usr/bin/c++
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 --prefix=/usr/local --libdir=/usr/local --disable-automatic-init-and-cleanup && \
make && make install
Ubuntu/Debian
apt update -yqq && apt install -yqq 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 make clang unixodbc curl hiredis libmemcached mongo-c-driver cmake openssh libutil-linux 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
#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 --prefix=/usr/local --libdir=/usr/local --disable-automatic-init-and-cleanup && \
make && make install
OpenSuse
zypper in -y 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 --prefix=/usr/local --libdir=/usr/local --disable-automatic-init-and-cleanup && \
make && make install
CYGWIN(x86)
To install dependencies on cygwin use the cygwin setup.exe/setup-x86.exe to add required packages, package names are,
gcc-g++
autoconf (select all 3 packages - Wrapper scripts, Script builder and Extension package of m4 macros)
automake (select all packages including versions 1.10 through to the recent one and the Wrapper scripts)
bison,yacc,flex,gdb,readline,binutils
libtool, libltdl
#Download ftp://ftp.unixodbc.org/pub/unixODBC/unixODBC-2.3.2.tar.gz
then "./configure" and "make install" as usual
#Download openssl source code from https://github.com/openssl/openssl
then "./configure" and "make install" as usual
#You can even downloand and build/install openssl/unixODBC yourself
MINGW(x86)
#Install mingw and msys
mingw-get update(command line)
#Then using the MinGW installation Manager or command line install the beloe mentioned packages
mingw-get install mingw-developer-toolkit(command line)
#Make sure you have autotools, autoconf, automake, libtool, libltdl, gcc, gcc-c++ installed
mingw-get install msys-base(command line)
mingw-get install mingw32-libpthreadgc(command line)
mingw-get install mingw32-libz(command line)
mingw-get install mingw32-zlib(command line)
#Download ftp://ftp.unixodbc.org/pub/unixODBC/unixODBC-2.3.2.tar.gz and make the following changes to the following files in the uniODBC distribution
- uodbc_extras.h (comment line 76 - extern int strncasecmp (const char *s1, const char *s2, int n );)
- include/ini.h (add the below lines before the last #endif
#define EOVERFLOW 139
#define EWOULDBLOCK EAGAIN
)
then "./configure" and "make install" as usual
#Download the latest source ditsribution from https://code.google.com/p/dlfcn-win32
then "./configure --enable-static=yes --enable-shared=yes" and "make install"
#Follow instructions at https://go.kblog.us/2009/07/mingw-porting-gnu-regex-to-windows.html to install libregex in mingw
#Follow instructions at https://qt-project.org/wiki/Compiling-OpenSSL-with-MinGW to install openssl libraries and development files in mingw
#Warning - installing msys regex/openssl libraries would not be useful here as we will be natively building ffead-cpp on mingw and hence we need mingw compiled libraries
MINGW-W64
Setup autoconf, automake and libtool, Download
https://ftp.gnu.org/gnu/autoconf/autoconf-2.65.tar.gz
https://ftp.gnu.org/gnu/automake/automake-1.11.1.tar.gz
https://ftp.gnu.org/gnu/libtool/libtool-2.4.tar.gz
extract each and run './configure --prefix=/mingw && make install'
Setup OpenSSL, Download and extract
https://github.com/openssl/openssl/releases
./Configure -—prefix=/mingw no-idea no-mdc2 no-rc5 shared mingw64
make depend && make && make install
Clone this wiki locally
You can’t perform that action at this time.