Tue 02 Sep 2008 02:47:07 PM UTC, original submission:
8blender_rgb555_preENS1_12row_accessorIhEEEEE14draw_poly_implINS1_11scanline_p8EEEvPKNS_8geometry7Point2dIfEEmRKNS_4rgbaESH_RT_RKNS_6matrixE[void gnash::render_handler_agg<agg::pixfmt_alpha_blend_rgb_packed<agg::blender_rgb555_pre, agg::row_accessor<unsigned char> > >::draw_poly_impl<agg::scanline_p8>(gnash::geometry::Point2d<float> const*, unsigned long, gnash::rgba const&, gnash::rgba const&, agg::scanline_p8&, gnash::matrix const&)]+0x1b2): more undefined references to `trunc' follow
./backend/render_handler_agg.cpp:1823: point(trunc(corners[0].x), trunc(corners[0].y)));
./backend/render_handler_agg.cpp:1824: path.move_to(trunc(origin.x)+0.5, trunc(origin.y)+0.5);
./backend/render_handler_agg.cpp:1830: path.line_to(trunc(pnt.x)+0.5, trunc(pnt.y)+0.5);
./backend/render_handler_agg.cpp:1834: path.line_to(trunc(origin.x)+0.5, trunc(origin.y)+0.5);
koen@dominion:/OE/monotone/org.openembedded.dev/packages/gnash$ strings /OE/angstrom-tmp/staging/arm-angstrom-linux-gnueabi/usr/lib/libm.so | grep trunc
trunc
truncl
truncf
koen@dominion:/OE/monotone/org.openembedded.dev/packages/gnash$ strings /OE/angstrom-tmp/staging/avr32-angstrom-linux-uclibc/usr/lib/libm.so.0 | grep trunc
koen@dominion:/OE/monotone/org.openembedded.dev/packages/gnash$
avr32 has no 'trunc' function in libm, while arm does have it.
The commits that broke it are:
revision 1.538
date: 2008-05-27 09:51:59 +0200; author: bwy; state: Exp; lines: +5 -5; commitid: knu3JdhLjZlqLz4t;
* configure.ac: drop tests for unused C library functions.
2008-05-17 Benjamin Wolsey <bwy@benjaminwolsey.de>
* libbase/utility.h: drop LN_2, log2, trunc replacements as they
aren't used anywhere in the code. Move exp2 define to
MovieTester.cpp as it's only used there.
* testsuite/MovieTester.{cpp,h}: add inline exp2 function in case
it's missing.
The fix is quite simple:
remove the 'dnl' from the AC_CHECK_LIB(m, trunc... in configure.ac
And readd this to libbase/utility.h:
#ifndef HAVE_TRUNC
inline double trunc(double x) { return (x < 0 ? -(std::floor(-x)) : std::floor(x)); }
#endif
|