enblend 4.1.4 build-error with gcc-6

Bug #1537368 reported by Andreas Metzler
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Enblend
Fix Released
Medium
Christoph Spiel

Bug Description

Hello,
enblend 4.1.4 FTBFS with gcc/g++ 6 (tested with snapshot 20160117):

../../include/vigra_ext/impexalpha.hxx:252:78: error: no matching function for call to 'std::auto_ptr<vigra::Decoder>::auto_ptr(std::unique_ptr<vigra::Decoder>)'
             std::auto_ptr<vigra::Decoder> decoder(vigra::decoder(import_info));
                                                                              ^

This does not apply to HG default!

See https://bugs.debian.org/811869 and https://wiki.debian.org/GCC6

cu Andreas

Christoph Spiel (cspiel)
Changed in enblend:
status: New → In Progress
importance: Undecided → Medium
assignee: nobody → Christoph Spiel (cspiel)
Revision history for this message
Christoph Spiel (cspiel) wrote :

Fixed in rev 467a73754dbb.

I had to open up `Patchlevel 5', which is _unreleased_ and which will
remain open for a while in case gcc-6 finds more problems. That
way you can carry on testing/porting.

> This does not apply to HG default!

The offending source does not exist in the current tip of the
`Development Branch'. All local changes to Vigra were pushed
to the Vigra-project a long time ago.

Changed in enblend:
status: In Progress → Fix Committed
Revision history for this message
Andreas Metzler (k-launchpad-downhill-at-eu-org) wrote :
Download full text (3.1 KiB)

Thank you, indeed a further error as popped up:

g++-6 -DHAVE_CONFIG_H -I. -I../../src -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -I../../include -I../../src/layer_selection -I/usr/include/OpenEXR -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -pipe --param inline-unit-growth=60 -O2 -DNDEBUG -Wall -fopenmp -MT enblend-filespec.o -MD -MP -MF .deps/enblend-filespec.Tpo -c -o enblend-filespec.o `test -f 'filespec.cc' || echo '../../src/'`filespec.cc
../../src/filespec.cc: In constructor 'enblend::Globbing::Globbing()':
../../src/filespec.cc:420:113: error: ambiguous overload for 'operator=' (operand types are 'enblend::Globbing::algorithm_map {aka std::map<std::__cxx11::basic_string<char>, std::pair<bool, enblend::AbstractGlobbingAlgorithm*> >}' and 'boost::assign_detail::generic_list<std::pair<const char*, std::pair<bool, enblend::AbstractGlobbingAlgorithm*> > >')
             ("shell", MAKE_ALGORITHM(new ShellGlobbingAlgorithm))
                                                                                                                 ^
In file included from /usr/include/c++/6/map:61:0,
                 from ../../src/filespec.cc:36:
/usr/include/c++/6/bits/stl_map.h:296:7: note: candidate: std::map<_Key, _Tp, _Compare, _Alloc>& std::map<_Key, _Tp, _Compare, _Alloc>::operator=(const std::map<_Key, _Tp, _Compare, _Alloc>&) [with _Key = std::__cxx11::basic_string<char>; _Tp = std::pair<bool, enblend::AbstractGlobbingAlgorithm*>; _Compare = std::less<std::__cxx11::basic_string<char> >; _Alloc = std::allocator<std::pair<const std::__cxx11::basic_string<char>, std::pair<bool, enblend::AbstractGlobbingAlgorithm*> > >]
       operator=(const map& __x)
       ^~~~~~~~
/usr/include/c++/6/bits/stl_map.h:305:7: note: candidate: std::map<_Key, _Tp, _Compare, _Alloc>& std::map<_Key, _Tp, _Compare, _Alloc>::operator=(std::map<_Key, _Tp, _Compare, _Alloc>&&) [with _Key = std::__cxx11::basic_string<char>; _Tp = std::pair<bool, enblend::AbstractGlobbingAlgorithm*>; _Compare = std::less<std::__cxx11::basic_string<char> >; _Alloc = std::allocator<std::pair<const std::__cxx11::basic_string<char>, std::pair<bool, enblend::AbstractGlobbingAlgorithm*> > >]
       operator=(map&&) = default;
       ^~~~~~~~
In file included from /usr/include/c++/6/map:61:0,
                 from ../../src/filespec.cc:36:
/usr/include/c++/6/bits/stl_map.h:319:7: note: candidate: std::map<_Key, _Tp, _Compare, _Alloc>& std::map<_Key, _Tp, _Compare, _Alloc>::operator=(std::initializer_list<std::pair<const _Key, _Tp> >) [with _Key = std::__cxx11::basic_string<char>; _Tp = std::pair<bool, enblend::AbstractGlobbingAlgorithm*>; _Compare = std::less<std::__cxx11::basic_string<char> >; _Alloc = std::allocator<std::pair<const std::__cxx11::basic_string<char>, std::pair<bool, enblend::AbstractGlobbingAlgorithm*> > >]
       operator=(initializer_list<value_type> __l)
       ^~~~~~~~
Makefile:646: recipe for target 'enblend-filespec.o' failed
make[5]: *** [enblend-filespec.o] Error 1
make[5]: Leaving directory '/tmp/ENBLEND/enblend-enfuse-4.1.4/build-tree-mp/src'
Makefile:821: recipe for target 'all-recursive' failed
make[4]: *** [all-rec...

Read more...

Christoph Spiel (cspiel)
Changed in enblend:
status: Fix Committed → In Progress
Revision history for this message
Christoph Spiel (cspiel) wrote :

Broken compilation with gcc-6 as reported in #2 should
be fixed in rev 73e6f16de80a.

Dropped the dependency on `boost::assign' at the offending position;
it did not buy us that much anyhow.

Revision history for this message
Andreas Metzler (k-launchpad-downhill-at-eu-org) wrote : Re: [Bug 1537368] Re: enblend 4.1.4 build-error with gcc-6

On 2016-02-15 Christoph Spiel <email address hidden> wrote:
> Broken compilation with gcc-6 as reported in #2 should
> be fixed in rev 73e6f16de80a.

> Dropped the dependency on `boost::assign' at the offending position;
> it did not buy us that much anyhow.

Thanks, confirmed. I got a successful build with the gcc6 snapshot.

cu Andreas

Revision history for this message
tduell (tduell-iinet) wrote :

Chris,
Is this fix also needed in the default branch?

Cheers,
Terry

Revision history for this message
Christoph Spiel (cspiel) wrote :

Wrt to #5: No gcc-6 here, so dunno. Andreas would have hollered, though.

Revision history for this message
tduell (tduell-iinet) wrote :

And he did...in his original report text.
Just a another example of my 'domestic blindness'!
Sorry, should have read more carefully.

Cheers,
Terry

Revision history for this message
Christoph Spiel (cspiel) wrote :

Released version 4.1 Patchlevel 5:
    http://hg.code.sf.net/p/enblend/code/file/f8a34cfab8c1/NEWS

Changed in enblend:
status: In Progress → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.