Skip to content

Package is not be able to install inside python docker image #117

@trifonovmixail

Description

@trifonovmixail

Right now, pip install FALCONN can not be installed successfully inside no one of the python docker images. It looks like

    external/eigen/Eigen/src/Core/AssignEvaluator.h: In instantiation of ‘struct Eigen::internal::copy_using_evaluator_traits<Eigen::internal::evaluator<Eigen::Matrix<float, -1, 1> >, Eigen::internal::evaluator<Eigen::Map<Eigen::Matrix<float, -1, 1>, 0, Eigen::Stride<0, 0> > >, Eigen::internal::assign_op<float, float> >’:
    external/eigen/Eigen/src/Core/AssignEvaluator.h:607:49:   required from ‘class Eigen::internal::generic_dense_assignment_kernel<Eigen::internal::evaluator<Eigen::Matrix<float, -1, 1> >, Eigen::internal::evaluator<Eigen::Map<Eigen::Matrix<float, -1, 1>, 0, Eigen::Stride<0, 0> > >, Eigen::internal::assign_op<float, float>, 0>’
    external/eigen/Eigen/src/Core/AssignEvaluator.h:739:10:   required from ‘void Eigen::internal::call_dense_assignment_loop(DstXprType&, const SrcXprType&, const Functor&) [with DstXprType = Eigen::Matrix<float, -1, 1>; SrcXprType = Eigen::Map<Eigen::Matrix<float, -1, 1>, 0, Eigen::Stride<0, 0> >; Functor = Eigen::internal::assign_op<float, float>]’
    external/eigen/Eigen/src/Core/AssignEvaluator.h:879:31:   required from ‘static void Eigen::internal::Assignment<DstXprType, SrcXprType, Functor, Eigen::internal::Dense2Dense, Weak>::run(DstXprType&, const SrcXprType&, const Functor&) [with DstXprType = Eigen::Matrix<float, -1, 1>; SrcXprType = Eigen::Map<Eigen::Matrix<float, -1, 1>, 0, Eigen::Stride<0, 0> >; Functor = Eigen::internal::assign_op<float, float>; Weak = void]’
    external/eigen/Eigen/src/Core/AssignEvaluator.h:836:49:   required from ‘void Eigen::internal::call_assignment_no_alias(Dst&, const Src&, const Func&) [with Dst = Eigen::Matrix<float, -1, 1>; Src = Eigen::Map<Eigen::Matrix<float, -1, 1>, 0, Eigen::Stride<0, 0> >; Func = Eigen::internal::assign_op<float, float>]’
    external/eigen/Eigen/src/Core/PlainObjectBase.h:728:41:   required from ‘Derived& Eigen::PlainObjectBase<Derived>::_set_noalias(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Map<Eigen::Matrix<float, -1, 1>, 0, Eigen::Stride<0, 0> >; Derived = Eigen::Matrix<float, -1, 1>]’
    external/eigen/Eigen/src/Core/PlainObjectBase.h:537:19:   required from ‘Eigen::PlainObjectBase<Derived>::PlainObjectBase(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Map<Eigen::Matrix<float, -1, 1>, 0, Eigen::Stride<0, 0> >; Derived = Eigen::Matrix<float, -1, 1>]’
    external/eigen/Eigen/src/Core/Matrix.h:379:29:   required from ‘Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>::Matrix(const Eigen::EigenBase<OtherDerived>&) [with OtherDerived = Eigen::Map<Eigen::Matrix<float, -1, 1>, 0, Eigen::Stride<0, 0> >; _Scalar = float; int _Rows = -1; int _Cols = 1; int _Options = 0; int _MaxRows = -1; int _MaxCols = 1]’
    internal/python_wrapper.cc:99:64:   required from here
    external/eigen/Eigen/src/Core/AssignEvaluator.h:86:63: warning: enum constant in boolean context [-Wint-in-bool-context]
         MayLinearVectorize = bool(MightVectorize) && MayLinearize && DstHasDirectAccess
                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
    In file included from external/eigen/Eigen/Core:420:0,
                     from external/eigen/Eigen/Dense:1,
                     from include/falconn/falconn_global.h:8,
                     from internal/python_wrapper.cc:1:
    external/eigen/Eigen/src/Core/AssignEvaluator.h:90:50: warning: enum constant in boolean context [-Wint-in-bool-context]
         MaySliceVectorize  = bool(MightVectorize) && bool(DstHasDirectAccess)

I resolve the problem for me inside ubuntu:bionic docker image. My Dockerfile for example.

FROM ubuntu:bionic

RUN apt-get -y update

RUN apt-get -y install python3 python3-distutils python3.6-dev \
    build-essential clang curl openssl gcc g++ ca-certificates libssl-dev
RUN update-alternatives --config c++
RUN curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py && python3 get-pip.py && rm -f get-pip.py
RUN pip3 install -U setuptools cython

RUN export CFLAGS="-Wno-gnu-include-next" && export CXX=clang++ && export CC=clang && \
    pip3 install --no-cache-dir FALCONN -vvv

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions