First, linbox-1.1.7 definitely does not compile with givaro-3.2.13 in contrast to what ./configure says. It compiles fine with givaro-3.3.0.
Second, and more importantly, I am running the following minimal example program in valgrind:
[vbraun@volker-desktop linbox-test]$ valgrind ./linbox-test |& head -50
==11203== Memcheck, a memory error detector
==11203== Copyright (C) 2002-2009, and GNU GPL'd, by Julian Seward et al.
==11203== Using Valgrind-3.5.0 and LibVEX; rerun with -h for copyright info
==11203== Command: ./linbox-test
==11203==
DenseMatrix Integer Charpoly...
Integer Dense Charpoly ...
Integer Minpoly...
Modular vectorized iteration...
Convertion to BLAS Minimal polynomial...
done (0.046992 s)
Modular Dense Minpoly ...
==11203== Conditional jump or move depends on uninitialised value(s)
==11203== at 0x3043A0EDFB: __ieee754_fmod (e_fmod.c:49)
==11203== by 0x3043A24F14: fmod (w_fmod.c:36)
==11203== by 0x405708: LinBox::Modular<double>::init(double&, double) const (modular-double.h:202)
==11203== by 0x407FAF: void LinBox::FFLAS::MatVectProd<LinBox::Modular<double> >(LinBox::Modular<double> const&, LinBox::FFLAS::FFLAS_TRANSPOSE, unsigned long, unsigned long, LinBox::Modular<double>::Element, LinBox::Modular<double>::Element const*, unsigned long, LinBox::Modular<double>::Element const*, unsigned long, LinBox::Modular<double>::Element, LinBox::Modular<double>::Element*, unsigned long) (fflas_fgemv.inl:286)
==11203== by 0x411F2E: void LinBox::FFLAS::fgemv<LinBox::Modular<double> >(LinBox::Modular<double> const&, LinBox::FFLAS::FFLAS_TRANSPOSE, unsigned long, unsigned long, LinBox::Modular<double>::Element, LinBox::Modular<double>::Element const*, unsigned long, LinBox::Modular<double>::Element const*, unsigned long, LinBox::Modular<double>::Element, LinBox::Modular<double>::Element*, unsigned long) (fflas_fgemv.inl:50)
==11203== by 0x4406B3: unsigned long LinBox::FFPACK::LUdivine_construct<LinBox::Modular<double> >(LinBox::Modular<double> const&, LinBox::FFLAS::FFLAS_DIAG, unsigned long, unsigned long, LinBox::Modular<double>::Element const*, unsigned long, LinBox::Modular<double>::Element*, unsigned long, LinBox::Modular<double>::Element*, unsigned long*, bool, LinBox::FFPACK::FFPACK_MINPOLY_TAG, unsigned long, unsigned long, unsigned long) (ffpack_ludivine.inl:639)
==11203== by 0x4405D7: unsigned long LinBox::FFPACK::LUdivine_construct<LinBox::Modular<double> >(LinBox::Modular<double> const&, LinBox::FFLAS::FFLAS_DIAG, unsigned long, unsigned long, LinBox::Modular<double>::Element const*, unsigned long, LinBox::Modular<double>::Element*, unsigned long, LinBox::Modular<double>::Element*, unsigned long*, bool, LinBox::FFPACK::FFPACK_MINPOLY_TAG, unsigned long, unsigned long, unsigned long) (ffpack_ludivine.inl:630)
==11203== by 0x4405D7: unsigned long LinBox::FFPACK::LUdivine_construct<LinBox::Modular<double> >(LinBox::Modular<double> const&, LinBox::FFLAS::FFLAS_DIAG, unsigned long, unsigned long, LinBox::Modular<double>::Element const*, unsigned long, LinBox::Modular<double>::Element*, unsigned long, LinBox::Modular<double>::Element*, unsigned long*, bool, LinBox::FFPACK::FFPACK_MINPOLY_TAG, unsigned long, unsigned long, unsigned long) (ffpack_ludivine.inl:630)
==11203== by 0x4405D7: unsigned long LinBox::FFPACK::LUdivine_construct<LinBox::Modular<double> >(LinBox::Modular<double> const&, LinBox::FFLAS::FFLAS_DIAG, unsigned long, unsigned long, LinBox::Modular<double>::Element const*, unsigned long, LinBox::Modular<double>::Element*, unsigned long, LinBox::Modular<double>::Element*, unsigned long*, bool, LinBox::FFPACK::FFPACK_MINPOLY_TAG, unsigned long, unsigned long, unsigned long) (ffpack_ludivine.inl:630)
==11203== by 0x4405D7: unsigned long LinBox::FFPACK::LUdivine_construct<LinBox::Modular<double> >(LinBox::Modular<double> const&, LinBox::FFLAS::FFLAS_DIAG, unsigned long, unsigned long, LinBox::Modular<double>::Element const*, unsigned long, LinBox::Modular<double>::Element*, unsigned long, LinBox::Modular<double>::Element*, unsigned long*, bool, LinBox::FFPACK::FFPACK_MINPOLY_TAG, unsigned long, unsigned long, unsigned long) (ffpack_ludivine.inl:630)
==11203== by 0x4405D7: unsigned long LinBox::FFPACK::LUdivine_construct<LinBox::Modular<double> >(LinBox::Modular<double> const&, LinBox::FFLAS::FFLAS_DIAG, unsigned long, unsigned long, LinBox::Modular<double>::Element const*, unsigned long, LinBox::Modular<double>::Element*, unsigned long, LinBox::Modular<double>::Element*, unsigned long*, bool, LinBox::FFPACK::FFPACK_MINPOLY_TAG, unsigned long, unsigned long, unsigned long) (ffpack_ludivine.inl:630)
==11203== by 0x43CEA7: std::vector<double, std::allocator<double> >& LinBox::FFPACK::MinPoly<LinBox::Modular<double>, std::vector<double, std::allocator<double> > >(LinBox::Modular<double> const&, std::vector<double, std::allocator<double> >&, unsigned long, LinBox::Modular<double>::Element const*, unsigned long, LinBox::Modular<double>::Element*, unsigned long, unsigned long*, LinBox::FFPACK::FFPACK_MINPOLY_TAG, unsigned long, unsigned long, unsigned long) (ffpack_minpoly.inl:45)
I checked that this happens with linbox-1.1.6 and linbox-1.1.7. Any advice would be appreciated!