olena issueshttps://gitlab.lre.epita.fr/olena/olena/-/issues2023-08-07T09:41:42+02:00https://gitlab.lre.epita.fr/olena/olena/-/issues/7Build error on PowerPC: :info:build Assertion failed: (sizeof(f) <= sizeof(ui...2023-08-07T09:41:42+02:00Sergey FedorovBuild error on PowerPC: :info:build Assertion failed: (sizeof(f) <= sizeof(uint32_t)), function flags_to_int, file arrows.c, line 68```
:info:build In file included from ../../../../milena/mln/pw/image.hh:34,
:info:build from ../../../../milena/mln/data/fill.hh:37,
:info:build from ../../../../milena/mln/convert/impl/from_site_set_to...```
:info:build In file included from ../../../../milena/mln/pw/image.hh:34,
:info:build from ../../../../milena/mln/data/fill.hh:37,
:info:build from ../../../../milena/mln/convert/impl/from_site_set_to_image.hh:36,
:info:build from ../../../../milena/mln/convert/impl/all.hh:38,
:info:build from ../../../../milena/mln/convert/from_to.hh:40,
:info:build from ../../../../milena/mln/value/rgb.hh:39:
:info:build ../../../../milena/mln/pw/internal/image_base.hh:180:7: note: synthesized method 'mln::fun::i2v::array<mln::value::int_u<8> >& mln::fun::i2v::array<mln::value::int_u<8> >::operator=(mln::fun::i2v::array<mln::value::int_u<8> >&&)' first required here
:info:build 180 | f = model.function();
:info:build | ~~^~~~~~~~~~~~~~~~~~
:info:build depbase=`echo classif-1complex.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
:info:build /opt/local/bin/g++-mp-12 -DHAVE_CONFIG_H -I../../../../milena -I../../../../milena -I/opt/local/libexec/boost/1.71/include -I/opt/local/include -O3 -DNDEBUG -ggdb -Wall -W -Wno-unused-local-typedefs -pipe -I/opt/local/libexec/boost/1.71/include -Os -std=c++11 -D_GLIBCXX_USE_CXX11_ABI=0 -arch ppc -pipe -MT classif-1complex.o -MD -MP -MF $depbase.Tpo -c -o classif-1complex.o classif-1complex.cc &&\
:info:build mv -f $depbase.Tpo $depbase.Po
:info:build In file included from ../../../../milena/mln/value/hsl.hh:296,
:info:build from ../../../../milena/mln/value/rgb.hh:393,
:info:build from ../../../../milena/mln/value/int_u.hh:230,
:info:build from ../../../../milena/mln/math/abs.hh:37,
:info:build from ../../../../milena/mln/norm/linfty.hh:37,
:info:build from ../../../../milena/mln/core/window.hh:50,
:info:build from ../../../../milena/mln/core/w_window.hh:41,
:info:build from ../../../../milena/mln/core/image/image1d.hh:562,
:info:build from ../../../../milena/mln/make/image.hh:37,
:info:build from ../../../../milena/mln/core/image/image2d.hh:709,
:info:build from classif-1complex.cc:31:
:info:build ../../../../milena/mln/value/qt/rgb32.hh: In member function 'mln::value::qt::rgb32& mln::value::qt::rgb32::operator=(const mln::value::qt::rgb32&)':
:info:build ../../../../milena/mln/value/qt/rgb32.hh:627:24: warning: implicitly-declared 'mln::algebra::vec<3, mln::value::int_u<8> >& mln::algebra::vec<3, mln::value::int_u<8> >::operator=(const mln::algebra::vec<3, mln::value::int_u<8> >&)' is deprecated [-Wdeprecated-copy]
:info:build 627 | this->v_ = rhs.v_;
:info:build | ^~
:info:build In file included from ../../../../milena/mln/core/concept/gpoint.hh:38,
:info:build from ../../../../milena/mln/core/point.hh:42,
:info:build from ../../../../milena/mln/core/site_set/box.hh:38,
:info:build from ../../../../milena/mln/core/concept/image.hh:39,
:info:build from ../../../../milena/mln/core/internal/image_base.hh:37,
:info:build from ../../../../milena/mln/core/internal/image_primary.hh:35,
:info:build from ../../../../milena/mln/core/image/image2d.hh:35:
:info:build ../../../../milena/mln/algebra/vec.hh:562:5: note: because 'mln::algebra::vec<3, mln::value::int_u<8> >' has user-provided 'mln::algebra::vec<n, T>::vec(const mln::algebra::vec<n, T>&) [with unsigned int n = 3; T = mln::value::int_u<8>]'
:info:build 562 | vec<n,T>::vec(const vec<n,T>& rhs)
:info:build | ^~~~~~~~
:info:build ../../../../milena/mln/value/rgb.hh: In instantiation of 'mln::value::rgb<m>& mln::value::rgb<n>::operator=(const mln::value::rgb<n>&) [with unsigned int n = 8]':
:info:build ../../../../milena/mln/labeling/colorize.hh:225:9: required from 'typename mln::trait::ch_value<L, V>::ret mln::labeling::colorize(const V&, const mln::Image<J>&, const typename L::value&) [with V = mln::value::rgb<8>; L = mln::image2d<mln::value::int_u<8> >; typename mln::trait::ch_value<L, V>::ret = mln::image2d<mln::value::rgb<8> >; typename L::value = mln::value::int_u<8>]'
:info:build classif-1complex.cc:305:35: required from here
:info:build ../../../../milena/mln/value/rgb.hh:638:16: warning: implicitly-declared 'mln::algebra::vec<3, mln::value::int_u<8> >& mln::algebra::vec<3, mln::value::int_u<8> >::operator=(const mln::algebra::vec<3, mln::value::int_u<8> >&)' is deprecated [-Wdeprecated-copy]
:info:build 638 | this->v_ = rhs.v_;
:info:build | ~~~~~~~~~^~~~~~~~
:info:build ../../../../milena/mln/algebra/vec.hh:562:5: note: because 'mln::algebra::vec<3, mln::value::int_u<8> >' has user-provided 'mln::algebra::vec<n, T>::vec(const mln::algebra::vec<n, T>&) [with unsigned int n = 3; T = mln::value::int_u<8>]'
:info:build 562 | vec<n,T>::vec(const vec<n,T>& rhs)
:info:build | ^~~~~~~~
:info:build In file included from ../../../../milena/mln/core/concept/window.hh:44,
:info:build from ../../../../milena/mln/geom/bbox.hh:45,
:info:build from ../../../../milena/mln/core/routine/init.hh:35,
:info:build from ../../../../milena/mln/core/image/image2d.hh:38:
:info:build ../../../../milena/mln/util/array.hh: In instantiation of 'void mln::internal::neighb_base<W, E>::change_window(const W&) [with W = mln::win::multiple<mln::window<mln::dpoint<mln::grid::square, short int> >, mln::fun::p2b::chess>; E = mln::neighb<mln::win::multiple<mln::window<mln::dpoint<mln::grid::square, short int> >, mln::fun::p2b::chess> >]':
:info:build ../../../../milena/mln/core/internal/neighb_base.hh:98:7: required from 'mln::internal::neighb_base<W, E>::neighb_base(const W&) [with W = mln::win::multiple<mln::window<mln::dpoint<mln::grid::square, short int> >, mln::fun::p2b::chess>; E = mln::neighb<mln::win::multiple<mln::window<mln::dpoint<mln::grid::square, short int> >, mln::fun::p2b::chess> >]'
:info:build ../../../../milena/mln/core/neighb.hh:152:17: required from 'mln::neighb<W>::neighb(const W&) [with W = mln::win::multiple<mln::window<mln::dpoint<mln::grid::square, short int> >, mln::fun::p2b::chess>]'
:info:build ../../../../milena/mln/make/double_neighb2d.hh:88:17: required from 'mln::neighb<mln::win::multiple<mln::window<mln::dpoint<mln::grid::square, short int> >, F> > mln::make::double_neighb2d(const F&, const bool (&)[St], const bool (&)[Sf]) [with F = mln::fun::p2b::chess; unsigned int St = 9; unsigned int Sf = 9]'
:info:build ../../../../milena/mln/core/alias/neighb2d.hh:291:33: required from here
:info:build ../../../../milena/mln/util/array.hh:80:11: warning: implicitly-declared 'mln::Function_v2v<mln::util::array<mln::window<mln::dpoint<mln::grid::square, short int> > > >& mln::Function_v2v<mln::util::array<mln::window<mln::dpoint<mln::grid::square, short int> > > >::operator=(const mln::Function_v2v<mln::util::array<mln::window<mln::dpoint<mln::grid::square, short int> > > >&)' is deprecated [-Wdeprecated-copy]
:info:build 80 | class array
:info:build | ^~~~~
:info:build In file included from ../../../../milena/mln/fun/i2v/all_to.hh:33,
:info:build from ../../../../milena/mln/algebra/vec.hh:44:
:info:build ../../../../milena/mln/core/concept/function.hh:279:3: note: because 'mln::Function_v2v<mln::util::array<mln::window<mln::dpoint<mln::grid::square, short int> > > >' has user-provided 'mln::Function_v2v<E>::Function_v2v(const mln::Function_v2v<E>&) [with E = mln::util::array<mln::window<mln::dpoint<mln::grid::square, short int> > >]'
:info:build 279 | Function_v2v<E>::Function_v2v(const Function_v2v<E>& rhs)
:info:build | ^~~~~~~~~~~~~~~
:info:build In file included from ../../../../milena/mln/make/double_neighb2d.hh:37,
:info:build from ../../../../milena/mln/core/alias/neighb2d.hh:41,
:info:build from classif-1complex.cc:32:
:info:build ../../../../milena/mln/win/multiple.hh:77:11: note: synthesized method 'mln::util::array<mln::window<mln::dpoint<mln::grid::square, short int> > >& mln::util::array<mln::window<mln::dpoint<mln::grid::square, short int> > >::operator=(const mln::util::array<mln::window<mln::dpoint<mln::grid::square, short int> > >&)' first required here
:info:build 77 | class multiple
:info:build | ^~~~~~~~
:info:build In file included from ../../../../milena/mln/core/alias/neighb2d.hh:42:
:info:build ../../../../milena/mln/fun/p2b/chess.hh:48:14: warning: implicitly-declared 'mln::Function_v2b<mln::fun::p2b::chess>& mln::Function_v2b<mln::fun::p2b::chess>::operator=(const mln::Function_v2b<mln::fun::p2b::chess>&)' is deprecated [-Wdeprecated-copy]
:info:build 48 | struct chess : public Function_v2b< chess >
:info:build | ^~~~~
:info:build ../../../../milena/mln/core/concept/function.hh:294:3: note: because 'mln::Function_v2b<mln::fun::p2b::chess>' has user-provided 'mln::Function_v2b<E>::Function_v2b(const mln::Function_v2b<E>&) [with E = mln::fun::p2b::chess]'
:info:build 294 | Function_v2b<E>::Function_v2b(const Function_v2b<E>& rhs)
:info:build | ^~~~~~~~~~~~~~~
:info:build ../../../../milena/mln/core/concept/function.hh:160:10: warning: implicitly-declared 'mln::Function_v2v<mln::fun::p2b::chess>& mln::Function_v2v<mln::fun::p2b::chess>::operator=(const mln::Function_v2v<mln::fun::p2b::chess>&)' is deprecated [-Wdeprecated-copy]
:info:build 160 | struct Function_v2b : public virtual Function_v2v<E>
:info:build | ^~~~~~~~~~~~
:info:build ../../../../milena/mln/core/concept/function.hh:279:3: note: because 'mln::Function_v2v<mln::fun::p2b::chess>' has user-provided 'mln::Function_v2v<E>::Function_v2v(const mln::Function_v2v<E>&) [with E = mln::fun::p2b::chess]'
:info:build 279 | Function_v2v<E>::Function_v2v(const Function_v2v<E>& rhs)
:info:build | ^~~~~~~~~~~~~~~
:info:build ../../../../milena/mln/fun/p2b/chess.hh:48:14: note: synthesized method 'mln::Function_v2b<mln::fun::p2b::chess>& mln::Function_v2b<mln::fun::p2b::chess>::operator=(const mln::Function_v2b<mln::fun::p2b::chess>&)' first required here
:info:build 48 | struct chess : public Function_v2b< chess >
:info:build | ^~~~~
:info:build ../../../../milena/mln/win/multiple.hh:77:11: note: synthesized method 'mln::fun::p2b::chess& mln::fun::p2b::chess::operator=(const mln::fun::p2b::chess&)' first required here
:info:build 77 | class multiple
:info:build | ^~~~~~~~
:info:build In file included from ../../../../milena/mln/core/neighb.hh:38,
:info:build from ../../../../milena/mln/core/alias/neighb2d.hh:39:
:info:build ../../../../milena/mln/core/internal/neighb_base.hh:115:12: note: synthesized method 'mln::win::multiple<mln::window<mln::dpoint<mln::grid::square, short int> >, mln::fun::p2b::chess>& mln::win::multiple<mln::window<mln::dpoint<mln::grid::square, short int> >, mln::fun::p2b::chess>::operator=(const mln::win::multiple<mln::window<mln::dpoint<mln::grid::square, short int> >, mln::fun::p2b::chess>&)' first required here
:info:build 115 | win_ = new_win;
:info:build | ~~~~~^~~~~~~~~
:info:build In file included from ../../../../milena/mln/data/transform.spe.hh:50,
:info:build from ../../../../milena/mln/data/transform.hh:43,
:info:build from ../../../../milena/mln/labeling/colorize.hh:38,
:info:build from classif-1complex.cc:54:
:info:build ../../../../milena/mln/value/lut_vec.hh: In instantiation of 'T mln::value::lut_vec<S, T>::operator()(const typename S::value&) const [with S = mln::value::set<mln::value::int_u<8> >; T = mln::value::rgb<8>; typename S::value = mln::value::int_u<8>]':
:info:build ../../../../milena/mln/data/transform.spe.hh:268:25: required from 'typename mln::trait::ch_value<I, typename F::result>::ret mln::data::impl::transform_fast_lowq(const mln::Image<I>&, const mln::Function_v2v<F>&) [with I = mln::image2d<mln::value::int_u<8> >; F = mln::fun::i2v::array<mln::value::rgb<8> >; typename mln::trait::ch_value<I, typename F::result>::ret = mln::image2d<mln::value::rgb<8> >; typename F::result = mln::value::rgb<8>]'
:info:build ../../../../milena/mln/data/transform.spe.hh:388:40: required from 'typename mln::trait::ch_value<I, typename F::result>::ret mln::data::internal::transform_dispatch(mln::trait::image::quant::low, mln::trait::image::value_access::direct, const mln::Image<I>&, const mln::Function_v2v<F>&) [with I = mln::image2d<mln::value::int_u<8> >; F = mln::fun::i2v::array<mln::value::rgb<8> >; typename mln::trait::ch_value<I, typename F::result>::ret = mln::image2d<mln::value::rgb<8> >; typename F::result = mln::value::rgb<8>]'
:info:build ../../../../milena/mln/data/transform.spe.hh:445:29: required from 'typename mln::trait::ch_value<I, typename F::result>::ret mln::data::internal::transform_dispatch(mln::trait::image::value_storage::one_block, const mln::Image<I>&, const mln::Function_v2v<F>&) [with I = mln::image2d<mln::value::int_u<8> >; F = mln::fun::i2v::array<mln::value::rgb<8> >; typename mln::trait::ch_value<I, typename F::result>::ret = mln::image2d<mln::value::rgb<8> >; typename F::result = mln::value::rgb<8>]'
:info:build ../../../../milena/mln/data/transform.spe.hh:492:27: required from 'typename mln::trait::ch_value<I, typename F::result>::ret mln::data::internal::transform_dispatch(const mln::Image<I>&, const mln::Function_v2v<F>&) [with I = mln::image2d<mln::value::int_u<8> >; F = mln::fun::i2v::array<mln::value::rgb<8> >; typename mln::trait::ch_value<I, typename F::result>::ret = mln::image2d<mln::value::rgb<8> >; typename F::result = mln::value::rgb<8>]'
:info:build ../../../../milena/mln/data/transform.hh:211:44: required from 'typename mln::trait::ch_value<I, typename F::result>::ret mln::data::transform(const mln::Image<I>&, const mln::Function_v2v<F>&) [with I = mln::image2d<mln::value::int_u<8> >; F = mln::fun::i2v::array<mln::value::rgb<8> >; typename mln::trait::ch_value<I, typename F::result>::ret = mln::image2d<mln::value::rgb<8> >; typename F::result = mln::value::rgb<8>]'
:info:build ../../../../milena/mln/labeling/colorize.hh:231:50: required from 'typename mln::trait::ch_value<L, V>::ret mln::labeling::colorize(const V&, const mln::Image<J>&, const typename L::value&) [with V = mln::value::rgb<8>; L = mln::image2d<mln::value::int_u<8> >; typename mln::trait::ch_value<L, V>::ret = mln::image2d<mln::value::rgb<8> >; typename L::value = mln::value::int_u<8>]'
:info:build classif-1complex.cc:305:35: required from here
:info:build ../../../../milena/mln/value/lut_vec.hh:190:38: warning: implicitly-declared 'mln::value::rgb<8>::rgb(const mln::value::rgb<8>&)' is deprecated [-Wdeprecated-copy]
:info:build 190 | return vec_[vset_.index_of(val)];
:info:build | ^
:info:build ../../../../milena/mln/value/rgb.hh:634:5: note: because 'mln::value::rgb<8>' has user-provided 'mln::value::rgb<m>& mln::value::rgb<n>::operator=(const mln::value::rgb<n>&) [with unsigned int n = 8]'
:info:build 634 | rgb<n>::operator=(const rgb<n>& rhs)
:info:build | ^~~~~~
:info:build In file included from ../../../../milena/mln/labeling/colorize.hh:35:
:info:build ../../../../milena/mln/fun/i2v/array.hh: In instantiation of 'mln::fun::i2v::array<T>::result mln::fun::i2v::array<T>::operator()(unsigned int) const [with T = mln::value::rgb<8>; result = mln::value::rgb<8>]':
:info:build ../../../../milena/mln/data/transform.spe.hh:148:17: required from 'typename mln::trait::ch_value<I, typename F::result>::ret mln::data::impl::transform_lowq_i2v(const mln::Image<I>&, const mln::Function_v2v<F>&) [with I = mln::image2d<mln::value::int_u<8> >; F = mln::fun::i2v::array<mln::value::rgb<8> >; typename mln::trait::ch_value<I, typename F::result>::ret = mln::image2d<mln::value::rgb<8> >; typename F::result = mln::value::rgb<8>]'
:info:build ../../../../milena/mln/data/transform.spe.hh:368:39: required from 'typename mln::trait::ch_value<I, typename F::result>::ret mln::data::internal::transform_dispatch(mln::trait::image::vw_set::any, mln::trait::image::quant::low, const mln::Image<I>&, const mln::Function_v2v<F>&) [with I = mln::image2d<mln::value::int_u<8> >; F = mln::fun::i2v::array<mln::value::rgb<8> >; typename mln::trait::ch_value<I, typename F::result>::ret = mln::image2d<mln::value::rgb<8> >; typename F::result = mln::value::rgb<8>]'
:info:build ../../../../milena/mln/data/transform.spe.hh:449:29: required from 'typename mln::trait::ch_value<I, typename F::result>::ret mln::data::internal::transform_dispatch(mln::trait::image::value_storage::one_block, const mln::Image<I>&, const mln::Function_v2v<F>&) [with I = mln::image2d<mln::value::int_u<8> >; F = mln::fun::i2v::array<mln::value::rgb<8> >; typename mln::trait::ch_value<I, typename F::result>::ret = mln::image2d<mln::value::rgb<8> >; typename F::result = mln::value::rgb<8>]'
:info:build ../../../../milena/mln/data/transform.spe.hh:492:27: required from 'typename mln::trait::ch_value<I, typename F::result>::ret mln::data::internal::transform_dispatch(const mln::Image<I>&, const mln::Function_v2v<F>&) [with I = mln::image2d<mln::value::int_u<8> >; F = mln::fun::i2v::array<mln::value::rgb<8> >; typename mln::trait::ch_value<I, typename F::result>::ret = mln::image2d<mln::value::rgb<8> >; typename F::result = mln::value::rgb<8>]'
:info:build ../../../../milena/mln/data/transform.hh:211:44: required from 'typename mln::trait::ch_value<I, typename F::result>::ret mln::data::transform(const mln::Image<I>&, const mln::Function_v2v<F>&) [with I = mln::image2d<mln::value::int_u<8> >; F = mln::fun::i2v::array<mln::value::rgb<8> >; typename mln::trait::ch_value<I, typename F::result>::ret = mln::image2d<mln::value::rgb<8> >; typename F::result = mln::value::rgb<8>]'
:info:build ../../../../milena/mln/labeling/colorize.hh:231:50: required from 'typename mln::trait::ch_value<L, V>::ret mln::labeling::colorize(const V&, const mln::Image<J>&, const typename L::value&) [with V = mln::value::rgb<8>; L = mln::image2d<mln::value::int_u<8> >; typename mln::trait::ch_value<L, V>::ret = mln::image2d<mln::value::rgb<8> >; typename L::value = mln::value::int_u<8>]'
:info:build classif-1complex.cc:305:35: required from here
:info:build ../../../../milena/mln/fun/i2v/array.hh:272:20: warning: implicitly-declared 'mln::value::rgb<8>::rgb(const mln::value::rgb<8>&)' is deprecated [-Wdeprecated-copy]
:info:build 272 | return v_[i];
:info:build | ^
:info:build ../../../../milena/mln/value/rgb.hh:634:5: note: because 'mln::value::rgb<8>' has user-provided 'mln::value::rgb<m>& mln::value::rgb<n>::operator=(const mln::value::rgb<n>&) [with unsigned int n = 8]'
:info:build 634 | rgb<n>::operator=(const rgb<n>& rhs)
:info:build | ^~~~~~
:info:build ../../../../milena/mln/value/lut_vec.hh: In instantiation of 'T mln::value::lut_vec<S, T>::operator[](unsigned int) const [with S = mln::value::set<mln::value::int_u<8> >; T = mln::value::rgb<8>]':
:info:build ../../../../milena/mln/core/concept/value_set.hh:98:38: required from 'mln::Value_Set<E>::Value_Set() [with E = mln::value::lut_vec<mln::value::set<mln::value::int_u<8> >, mln::value::rgb<8> >]'
:info:build ../../../../milena/mln/value/lut_vec.hh:165:19: required from 'mln::value::lut_vec<S, T>::lut_vec(const S&, const mln::Function_v2v<mln::fun::i2v::array<V> >&) [with V = mln::value::rgb<8>; S = mln::value::set<mln::value::int_u<8> >; T = mln::value::rgb<8>]'
:info:build ../../../../milena/mln/data/transform.spe.hh:263:11: required from 'typename mln::trait::ch_value<I, typename F::result>::ret mln::data::impl::transform_fast_lowq(const mln::Image<I>&, const mln::Function_v2v<F>&) [with I = mln::image2d<mln::value::int_u<8> >; F = mln::fun::i2v::array<mln::value::rgb<8> >; typename mln::trait::ch_value<I, typename F::result>::ret = mln::image2d<mln::value::rgb<8> >; typename F::result = mln::value::rgb<8>]'
:info:build ../../../../milena/mln/data/transform.spe.hh:388:40: required from 'typename mln::trait::ch_value<I, typename F::result>::ret mln::data::internal::transform_dispatch(mln::trait::image::quant::low, mln::trait::image::value_access::direct, const mln::Image<I>&, const mln::Function_v2v<F>&) [with I = mln::image2d<mln::value::int_u<8> >; F = mln::fun::i2v::array<mln::value::rgb<8> >; typename mln::trait::ch_value<I, typename F::result>::ret = mln::image2d<mln::value::rgb<8> >; typename F::result = mln::value::rgb<8>]'
:info:build ../../../../milena/mln/data/transform.spe.hh:445:29: required from 'typename mln::trait::ch_value<I, typename F::result>::ret mln::data::internal::transform_dispatch(mln::trait::image::value_storage::one_block, const mln::Image<I>&, const mln::Function_v2v<F>&) [with I = mln::image2d<mln::value::int_u<8> >; F = mln::fun::i2v::array<mln::value::rgb<8> >; typename mln::trait::ch_value<I, typename F::result>::ret = mln::image2d<mln::value::rgb<8> >; typename F::result = mln::value::rgb<8>]'
:info:build ../../../../milena/mln/data/transform.spe.hh:492:27: required from 'typename mln::trait::ch_value<I, typename F::result>::ret mln::data::internal::transform_dispatch(const mln::Image<I>&, const mln::Function_v2v<F>&) [with I = mln::image2d<mln::value::int_u<8> >; F = mln::fun::i2v::array<mln::value::rgb<8> >; typename mln::trait::ch_value<I, typename F::result>::ret = mln::image2d<mln::value::rgb<8> >; typename F::result = mln::value::rgb<8>]'
:info:build ../../../../milena/mln/data/transform.hh:211:44: required from 'typename mln::trait::ch_value<I, typename F::result>::ret mln::data::transform(const mln::Image<I>&, const mln::Function_v2v<F>&) [with I = mln::image2d<mln::value::int_u<8> >; F = mln::fun::i2v::array<mln::value::rgb<8> >; typename mln::trait::ch_value<I, typename F::result>::ret = mln::image2d<mln::value::rgb<8> >; typename F::result = mln::value::rgb<8>]'
:info:build ../../../../milena/mln/labeling/colorize.hh:231:50: required from 'typename mln::trait::ch_value<L, V>::ret mln::labeling::colorize(const V&, const mln::Image<J>&, const typename L::value&) [with V = mln::value::rgb<8>; L = mln::image2d<mln::value::int_u<8> >; typename mln::trait::ch_value<L, V>::ret = mln::image2d<mln::value::rgb<8> >; typename L::value = mln::value::int_u<8>]'
:info:build classif-1complex.cc:305:35: required from here
:info:build ../../../../milena/mln/value/lut_vec.hh:199:20: warning: implicitly-declared 'mln::value::rgb<8>::rgb(const mln::value::rgb<8>&)' is deprecated [-Wdeprecated-copy]
:info:build 199 | return vec_[i];
:info:build | ^
:info:build ../../../../milena/mln/value/rgb.hh:634:5: note: because 'mln::value::rgb<8>' has user-provided 'mln::value::rgb<m>& mln::value::rgb<n>::operator=(const mln::value::rgb<n>&) [with unsigned int n = 8]'
:info:build 634 | rgb<n>::operator=(const rgb<n>& rhs)
:info:build | ^~~~~~
:info:build In file included from ../../../../milena/mln/core/point.hh:43:
:info:build In member function 'C& mln::internal::mutable_coord_impl_<2, C, E>::col() [with C = short int; E = mln::point<mln::grid::square, short int>]',
:info:build inlined from 'void mln::io::pnm::impl::save_data_contiguous(std::ofstream&, const I&) [with I = mln::image2d<mln::value::rgb<8> >]' at ../../../../milena/mln/io/pnm/save.hh:149:9:
:info:build ../../../../milena/mln/core/internal/coord_impl.hh:232:38: warning: 'p' may be used uninitialized [-Wmaybe-uninitialized]
:info:build 232 | return internal::force_exact<E>(*this)[1];
:info:build | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
:info:build In file included from ../../../../milena/mln/core/concept/proxy.hxx:30,
:info:build from ../../../../milena/mln/core/concept/proxy.hh:44,
:info:build from ../../../../milena/mln/core/concept/site_proxy.hh:35,
:info:build from ../../../../milena/mln/core/concept/site_iterator.hh:37,
:info:build from ../../../../milena/mln/core/concept/site_set.hh:38,
:info:build from ../../../../milena/mln/core/concept/image.hh:34:
:info:build ../../../../milena/mln/core/internal/force_exact.hh: In function 'void mln::io::pnm::impl::save_data_contiguous(std::ofstream&, const I&) [with I = mln::image2d<mln::value::rgb<8> >]':
:info:build ../../../../milena/mln/core/internal/force_exact.hh:50:8: note: by argument 1 of type 'const mln::internal::mutable_coord_impl_<2, short int, mln::point<mln::grid::square, short int> >&' to 'E& mln::internal::force_exact(const T&) [with E = mln::point<mln::grid::square, short int>; T = mutable_coord_impl_<2, short int, mln::point<mln::grid::square, short int> >]' declared here
:info:build 50 | E& force_exact(const T& ref)
:info:build | ^~~~~~~~~~~
:info:build In file included from ../../../../milena/mln/io/pgm/save.hh:41,
:info:build from classif-graph.cc:36:
:info:build ../../../../milena/mln/io/pnm/save.hh:148:19: note: 'p' declared here
:info:build 148 | point2d p;
:info:build | ^
:info:build /bin/sh ../../../../libtool --tag=CXX --mode=link /opt/local/bin/g++-mp-12 -O3 -DNDEBUG -ggdb -Wall -W -Wno-unused-local-typedefs -pipe -I/opt/local/libexec/boost/1.71/include -Os -std=c++11 -D_GLIBCXX_USE_CXX11_ABI=0 -arch ppc -pipe -L/opt/local/libexec/boost/1.71/lib -L/opt/local/lib -Wl,-headerpad_max_install_names -arch ppc -o image2d image2d.o
:info:build libtool: link: /opt/local/bin/g++-mp-12 -O3 -DNDEBUG -ggdb -Wall -W -Wno-unused-local-typedefs -pipe -I/opt/local/libexec/boost/1.71/include -Os -std=c++11 -D_GLIBCXX_USE_CXX11_ABI=0 -arch ppc -pipe -Wl,-headerpad_max_install_names -arch ppc -o image2d image2d.o -L/opt/local/libexec/boost/1.71/lib -L/opt/local/lib
:info:build /bin/sh ../../../../libtool --tag=CXX --mode=link /opt/local/bin/g++-mp-12 -O3 -DNDEBUG -ggdb -Wall -W -Wno-unused-local-typedefs -pipe -I/opt/local/libexec/boost/1.71/include -Os -std=c++11 -D_GLIBCXX_USE_CXX11_ABI=0 -arch ppc -pipe -L/opt/local/libexec/boost/1.71/lib -L/opt/local/lib -Wl,-headerpad_max_install_names -arch ppc -o graph graph.o
:info:build libtool: link: /opt/local/bin/g++-mp-12 -O3 -DNDEBUG -ggdb -Wall -W -Wno-unused-local-typedefs -pipe -I/opt/local/libexec/boost/1.71/include -Os -std=c++11 -D_GLIBCXX_USE_CXX11_ABI=0 -arch ppc -pipe -Wl,-headerpad_max_install_names -arch ppc -o graph graph.o -L/opt/local/libexec/boost/1.71/lib -L/opt/local/lib
:info:build /bin/sh ../../../../libtool --tag=CXX --mode=link /opt/local/bin/g++-mp-12 -O3 -DNDEBUG -ggdb -Wall -W -Wno-unused-local-typedefs -pipe -I/opt/local/libexec/boost/1.71/include -Os -std=c++11 -D_GLIBCXX_USE_CXX11_ABI=0 -arch ppc -pipe -L/opt/local/libexec/boost/1.71/lib -L/opt/local/lib -Wl,-headerpad_max_install_names -arch ppc -o complex complex.o
:info:build libtool: link: /opt/local/bin/g++-mp-12 -O3 -DNDEBUG -ggdb -Wall -W -Wno-unused-local-typedefs -pipe -I/opt/local/libexec/boost/1.71/include -Os -std=c++11 -D_GLIBCXX_USE_CXX11_ABI=0 -arch ppc -pipe -Wl,-headerpad_max_install_names -arch ppc -o complex complex.o -L/opt/local/libexec/boost/1.71/lib -L/opt/local/lib
:info:build /bin/sh ../../../../libtool --tag=CXX --mode=link /opt/local/bin/g++-mp-12 -O3 -DNDEBUG -ggdb -Wall -W -Wno-unused-local-typedefs -pipe -I/opt/local/libexec/boost/1.71/include -Os -std=c++11 -D_GLIBCXX_USE_CXX11_ABI=0 -arch ppc -pipe -L/opt/local/libexec/boost/1.71/lib -L/opt/local/lib -Wl,-headerpad_max_install_names -arch ppc -o classif-graph classif-graph.o
:info:build libtool: link: /opt/local/bin/g++-mp-12 -O3 -DNDEBUG -ggdb -Wall -W -Wno-unused-local-typedefs -pipe -I/opt/local/libexec/boost/1.71/include -Os -std=c++11 -D_GLIBCXX_USE_CXX11_ABI=0 -arch ppc -pipe -Wl,-headerpad_max_install_names -arch ppc -o classif-graph classif-graph.o -L/opt/local/libexec/boost/1.71/lib -L/opt/local/lib
:info:build ./image2d ../../../../milena/img/lena.pgm 1000 lena-s.ppm
:info:build {(-1,0), (0,-1), (0,1), (1,0)}
:info:build {(-1,0), (0,-1), (0,0), (0,1), (1,0)}
:info:build ./graph ./seeds.pgm 2 graph-s.neato
:info:build n seeds = 19
:info:build v size = 19
:info:build e size = 42
:info:build ./complex ./m283-c.off 100 m283-s.off
:info:build In file included from ../../../../milena/mln/core/point.hh:43:
:info:build In member function 'C& mln::internal::mutable_coord_impl_<2, C, E>::col() [with C = short int; E = mln::point<mln::grid::square, short int>]',
:info:build inlined from 'void mln::io::pnm::impl::save_data_contiguous(std::ofstream&, const I&) [with I = mln::image2d<mln::value::rgb<8> >]' at ../../../../milena/mln/io/pnm/save.hh:149:9:
:info:build ../../../../milena/mln/core/internal/coord_impl.hh:232:38: warning: 'p' may be used uninitialized [-Wmaybe-uninitialized]
:info:build 232 | return internal::force_exact<E>(*this)[1];
:info:build | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
:info:build In file included from ../../../../milena/mln/core/concept/proxy.hxx:30,
:info:build from ../../../../milena/mln/core/concept/proxy.hh:44,
:info:build from ../../../../milena/mln/core/concept/site_proxy.hh:35,
:info:build from ../../../../milena/mln/core/concept/site_iterator.hh:37,
:info:build from ../../../../milena/mln/core/concept/site_set.hh:38,
:info:build from ../../../../milena/mln/core/concept/image.hh:34:
:info:build ../../../../milena/mln/core/internal/force_exact.hh: In function 'void mln::io::pnm::impl::save_data_contiguous(std::ofstream&, const I&) [with I = mln::image2d<mln::value::rgb<8> >]':
:info:build ../../../../milena/mln/core/internal/force_exact.hh:50:8: note: by argument 1 of type 'const mln::internal::mutable_coord_impl_<2, short int, mln::point<mln::grid::square, short int> >&' to 'E& mln::internal::force_exact(const T&) [with E = mln::point<mln::grid::square, short int>; T = mutable_coord_impl_<2, short int, mln::point<mln::grid::square, short int> >]' declared here
:info:build 50 | E& force_exact(const T& ref)
:info:build | ^~~~~~~~~~~
:info:build In file included from ../../../../milena/mln/io/pgm/save.hh:41,
:info:build from classif-1complex.cc:36:
:info:build ../../../../milena/mln/io/pnm/save.hh:148:19: note: 'p' declared here
:info:build 148 | point2d p;
:info:build | ^
:info:build ./classif-graph ./classseedsi.pbm 4 classwst-graph.ppm
:info:build n seeds = 239
:info:build v_site size = 240
:info:build e size = 655
:info:build distance max = 117
:info:build /bin/sh ../../../../libtool --tag=CXX --mode=link /opt/local/bin/g++-mp-12 -O3 -DNDEBUG -ggdb -Wall -W -Wno-unused-local-typedefs -pipe -I/opt/local/libexec/boost/1.71/include -Os -std=c++11 -D_GLIBCXX_USE_CXX11_ABI=0 -arch ppc -pipe -L/opt/local/libexec/boost/1.71/lib -L/opt/local/lib -Wl,-headerpad_max_install_names -arch ppc -o classif-1complex classif-1complex.o
:info:build libtool: link: /opt/local/bin/g++-mp-12 -O3 -DNDEBUG -ggdb -Wall -W -Wno-unused-local-typedefs -pipe -I/opt/local/libexec/boost/1.71/include -Os -std=c++11 -D_GLIBCXX_USE_CXX11_ABI=0 -arch ppc -pipe -Wl,-headerpad_max_install_names -arch ppc -o classif-1complex classif-1complex.o -L/opt/local/libexec/boost/1.71/lib -L/opt/local/lib
:info:build neato -Tpng graph-s.neato >graph-s.png
:info:build Assertion failed: (sizeof(f) <= sizeof(uint32_t)), function flags_to_int, file arrows.c, line 68.
:info:build /bin/sh: line 1: 80253 Abort trap neato -Tpng graph-s.neato > graph-s.png
:info:build make[5]: *** [graph-s.png] Error 134
:info:build make[5]: *** Waiting for unfinished jobs....
:info:build make[5]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_olena/olena/work/olena-2.1/milena/apps/papers/levillain.09.ismm'
:info:build make[4]: *** [all-recursive] Error 1
:info:build make[4]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_olena/olena/work/olena-2.1/milena/apps/papers'
:info:build make[3]: *** [all-recursive] Error 1
:info:build make[3]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_olena/olena/work/olena-2.1/milena/apps'
:info:build make[2]: *** [all-recursive] Error 1
:info:build make[2]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_olena/olena/work/olena-2.1/milena'
:info:build make[1]: *** [all-recursive] Error 1
:info:build make[1]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_olena/olena/work/olena-2.1'
:info:build make: *** [all] Error 2
:info:build make: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_olena/olena/work/olena-2.1'
:info:build Command failed: cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_olena/olena/work/olena-2.1" && /usr/bin/make -j2 -w all
:info:build Exit code: 2
:error:build Failed to build olena: command execution failed
:debug:build Error code: CHILDSTATUS 77427 2
```
Any ideas what may be failing? I could not even find `flags_to_int` in the sources.https://gitlab.lre.epita.fr/olena/olena/-/issues/6scribo binarization sauvola: passing k2020-04-11T12:10:26+02:00Robert Sachunskyscribo binarization sauvola: passing kI believe I have found 2 bugs in how the binarization CLIs for Sauvola's method pass on the given values for the `k` parameter:
For `sauvola-ms-fg` (implemented in [sauvola_ms_fg.cc](https://gitlab.lrde.epita.fr/olena/olena/-/blob/maste...I believe I have found 2 bugs in how the binarization CLIs for Sauvola's method pass on the given values for the `k` parameter:
For `sauvola-ms-fg` (implemented in [sauvola_ms_fg.cc](https://gitlab.lrde.epita.fr/olena/olena/-/blob/master/scribo/src/binarization/sauvola_ms_fg.cc) and [sauvola_ms.hh](https://gitlab.lrde.epita.fr/olena/olena/-/blob/master/scribo/scribo/binarization/sauvola_ms.hh)), the problem is that `--all-k` is always ignored, because the defaults `--k2 0.2 --k3 0.3 --k4 0.5` take precedence. (In the `opt_desc` table, they all have defaults, which the `option_parser` cannot distinguish from `is_set()`.)
For `sauvola-ms-split` (implemented in [sauvola_ms_split.cc](https://gitlab.lrde.epita.fr/olena/olena/-/blob/master/scribo/src/binarization/sauvola_ms_split.cc) and [sauvola_ms_split.hh](https://gitlab.lrde.epita.fr/olena/olena/-/blob/master/scribo/scribo/binarization/sauvola_ms_split.hh)), the problem is that all k parameters (`--all-k` / `--k2` / `--k3` / `--k4`) are always ignored, because the (4-valued) `sauvola_ms_split` implementation does not keep the settings (as in the other implementations), but delegates to the (5-valued) `sauvola_ms_split` with an all-k default, which in turn delegates to the (7-valued) `sauvola_ms_split` with that value.Edwin CarlinetEdwin Carlinethttps://gitlab.lre.epita.fr/olena/olena/-/issues/5Scribo does not compile with GCC 82020-03-06T09:59:18+01:00Robert SachunskyScribo does not compile with GCC 8I cannot compile Olena in a toolchain based on g++ 8.2.0:
```
make[5]: Entering directory `/home/h9/kawu438b/src/ocrd_olena/olena-git/build/scribo/src/contest/hdlac-2011'
g++ -DHAVE_CONFIG_H -I../../../../../scribo -I../../../../../mi...I cannot compile Olena in a toolchain based on g++ 8.2.0:
```
make[5]: Entering directory `/home/h9/kawu438b/src/ocrd_olena/olena-git/build/scribo/src/contest/hdlac-2011'
g++ -DHAVE_CONFIG_H -I../../../../../scribo -I../../../../../milena -I/sw/installed/GraphicsMagick/1.3.28-foss-2018a/include/GraphicsMagick -DNDEBUG -O2 -Wall -W -Wno-unused-local-typedefs -pipe -MT content_in_hdoc_hdlac-content_in_hdoc_hdlac.o -MD -MP -MF .deps/content_in_hdoc_hdlac-content_in_hdoc_hdlac.Tpo -c -o content_in_hdoc_hdlac-content_in_hdoc_hdlac.o `test -f 'content_in_hdoc_hdlac.cc' || echo '../../../../../scribo/src/contest/hdlac-2011/'`content_in_hdoc_hdlac.cc
In file included from ../../../../../scribo/scribo/toolchain/text_in_doc_preprocess.hh:39,
from ../../../../../scribo/src/contest/hdlac-2011/content_in_hdoc_hdlac.cc:38:
../../../../../scribo/scribo/binarization/sauvola_ms.hh: In function ‘mln::image2d<mln::value::int_u<8> > scribo::binarization::internal::compute_t_n_and_e_2(const mln::image2d<mln::value::int_u<8> >&, mln::image2d<mln::value::int_u<8> >&, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, const mln::image2d<mln::util::couple<double, double> >&)’:
../../../../../scribo/scribo/binarization/sauvola_ms.hh:277:61: warning: ‘void* memset(void*, int, size_t)’ writing to an object of non-trivial type ‘struct mln::value::int_u<8>’; use assignment instead [-Wclass-memaccess]
std::memset(ptr(l), i, ratio * sizeof(mln_value_(I)));
^
In file included from ../../../../../milena/mln/math/abs.hh:37,
from ../../../../../milena/mln/norm/linfty.hh:37,
from ../../../../../milena/mln/core/window.hh:50,
from ../../../../../milena/mln/core/w_window.hh:41,
from ../../../../../milena/mln/core/image/image1d.hh:562,
from ../../../../../milena/mln/make/image.hh:37,
from ../../../../../milena/mln/core/image/image2d.hh:709,
from ../../../../../scribo/src/contest/hdlac-2011/content_in_hdoc_hdlac.cc:33:
../../../../../milena/mln/value/int_u.hh:129:12: note: ‘struct mln::value::int_u<8>’ declared here
struct int_u
^~~~~
In file included from ../../../../../scribo/scribo/toolchain/text_in_doc_preprocess.hh:39,
from ../../../../../scribo/src/contest/hdlac-2011/content_in_hdoc_hdlac.cc:38:
../../../../../scribo/scribo/binarization/sauvola_ms.hh:299:61: warning: ‘void* memset(void*, int, size_t)’ writing to an object of non-trivial type ‘struct mln::value::int_u<8>’; use assignment instead [-Wclass-memaccess]
std::memset(ptr(l), i, ratio * sizeof(mln_value_(I)));
^
In file included from ../../../../../milena/mln/math/abs.hh:37,
from ../../../../../milena/mln/norm/linfty.hh:37,
from ../../../../../milena/mln/core/window.hh:50,
from ../../../../../milena/mln/core/w_window.hh:41,
from ../../../../../milena/mln/core/image/image1d.hh:562,
from ../../../../../milena/mln/make/image.hh:37,
from ../../../../../milena/mln/core/image/image2d.hh:709,
from ../../../../../scribo/src/contest/hdlac-2011/content_in_hdoc_hdlac.cc:33:
../../../../../milena/mln/value/int_u.hh:129:12: note: ‘struct mln::value::int_u<8>’ declared here
struct int_u
^~~~~
In file included from ../../../../../scribo/scribo/primitive/extract/non_text_hdoc.hh:46,
from ../../../../../scribo/scribo/toolchain/internal/content_in_hdoc_functor.hh:45,
from ../../../../../scribo/scribo/toolchain/content_in_hdoc.hh:33,
from ../../../../../scribo/src/contest/hdlac-2011/content_in_hdoc_hdlac.cc:37:
../../../../../scribo/scribo/debug/logger.hh: In instantiation of ‘void scribo::debug::internal::logger_::log_image(scribo::debug::Level, const mln::Image<I>&, const char*) [with I = mln::image2d<bool>]’:
../../../../../scribo/scribo/toolchain/internal/content_in_hdoc_functor.hh:262:4: required from ‘scribo::document<typename mln::trait::ch_value<I, mln::value::int_u<30> >::ret> scribo::toolchain::internal::content_in_hdoc_functor<I>::operator()(const mln::Image<J>&, const mln::Image<I>&) [with J = mln::image2d<mln::value::rgb<8> >; I = mln::image2d<bool>; typename mln::trait::ch_value<I, mln::value::int_u<30> >::ret = mln::image2d<mln::value::int_u<30> >]’
../../../../../scribo/scribo/toolchain/content_in_hdoc.hh:95:55: required from ‘scribo::document<typename mln::trait::ch_value<I, mln::value::int_u<30> >::ret> scribo::toolchain::content_in_hdoc(const mln::Image<I>&, const mln::Image<J>&, bool, bool, bool, bool, const string&) [with I = mln::image2d<mln::value::rgb<8> >; J = mln::image2d<bool>; typename mln::trait::ch_value<I, mln::value::int_u<30> >::ret = mln::image2d<mln::value::int_u<30> >; std::__cxx11::string = std::__cxx11::basic_string<char>]’
../../../../../scribo/src/contest/hdlac-2011/content_in_hdoc_hdlac.cc:127:38: required from here
../../../../../scribo/scribo/debug/logger.hh:414:2: error: call of overloaded ‘log_image_dispatch(bool, const mln::Image<mln::image2d<bool> >&, const char*&)’ is ambiguous
log_image_dispatch(V(), ima, name);
^~~~~~~~~~~~~~~~~~
../../../../../scribo/scribo/debug/logger.hh:178:7: note: candidate: ‘void scribo::debug::internal::logger_::log_image_dispatch(const typename I::value&, const mln::Image<I>&, const char*) [with I = mln::image2d<bool>; typename I::value = bool]’
void log_image_dispatch(const mln_value(I)&,
^~~~~~~~~~~~~~~~~~
../../../../../scribo/scribo/debug/logger.hh:467:7: note: candidate: ‘void scribo::debug::internal::logger_::log_image_dispatch(const bool&, const mln::Image<I>&, const char*) [with I = mln::image2d<bool>]’
logger_::log_image_dispatch(const bool&, const Image<I>& ima, const char *name)
^~~~~~~
../../../../../scribo/scribo/debug/logger.hh: In instantiation of ‘void scribo::debug::internal::logger_::log_image(scribo::debug::Level, const mln::Image<I>&, const char*) [with I = mln::image2d<mln::value::rgb<8> >]’:
../../../../../scribo/scribo/toolchain/internal/content_in_hdoc_functor.hh:354:4: required from ‘scribo::document<typename mln::trait::ch_value<I, mln::value::int_u<30> >::ret> scribo::toolchain::internal::content_in_hdoc_functor<I>::operator()(const mln::Image<J>&, const mln::Image<I>&) [with J = mln::image2d<mln::value::rgb<8> >; I = mln::image2d<bool>; typename mln::trait::ch_value<I, mln::value::int_u<30> >::ret = mln::image2d<mln::value::int_u<30> >]’
../../../../../scribo/scribo/toolchain/content_in_hdoc.hh:95:55: required from ‘scribo::document<typename mln::trait::ch_value<I, mln::value::int_u<30> >::ret> scribo::toolchain::content_in_hdoc(const mln::Image<I>&, const mln::Image<J>&, bool, bool, bool, bool, const string&) [with I = mln::image2d<mln::value::rgb<8> >; J = mln::image2d<bool>; typename mln::trait::ch_value<I, mln::value::int_u<30> >::ret = mln::image2d<mln::value::int_u<30> >; std::__cxx11::string = std::__cxx11::basic_string<char>]’
../../../../../scribo/src/contest/hdlac-2011/content_in_hdoc_hdlac.cc:127:38: required from here
../../../../../scribo/scribo/debug/logger.hh:414:2: error: call of overloaded ‘log_image_dispatch(V, const mln::Image<mln::image2d<mln::value::rgb<8> > >&, const char*&)’ is ambiguous
log_image_dispatch(V(), ima, name);
^~~~~~~~~~~~~~~~~~
../../../../../scribo/scribo/debug/logger.hh:178:7: note: candidate: ‘void scribo::debug::internal::logger_::log_image_dispatch(const typename I::value&, const mln::Image<I>&, const char*) [with I = mln::image2d<mln::value::rgb<8> >; typename I::value = mln::value::rgb<8>]’
void log_image_dispatch(const mln_value(I)&,
^~~~~~~~~~~~~~~~~~
../../../../../scribo/scribo/debug/logger.hh:460:7: note: candidate: ‘void scribo::debug::internal::logger_::log_image_dispatch(const rgb8&, const mln::Image<I>&, const char*) [with I = mln::image2d<mln::value::rgb<8> >; mln::value::rgb8 = mln::value::rgb<8>]’
logger_::log_image_dispatch(const value::rgb8&, const Image<I>& ima, const char *name)
^~~~~~~
make[5]: *** [content_in_hdoc_hdlac-content_in_hdoc_hdlac.o] Error 1
```
Is there anything we can do to taim the modern GCC? (I have already tried setting `-std=` to `c++98`, `c++03`, `c++11`, or `c++14`, but nothing changes.)Edwin CarlinetEdwin Carlinethttps://gitlab.lre.epita.fr/olena/olena/-/issues/4add configure option to disable doc2020-03-06T09:58:45+01:00Robert Sachunskyadd configure option to disable docTime and again, on different platforms, I had a hard time getting `scribo/doc`, `milena/doc` and `doc` to build: For one, it has lots of external dependencies, which should be strictly optional for Olena. But worse, I am certain the make...Time and again, on different platforms, I had a hard time getting `scribo/doc`, `milena/doc` and `doc` to build: For one, it has lots of external dependencies, which should be strictly optional for Olena. But worse, I am certain the makefiles have some errors here (maybe just missing explicit dependencies), because sometimes _pdflatex_ (complaining about a missing `html.sty`) or graphviz' _neato_ (being absent) would halt the build, leaving the build tree in a state impossible to continue installation on, or to recover from. Even with the build directory completely separated, doing `distclean` or restarting _configure_ is not enough in these circumstances, which only leaves me with checking out again.
Therefore, how hard could it be to add an option `--disable-doc` to _configure_? This would bypass above mentioned problems, and also speed up the build on platforms that do meet all the requirements. At the moment I help myself with manually editing `scribo/Makefile.am`, `milena/Makefile.am` and `Makefile.am`, removing `doc` from the `SUBDIRS` variable. But this could be scripted, right? Would such a PR get accepted?Edwin CarlinetEdwin Carlinethttps://gitlab.lre.epita.fr/olena/olena/-/issues/3swilena: Python 3 compatibility2019-09-19T12:09:33+02:00Robert Sachunskyswilena: Python 3 compatibilityI think the SWIG-based Python bindings for Milena should be converted into a form that allows for both Python 2 and 3. This can be done easily but clumsily with `futurize -0` (from PyPI) on the resulting Python files. But maybe SWIG itse...I think the SWIG-based Python bindings for Milena should be converted into a form that allows for both Python 2 and 3. This can be done easily but clumsily with `futurize -0` (from PyPI) on the resulting Python files. But maybe SWIG itself can do better? (It does have an `-py3` option.) Or do we need a build configuration for both dialects independently?
Regardless, Python 3 bindings will only work if in `m4/pypath.m4` the python command line does not use the `print` idiom (which is a statement in Python 2 but a function in Python 3), but `sys.stdout.write()` (as in the preconfigured autoconf rules).
Besides, having just taken notice of Pylene, am I correct in assuming the latter would get its Python bindings via `pybind11`? And does that mean for Olena that Python bindings will be removed there? How about Scribo then, can this be built on top of Pylene, too?https://gitlab.lre.epita.fr/olena/olena/-/issues/2build system: boost not detected due to linemarkers in GCC2019-09-27T14:37:33+02:00Robert Sachunskybuild system: boost not detected due to linemarkers in GCCThe autoconf-based build system fails on modern platforms, because the macro `m4/boost.m4` included to detect the Boost library version cannot cope with linemarkers as they come from g++ preprocessor. It suffices to run CXXCPP (or `$ac_c...The autoconf-based build system fails on modern platforms, because the macro `m4/boost.m4` included to detect the Boost library version cannot cope with linemarkers as they come from g++ preprocessor. It suffices to run CXXCPP (or `$ac_cpp` in the macro) with the `-P` option.
Again, I see no way to fork or start pull requests here. How do we proceed?Clément Démoulinsclement.demoulins@epita.frClément Démoulinsclement.demoulins@epita.frhttps://gitlab.lre.epita.fr/olena/olena/-/issues/1scribo: harmless warnings from ImageMagick cause abort2019-09-27T14:37:55+02:00Robert Sachunskyscribo: harmless warnings from ImageMagick cause abortThe scribo implementations for various popular binarization algorithms all abort when the Magick++ library's I/O routines produce exceptions – even if those are harmless, like unknown tags. This is due to missing `catch` statements.
See...The scribo implementations for various popular binarization algorithms all abort when the Magick++ library's I/O routines produce exceptions – even if those are harmless, like unknown tags. This is due to missing `catch` statements.
See full report here: https://github.com/OCR-D/ocrd_olena/issues/4