123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- FROM centos:centos7.2.1511
- RUN yum install -y wget pcre pcre-devel gcc gcc-c++ make zlib-devel sudo openssh-server vim lrzsz openssl-devel &&\
- yum install -y crypto-policies snappy-devel psmisc git epel-release jq && \
- yum install -y autoconf automake libtool gcc-gfortran bzip2 jq &&\
- yum clean all && \
- cd /usr/local &&\
- wget http://storage.jd.com/lbs-search-acc/gcc-4.9.3.tar.bz2 &&\
- tar jxvf gcc-4.9.3.tar.bz2 &&\
- cd gcc-4.9.3 &&\
- wget http://storage.jd.com/lbs-search-acc/mpfr-2.4.2.tar.bz2 &&\
- wget http://storage.jd.com/lbs-search-acc/gmp-4.3.2.tar.bz2 &&\
- wget http://storage.jd.com/lbs-search-acc/mpc-0.8.1.tar.gz &&\
- wget http://storage.jd.com/lbs-search-acc/isl-0.12.2.tar.bz2 &&\
- wget http://storage.jd.com/lbs-search-acc/cloog-0.18.1.tar.gz &&\
- wget http://storage.jd.com/lbs-search-acc/download_prerequisites &&\
- mv download_prerequisites ./contrib/download_prerequisites &&\
- chmod +x ./contrib/download_prerequisites &&\
- ./contrib/download_prerequisites &&\
- cd .. &&\
- mkdir build-gcc &&\
- cd build-gcc &&\
- ../gcc-4.9.3/configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-linker-hash-style=gnu --enable-languages=c,c++ --enable-plugin --enable-initfini-array --disable-libgcj --enable-gnu-indirect-function --with-tune=generic --disable-multilib &&\
- make -j8 &&\
- make install
- RUN useradd --create-home --no-log-init --shell /bin/bash isearch && echo "isearch:isearch" | chpasswd && \
- mkdir -p /env/app &&\
- cd /env/app/ &&\
- wget --no-check-certificate https://cmake.org/files/v3.21/cmake-3.21.2.tar.gz &&\
- tar xf cmake-3.21.2.tar.gz &&\
- cd /env/app/cmake-3.21.2 &&\
- ./bootstrap &&\
- gmake &&\
- gmake install &&\
- cd /usr/bin &&\
- ln -s cmake3 cmake
- RUN cd /usr/local &&\
- git clone https://github.com/facebook/rocksdb.git &&\
- cd rocksdb &&\
- git checkout -b 6.6.0 ad528fe5ca08dafff47d79c85abbf3e1fbb21568 &&\
- make shared_lib &&\
- ln -s /usr/local/rocksdb/librocksdb.so.6.6.0 /lib64/librocksdb.so.6 &&\
- cd /usr/local &&\
- git clone https://github.com/gflags/gflags.git &&\
- cd gflags &&\
- git checkout -b 2.2 v2.2.2 &&\
- cmake -DCMAKE_INSTALL_PREFIX=/usr/local -DBUILD_SHARED_LIBS=ON -DGFLAGS_NAMESPACE=google -G "Unix Makefiles" . &&\
- make && make install &&\
- ldconfig &&\
- ln -s /usr/local/lib/libgflags.so.2.2 /lib64
- RUN yum install -y unzip gcc-gfortran && cd /usr/local &&\
- wget http://storage.jd.com/lbs-search-acc/protobuf-3.12.2.zip &&\
- unzip protobuf-3.12.2.zip &&\
- cd protobuf-3.12.2 &&\
- ./autogen.sh &&\
- ./configure &&\
- make -j8 && make install &&\
- ln -s /usr/local/lib/libprotobuf.so.23.0.2 /lib64/libprotobuf.so.23 &&\
- ln -s /usr/local/lib/libprotoc.so.23.0.2 /lib64/libprotoc.so.23
- RUN yum install openblas-devel.x86_64 -y && cd /usr/local &&\
- wget http://storage.jd.com/lbs-search-acc/lapack-3.10.0.tar.gz &&\
- tar zxvf lapack-3.10.0.tar.gz &&\
- cd lapack-3.10.0 &&\
- mkdir build &&\
- cd build &&\
- cmake -DCMAKE_INSTALL_LIBDIR=$HOME/.local/lapack .. &&\
- cmake --build . -j --target install &&\
- ln -s /usr/local/lapack-3.10.0/build/lib/liblapack.a /lib64/ &&\
- cd /usr/local &&\
- wget http://storage.jd.com/lbs-search-acc/faiss-main.zip &&\
- unzip faiss-main.zip &&\
- cd faiss-main &&\
- cmake -B build . -DFAISS_ENABLE_GPU=OFF -DFAISS_ENABLE_PYTHON=OFF -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=OFF -DBUILD_SHARED_LIBS=ON -DBLA_VENDOR=Generic -DBLAS_LIBRARIES=/lib64/libopenblas.so -DLAPACK_LIBRARIES=/lib64/liblapack.a &&\
- cd build/ &&\
- make -j8 && make install &&\
- ln -s /usr/local/faiss-main/build/faiss/libfaiss.so /lib64/
|