install_ffead-cpp-dependencies.sh 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. #!/bin/bash
  2. apt update -yqq && apt install --no-install-recommends -yqq autoconf-archive unzip uuid-dev odbc-postgresql unixodbc unixodbc-dev \
  3. apache2 apache2-dev libapr1-dev libaprutil1-dev memcached libmemcached-dev redis-server libssl-dev \
  4. zlib1g-dev cmake make clang-format-9 ninja-build libcurl4-openssl-dev libpq-dev git \
  5. wget build-essential pkg-config libpcre3-dev curl libgtk2.0-dev libgdk-pixbuf2.0-dev
  6. apt-get install --reinstall ca-certificates
  7. mkdir /usr/local/share/ca-certificates/cacert.org
  8. wget -P /usr/local/share/ca-certificates/cacert.org http://www.cacert.org/certs/root.crt http://www.cacert.org/certs/class3.crt
  9. update-ca-certificates
  10. git config --global http.sslCAinfo /etc/ssl/certs/ca-certificates.crt
  11. #redis will not start correctly on bionic with this config
  12. sed -i "s/bind .*/bind 127.0.0.1/g" /etc/redis/redis.conf
  13. echo never > /sys/kernel/mm/transparent_hugepage/enabled
  14. echo 'echo never > /sys/kernel/mm/transparent_hugepage/enabled' >> /etc/rc.local
  15. sysctl vm.overcommit_memory=1
  16. service apache2 stop
  17. service memcached stop
  18. service redis-server stop
  19. cd $IROOT
  20. git clone https://github.com/efficient/libcuckoo.git
  21. cd libcuckoo
  22. git checkout 8785773896d74f72b6224e59d37f5f8c3c1e022a -b works
  23. cmake -DCMAKE_INSTALL_PREFIX=/usr .
  24. make install
  25. cd $IROOT
  26. rm -rf libcuckoo
  27. wget -q https://downloads.mysql.com/archives/get/p/10/file/mysql-connector-odbc_8.0.21-1ubuntu20.04_amd64.deb
  28. dpkg -i mysql-connector-odbc_8.0.21-1ubuntu20.04_amd64.deb
  29. wget -q https://downloads.mysql.com/archives/get/p/10/file/mysql-connector-odbc-setup_8.0.21-1ubuntu20.04_amd64.deb
  30. dpkg -i mysql-connector-odbc-setup_8.0.21-1ubuntu20.04_amd64.deb
  31. rm -f *.deb
  32. wget -q https://github.com/mongodb/mongo-c-driver/releases/download/1.4.2/mongo-c-driver-1.4.2.tar.gz
  33. tar xf mongo-c-driver-1.4.2.tar.gz
  34. rm -f mongo-c-driver-1.4.2.tar.gz
  35. cd mongo-c-driver-1.4.2/ && \
  36. ./configure --disable-automatic-init-and-cleanup && \
  37. make && make install
  38. cd $IROOT
  39. rm -rf mongo-c-driver-1.4.2
  40. wget -q https://github.com/redis/hiredis/archive/v1.0.0.tar.gz
  41. tar xf v1.0.0.tar.gz
  42. rm -f v1.0.0.tar.gz
  43. cd hiredis-1.0.0/
  44. cmake . && make install
  45. cd $IROOT
  46. rm -rf hiredis-1.0.0
  47. cd $IROOT
  48. wget -q https://github.com/microsoft/mimalloc/archive/v1.6.3.tar.gz
  49. tar xf v1.6.3.tar.gz
  50. rm -f v1.6.3.tar.gz
  51. cd mimalloc-1.6.3
  52. mkdir -p out/release
  53. cd out/release
  54. cmake ../.. -DCMAKE_BUILD_TYPE=Release
  55. make && make install
  56. cd $IROOT
  57. rm -rf mimalloc-1.6.3
  58. wget -q https://github.com/microsoft/snmalloc/archive/0.4.2.tar.gz
  59. tar xf 0.4.2.tar.gz
  60. rm -f 0.4.2.tar.gz
  61. cd snmalloc-0.4.2
  62. mkdir build
  63. cd build
  64. cmake -G Ninja .. -DCMAKE_BUILD_TYPE=Release
  65. ninja
  66. cd $IROOT