install_ffead-cpp-dependencies.sh 3.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  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. #mkdir -p /usr/lib/x86_64-linux-gnu/odbc
  33. #wget -q https://downloads.mysql.com/archives/get/p/10/file/mysql-connector-odbc-8.0.19-linux-ubuntu18.04-x86-64bit.tar.gz
  34. #tar xf mysql-connector-odbc-8.0.19-linux-ubuntu18.04-x86-64bit.tar.gz
  35. #mv mysql-connector-odbc-8.0.19-linux-ubuntu18.04-x86-64bit/lib/libmyodbc8* /usr/lib/x86_64-linux-gnu/odbc/
  36. #mysql-connector-odbc-8.0.19-linux-ubuntu18.04-x86-64bit/bin/myodbc-installer -d -a -n "MySQL" -t "DRIVER=/usr/lib/x86_64-linux-gnu/odbc/libmyodbc8w.so;"
  37. #rm -f mysql-connector-odbc-8.0.19-linux-ubuntu18.04-x86-64bit.tar.gz
  38. #rm -rf mysql-connector-odbc-8.0.19-linux-ubuntu18.04-x86-64bit
  39. #wget -q https://cdn.mysql.com/archives/mysql-connector-odbc-5.3/mysql-connector-odbc-5.3.11-linux-ubuntu16.04-x86-64bit.tar.gz
  40. #tar xf mysql-connector-odbc-5.3.11-linux-ubuntu16.04-x86-64bit.tar.gz
  41. #mv mysql-connector-odbc-5.3.11-linux-ubuntu16.04-x86-64bit/lib/libmyodbc5* /usr/lib/x86_64-linux-gnu/odbc/
  42. #mysql-connector-odbc-5.3.11-linux-ubuntu16.04-x86-64bit/bin/myodbc-installer -d -a -n "MySQL" -t "DRIVER=/usr/lib/x86_64-linux-gnu/odbc/libmyodbc5w.so;"
  43. #rm -f mysql-connector-odbc-5.3.11-linux-ubuntu16.04-x86-64bit.tar.gz
  44. #rm -rf mysql-connector-odbc-5.3.11-linux-ubuntu16.04-x86-64bit
  45. wget -q https://github.com/mongodb/mongo-c-driver/releases/download/1.4.2/mongo-c-driver-1.4.2.tar.gz
  46. tar xf mongo-c-driver-1.4.2.tar.gz
  47. rm -f mongo-c-driver-1.4.2.tar.gz
  48. cd mongo-c-driver-1.4.2/ && \
  49. ./configure --disable-automatic-init-and-cleanup && \
  50. make && make install
  51. cd $IROOT
  52. rm -rf mongo-c-driver-1.4.2
  53. wget -q https://github.com/redis/hiredis/archive/v1.0.0.tar.gz
  54. tar xf v1.0.0.tar.gz
  55. rm -f v1.0.0.tar.gz
  56. cd hiredis-1.0.0/
  57. cmake . && make install
  58. cd $IROOT
  59. rm -rf hiredis-1.0.0
  60. cd $IROOT
  61. wget -q https://github.com/microsoft/mimalloc/archive/v1.6.3.tar.gz
  62. tar xf v1.6.3.tar.gz
  63. rm -f v1.6.3.tar.gz
  64. cd mimalloc-1.6.3
  65. mkdir -p out/release
  66. cd out/release
  67. cmake ../.. -DCMAKE_BUILD_TYPE=Release
  68. make && make install
  69. cd $IROOT
  70. rm -rf mimalloc-1.6.3
  71. wget -q https://github.com/microsoft/snmalloc/archive/0.4.2.tar.gz
  72. tar xf 0.4.2.tar.gz
  73. rm -f 0.4.2.tar.gz
  74. cd snmalloc-0.4.2
  75. mkdir build
  76. cd build
  77. cmake -G Ninja .. -DCMAKE_BUILD_TYPE=Release
  78. ninja
  79. cd $IROOT