Opened 18 years ago

Closed 18 years ago

#2278 closed defect (fixed)

build fails w/gcc-4.1

Reported by: rdieter@… Owned by: Lars Gullik Bjønnes
Priority: high Milestone: 1.4.0
Component: build Version: 1.4.0cvs
Severity: normal Keywords:
Cc:

Description

lyx-1.4.0pre4 build fails with gcc-4.1 (this one seems not so trivial):

/bin/sh ../../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I.
-I../../src -I./.. -I../../boost -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2
-fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=nocona -c
-o render_graphic.lo render_graphic.C

g++ -DHAVE_CONFIG_H -I. -I. -I../../src -I./.. -I../../boost -O2 -g -pipe -Wall

-Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4
-m64 -mtune=nocona -c render_graphic.C -o render_graphic.o
In file included from ../../boost/boost/config.hpp:35,

from ../../boost/boost/bind.hpp:23,
from ../../src/support/translator.h:16,
from ../../src/graphics/GraphicsTypes.h:18,
from ../../src/graphics/GraphicsLoader.h:27,
from render_graphic.h:17,
from render_graphic.C:13:

...
../../boost/boost/bind.hpp: In function 'void boost::visit_each(V&, const
boost::_bi::value<T>&, int) [with V =
boost::signals::detail::bound_objects_visitor, T = const InsetBase*]':
../../boost/boost/bind.hpp:296: instantiated from 'void boost::_bi::list2<A1,
A2>::accept(V&) const [with V = boost::signals::detail::bound_objects_visitor,
A1 = boost::reference_wrapper<const LyX>, A2 = boost::_bi::value<const InsetBase*>]'
../../boost/boost/bind/bind_template.hpp:150: instantiated from 'void
boost::_bi::bind_t<R, F, L>::accept(V&) const [with V =
boost::signals::detail::bound_objects_visitor, R = const Buffer* const, F =
boost::_mfi::cmf1<const Buffer* const, LyX, const InsetBase*>, L =
boost::_bi::list2<boost::reference_wrapper<const LyX>, boost::_bi::value<const
InsetBase*> >]'
../../boost/boost/bind.hpp:1110: instantiated from 'void boost::visit_each(V&,
const boost::_bi::bind_t<R, F, L>&, int) [with V =
boost::signals::detail::bound_objects_visitor, R = const Buffer* const, F =
boost::_mfi::cmf1<const Buffer* const, LyX, const InsetBase*>, L =
boost::_bi::list2<boost::reference_wrapper<const LyX>, boost::_bi::value<const
InsetBase*> >]'
../../boost/boost/visit_each.hpp:25: instantiated from 'void
boost::visit_each(Visitor&, const T&) [with Visitor =
boost::signals::detail::bound_objects_visitor, T = boost::_bi::bind_t<const
Buffer* const, boost::_mfi::cmf1<const Buffer* const, LyX, const InsetBase*>,
boost::_bi::list2<boost::reference_wrapper<const LyX>, boost::_bi::value<const
InsetBase*> > >]'
../../boost/boost/signals/slot.hpp:121: instantiated from
'boost::slot<SlotFunction>::slot(const F&) [with F = boost::_bi::bind_t<const
Buffer* const, boost::_mfi::cmf1<const Buffer* const, LyX, const InsetBase*>,
boost::_bi::list2<boost::reference_wrapper<const LyX>, boost::_bi::value<const
InsetBase*> > >, SlotFunction = boost::function<void ()(), std::allocator<void> >]'
render_graphic.C:44: instantiated from here
../../boost/boost/bind.hpp:1105: error: no matching function for call to
'visit_each(boost::signals::detail::bound_objects_visitor&, const InsetBase*
const&, int)'
make[4]: * [render_graphic.lo] Error 1

details:
http://buildsys.fedoraproject.org/logs/fedora-development-extras/3494-lyx-1.4.0-0.4.pre4.fc5/

Attachments (2)

lyx-1.4.0pre5-boost.patch (1.9 KB ) - added by rdieter@… 18 years ago.
fix build against boost-1.33
boost-gcc4.1-problem.cpp (250 bytes ) - added by Georg Baum 18 years ago.
minimal test case

Download all attachments as: .zip

Change History (12)

comment:1 by rdieter@…, 18 years ago

Ditto, lyx-1.4.0pre5:
http://buildsys.fedoraproject.org/logs/fedora-development-extras/4108-lyx-1.4.0-0.5.pre5.fc5/

It apparently boils down to a boost error:
render_graphic.C:44: instantiated from here
../../boost/boost/bind.hpp:1105: error: no matching function for call to
'visit_each(boost::signals::detail::bound_objects_visitor&, const InsetBase*
const&, int)'

comment:2 by rdieter@…, 18 years ago

Got it to build against boost-1.33, using --without-included-boost, but
boost-1.33 needed a wee-bit of patching (namely, nullstream.hpp was moved).

by rdieter@…, 18 years ago

Attachment: lyx-1.4.0pre5-boost.patch added

fix build against boost-1.33

comment:3 by rdieter@…, 18 years ago

Nope, still fails...

g++ -DHAVE_CONFIG_H -I. -I. -I../../src -I./.. -O2 -g -pipe -Wall

-Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4
-m64 -mtune=generic -c render_preview.C -o render_preview.o
/usr/include/boost/bind.hpp: In function 'void boost::visit_each(V&, const
boost::_bi::value<T>&, int) [with V =
boost::signals::detail::bound_objects_visitor, T = const InsetBase*]':
/usr/include/boost/bind.hpp:297: instantiated from 'void boost::_bi::list2<A1,
A2>::accept(V&) const [with V = boost::signals::detail::bound_objects_visitor,
A1 = boost::reference_wrapper<const LyX>, A2 = boost::_bi::value<const InsetBase*>]'
/usr/include/boost/bind/bind_template.hpp:150: instantiated from 'void
boost::_bi::bind_t<R, F, L>::accept(V&) const [with V =
boost::signals::detail::bound_objects_visitor, R = const Buffer* const, F =
boost::_mfi::cmf1<const Buffer* const, LyX, const InsetBase*>, L =
boost::_bi::list2<boost::reference_wrapper<const LyX>, boost::_bi::value<const
InsetBase*> >]'
/usr/include/boost/bind.hpp:1213: instantiated from 'void
boost::visit_each(V&, const boost::_bi::bind_t<R, F, L>&, int) [with V =
boost::signals::detail::bound_objects_visitor, R = const Buffer* const, F =
boost::_mfi::cmf1<const Buffer* const, LyX, const InsetBase*>, L =
boost::_bi::list2<boost::reference_wrapper<const LyX>, boost::_bi::value<const
InsetBase*> >]'
/usr/include/boost/visit_each.hpp:25: instantiated from 'void
boost::visit_each(Visitor&, const T&) [with Visitor =
boost::signals::detail::bound_objects_visitor, T = boost::_bi::bind_t<const
Buffer* const, boost::_mfi::cmf1<const Buffer* const, LyX, const InsetBase*>,
boost::_bi::list2<boost::reference_wrapper<const LyX>, boost::_bi::value<const
InsetBase*> > >]'
/usr/include/boost/signals/slot.hpp:121: instantiated from
'boost::slot<SlotFunction>::slot(const F&) [with F = boost::_bi::bind_t<const
Buffer* const, boost::_mfi::cmf1<const Buffer* const, LyX, const InsetBase*>,
boost::_bi::list2<boost::reference_wrapper<const LyX>, boost::_bi::value<const
InsetBase*> > >, SlotFunction = boost::function<void ()(), std::allocator<void> >]'
render_graphic.C:44: instantiated from here
/usr/include/boost/bind.hpp:1208: error: no matching function for call to
'visit_each(boost::signals::detail::bound_objects_visitor&, const InsetBase*
const&, int)'
make[4]: * [render_graphic.lo] Error 1
make[4]:
* Waiting for unfinished jobs....
make[4]: Leaving directory `/builddir/build/BUILD/lyx-1.4.0pre5/src/insets'

Full build log(s) at:

http://buildsys.fedoraproject.org/logs/fedora-development-extras/4186-lyx-1.4.0-0.7.pre5.fc5/

comment:4 by rdieter@…, 18 years ago

rep_platform: OtherPC

FYI, filed the boost-1.33 patch separately in #2297.

comment:5 by rdieter@…, 18 years ago

attachments.isobsolete: 01

(From update of attachment 943)
See #2297

comment:6 by levon, 18 years ago

Milestone: 1.4.0

by Georg Baum, 18 years ago

Attachment: boost-gcc4.1-problem.cpp added

minimal test case

comment:7 by levon, 18 years ago

.

comment:8 by Lars Gullik Bjønnes, 18 years ago

Owner: changed from lasgouttes to Lars Gullik Bjønnes

comment:9 by Lars Gullik Bjønnes, 18 years ago

Status: newassigned

I got a tip on the boost list. So I think I have a fix.

comment:10 by Lars Gullik Bjønnes, 18 years ago

Resolution: fixed
Status: assignedclosed

Fix applied to repo.

Note: See TracTickets for help on using tickets.