@@ -7,9 +7,22 @@ docker run --name travis-ci -v $TRAVIS_BUILD_DIR:/primitiv-python -td debian:sta
77
88# install
99docker exec travis-ci bash -c " apt update"
10- docker exec travis-ci bash -c " apt install -y git build-essential cmake python3-dev python3-pip python3-numpy libeigen3-dev "
10+ docker exec travis-ci bash -c " apt install -y git build-essential cmake python3-dev python3-pip python3-numpy"
1111docker exec travis-ci bash -c " pip3 install cython scikit-build"
1212
13+ # TODO(vbkaisetsu):
14+ # Debian stretch contains Eigen 3.3.2. It has a bug around EIGEN_MPL2_ONLY
15+ # mode and SparseCholesky module. It is fixed in newer version.
16+ #
17+ # For more details, see: http://eigen.tuxfamily.org/bz/show_bug.cgi?id=1392
18+
19+ # install Eigen
20+ docker exec travis-ci bash -c " apt install -y mercurial"
21+ docker exec travis-ci bash -c " hg clone https://bitbucket.org/eigen/eigen"
22+ docker exec travis-ci bash -c " mkdir ./eigen/build"
23+ docker exec travis-ci bash -c " cd ./eigen/build && cmake .."
24+ docker exec travis-ci bash -c " cd ./eigen/build && make && make install"
25+
1326# install OpenCL environment
1427docker exec travis-ci bash -c " apt install -y opencl-headers libclblas-dev pkg-config libhwloc-dev libltdl-dev ocl-icd-dev ocl-icd-opencl-dev clang-3.8 llvm-3.8-dev libclang-3.8-dev libz-dev"
1528# pocl 0.13 does not contain mem_fence() function that is used by primitiv.
@@ -28,16 +41,16 @@ if [ "${WITH_CORE_LIBRARY}" = "yes" ]; then
2841 docker exec travis-ci bash -c " cd /primitiv-python && ./setup.py sdist --bundle-core-library"
2942
3043 docker exec travis-ci bash -c " pip3 install /primitiv-python/dist/primitiv-*.tar.gz --verbose --global-option --enable-eigen --global-option --enable-opencl"
31- docker exec travis-ci bash -c " python3 -c 'import primitiv; dev = primitiv.devices.Naive(); dev = primitiv.devices.Eigen(); dev = primitiv.devices.OpenCL() '"
44+ docker exec travis-ci bash -c " python3 -c 'import primitiv; dev = primitiv.devices.Naive(); dev = primitiv.devices.Eigen()'"
3245 docker exec travis-ci bash -c " pip3 uninstall -y primitiv"
3346
3447 docker exec travis-ci bash -c " pip3 install --user /primitiv-python/dist/primitiv-*.tar.gz --verbose --global-option --enable-eigen --global-option --enable-opencl"
35- docker exec travis-ci bash -c " python3 -c 'import primitiv; dev = primitiv.devices.Naive(); dev = primitiv.devices.Eigen(); dev = primitiv.devices.OpenCL() '"
48+ docker exec travis-ci bash -c " python3 -c 'import primitiv; dev = primitiv.devices.Naive(); dev = primitiv.devices.Eigen()'"
3649 docker exec travis-ci bash -c " pip3 uninstall -y primitiv"
3750
3851 # test installing by "./setup.py install"
3952 docker exec travis-ci bash -c " cd /primitiv-python && ./setup.py install --enable-eigen --enable-opencl"
40- docker exec travis-ci bash -c " python3 -c 'import primitiv; dev = primitiv.devices.Naive(); dev = primitiv.devices.Eigen(); dev = primitiv.devices.OpenCL() "
53+ docker exec travis-ci bash -c " python3 -c 'import primitiv; dev = primitiv.devices.Naive(); dev = primitiv.devices.Eigen()' "
4154 docker exec travis-ci bash -c " pip3 uninstall -y primitiv"
4255else
4356 # install core library
5265
5366 # test installing by "./setup.py install"
5467 docker exec travis-ci bash -c " cd /primitiv-python && ./setup.py install --enable-eigen --enable-opencl --no-build-core-library"
55- docker exec travis-ci bash -c " python3 -c 'import primitiv; dev = primitiv.devices.Naive(); dev = primitiv.devices.Eigen(); dev = primitiv.devices.OpenCL() '"
68+ docker exec travis-ci bash -c " python3 -c 'import primitiv; dev = primitiv.devices.Naive(); dev = primitiv.devices.Eigen()'"
5669 docker exec travis-ci bash -c " pip3 uninstall -y primitiv"
5770fi
5871
0 commit comments