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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions