Terry Lambert wrote:
> Martin Blapp wrote:
> > > -frtti is required for dynamic_cast(expr) to work. so if it is
> > > broken, then you've got big problems.
> >
> > Lokks like you are definitly right:
> >
> > grep dynamic `find ./ -name "*.c*"`
> > ./source/ary/cpp/c_class.cxx:ary::cpp::Display * pD = dynamic_cast<
> > ary::cpp::Display* >(&o_rOut);
>
> [ ... ]
>
> I have seen this type of error and core dump with a new C++
> and old rtti header files. Make sure you are not mixing them,
> since these header files definitely have to match the compiler.
BTW: On older FreeBSD, you can't use a ports C++ to compile
C++ code, since bsd.prog.mk and bsd.lib.mk reset the include
path and will get you the older headers all the time, if
DESTDIR is set, which it will be.
If you are using a ports C++, then to see if you have this
problem, type the following:
cd /usr/share/mk
grep include/g++ *
If you see:
bsd.lib.mk:CXXINCLUDES+= -I${DESTDIR}/usr/include/g++
bsd.prog.mk:CXXINCLUDES+= -I${DESTDIR}/usr/include/g++
Then you have the problem. This is fixed in 5.x; I'm not sure
if it has been MFC'ed into more recent -stable, or not (i.e.
it may not be a problem on 4.8; the above is from a 4.6 system).
-- Terry
___
[EMAIL PROTECTED] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "[EMAIL PROTECTED]"