
I'm trying to build the Parma Polyhedra Library on powerpc-linux so I can use it for Graphite support in GCC. I've tried a lot of things and my builds normally succeed but I get lots of testsuite failures:
in Box, 60 tests with -DBOX_INSTANCES=db_r_oc in Octagonal_Shape, 58 tests with -DOCTAGONAL_SHAPE_INSTANCE=double in BD_Shape, 59 tests with -DBD_SHAPE_INSTANCE=double
Most of the failures in the double tests are due to infinite values for the second argument to less-than functions, which end up at __gmp_binary_less::eval which calls __gmp_binary_less::eval which invokes DOUBLE_NAN_INF_ACTION which calls __gmp_invalid_operation for the infinity. It looks as if the infinity should be detected and handled earlier by functions in ppl-0.10/src/check-ext.inlines.hh.
I'll attach a build script for one of the various builds I've done that get these errors. In this case I start with GCC 4.3.2, build GMP 4.2.4 as only static libraries, and then build PPL as only static libraries. I get the same testsuite failures when starting with GCC mainline and building GMP and PPL as shared libaries, but run into other problems with earlier versions of GCC or the default libgmp on my test system.
Am I doing something obviously wrong? If not, can you offer any suggestions on how to find out what's going wrong, short of learning to understand the PPL and GMP sources?
I tried using GMP 4.1.4, which doesn't use DOUBLE_NAN_INF_ACTION, but ran into various PPL configure problems. One is that some configure checks end up using /usr/include/gmpxx.h instead of the one specified for --with-libgmp, and another is that the options to link libgmpxx end up including libgcc_s.so and libm.so even though I'm trying to build and use only static libraries. If there are known issues with those configure issues I'd like to know about them as well.
Janis Johnson IBM Linux Technology Center