here are a series of 6 patches against current svn.
If you do not have a gmp installed in /usr or /usr/lib, but in a
different location that you provide per --with-gmp option to configure
all the test during the configure run will work, but then during
compilation there gmp header directories are not included:
make[7]: Entering directory `/tmp/Work/linbox-r2784/linbox'
make[7]: Leaving directory `/tmp/Work/linbox-r2784/linbox'
if /bin/sh ../../../libtool --tag=CXX --mode=compile g++ -
DHAVE_CONFIG_H -I. -I. -I../../.. -I../../.. -I../../../gmp++ -
I../../../linbox -MT gmp++_int_mul.lo -MD -MP -MF ".deps/gmp+
+_int_mul.Tpo" -c -o gmp++_int_mul.lo gmp++_int_mul.C; \
then mv -f ".deps/gmp++_int_mul.Tpo" ".deps/gmp++_int_mul.Plo"; else
rm -f ".deps/gmp++_int_mul.Tpo"; exit 1; fi
g++ -DHAVE_CONFIG_H -I. -I. -I../../.. -I../../.. -I../../../gmp++ -
I../../../linbox -MT gmp++_int_mul.lo -MD -MP -MF .deps/gmp+
+_int_mul.Tpo -c gmp++_int_mul.C -o gmp++_int_mul.o
In file included from gmp++_int_mul.C:9:
../../../gmp++/gmp++.h:15:19: error: gmpxx.h: No such file or
directory
../../../gmp++/gmp++.h:23:17: error: gmp.h: No such file or directory
../../../gmp++/gmp++_int.h:90: error: 'mp_limb_t' was not declared in
this scope
../../../gmp++/gmp++_int.h:90: error: template argument 1 is invalid
This patch fixes that by adding GMP_CFLAGS in the right places.
----
This has happened before. Because of the move of linbox-config.h we
need to add additional include patch to some Makefile.am. This patch
is only needed for non-Debian boxes, but is needed for RHEL and
OpenSuSE. The reason probably lies in the following warning emitted
during the inital autogen.sh run:
configure.in:6: not enough arguments for AC_CONFIG_HEADERS
Until that is fixed it might be just easier to apply the patch above.
----
This patch adds the missing includes linbox/algorithms/cra-full-
multip.h and linbox/algorithms/minpoly-integer.h in linbox/solutions/
charpoly.h to fix the following two compile errors:
if /bin/sh ../../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -
I. -I. -I../.. -I../.. -I. -I../../linbox -O2 -DDISABLE_COMMENTATOR -
I/usr/local/gmp-4.2.1-static//include -MT lb-charpoly.lo -MD -MP -
MF ".deps/lb-charpoly.Tpo" -c -o lb-charpoly.lo lb-charpoly.C; \
then mv -f ".deps/lb-charpoly.Tpo" ".deps/lb-charpoly.Plo"; else rm -f
".deps/lb-charpoly.Tpo"; exit 1; fi
g++ -DHAVE_CONFIG_H -I. -I. -I../.. -I../.. -I. -I../../linbox -O2 -
DDISABLE_COMMENTATOR -I/usr/local/gmp-4.2.1-static//include -MT lb-
charpoly.lo -MD -MP -MF .deps/lb-charpoly.Tpo -c lb-charpoly.C -o lb-
charpoly.o
../../linbox/solutions/charpoly.h: In function 'Polynomial&
LinBox::charpoly(Polynomial&, const Blackbox&, const
LinBox::RingCategories::IntegerTag&, const
LinBox::BlackboxSpecifier&)':
../../linbox/solutions/charpoly.h:270: error: 'FullMultipCRA' was not
declared in this scope
../../linbox/solutions/charpoly.h:270: error: template argument 1 is
invalid
../../linbox/solutions/charpoly.h:270: error: expected unqualified-id
before '>' token
../../linbox/solutions/charpoly.h: In function 'Polynomial&
LinBox::charpoly(Polynomial&, const Blackbox&, const
LinBox::RingCategories::IntegerTag&, const
LinBox::BlasEliminationTraits&)':
../../linbox/solutions/charpoly.h:310: error: 'EarlyMultipCRA' was not
declared in this scope
../../linbox/solutions/charpoly.h:310: error: template argument 1 is
invalid
../../linbox/solutions/charpoly.h:310: error: expected unqualified-id
before '>' token
make[3]: *** [lb-charpoly.lo] Error 1
make[3]: Leaving directory `/tmp/Work/linbox-r2784/interfaces/driver'
and
if /bin/sh ../../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -
I. -I. -I../.. -I../.. -I. -I../../linbox -O2 -DDISABLE_COMMENTATOR -
I/usr/local/gmp-4.2.1-static//include -MT lb-charpoly.lo -MD -MP -
MF ".deps/lb-charpoly.Tpo" -c -o lb-charpoly.lo lb-charpoly.C; \
then mv -f ".deps/lb-charpoly.Tpo" ".deps/lb-charpoly.Plo"; else rm -f
".deps/lb-charpoly.Tpo"; exit 1; fi
g++ -DHAVE_CONFIG_H -I. -I. -I../.. -I../.. -I. -I../../linbox -O2 -
DDISABLE_COMMENTATOR -I/usr/local/gmp-4.2.1-static//include -MT lb-
charpoly.lo -MD -MP -MF .deps/lb-charpoly.Tpo -c lb-charpoly.C -o lb-
charpoly.o
../../linbox/solutions/charpoly.h: In function 'Polynomial&
LinBox::charpoly(Polynomial&, const Blackbox&, const
LinBox::RingCategories::IntegerTag&, const
LinBox::BlasEliminationTraits&)':
../../linbox/solutions/charpoly.h:311: error: 'EarlyMultipCRA' was not
declared in this scope
../../linbox/solutions/charpoly.h:311: error: template argument 1 is
invalid
../../linbox/solutions/charpoly.h:311: error: expected unqualified-id
before '>' token
make[3]: *** [lb-charpoly.lo] Error 1
make[3]: Leaving directory `/tmp/Work/linbox-r2784/interfaces/driver'
It is also probably a Debian vs. the rest of the world issue.
----
The current version in configure.in is still 1.1.3. This patch
updates this to 1.1.4.
----
There is a bug in the Makefile.am in the maple directory that leads to
the maple interface always being compiled regardless of the --with-
maple configure option. This patch fixes that. Somebody must have
mistaken m4 "if" syntax vs. make file "#ifdef" syntax :). The "#"
turns the "#ifdef #endif" pair into comments in m4 ;)
----
This Makefile.in should not be in svn, so delete it.
Please apply or complain.
Cheers,
Michael
the examples directory needs the same fixes to find linbox-config.h as
well as the rigth flags to find "external" gmp libraries. The patch
can be found at:
All the above patches made it into the LinBox package in SAGE 2.8, so
there should be quite some additional testing and so far everything
seems to work.
One more remark: The fix for the maple build makes the driver
directory compile per default even though it is only used for the
maple code. This increases compile time somewhat, but increases the
coverage the code will see. Feel free to move the driver directory
back into the case when maple support is compiled.
Cheers,
Michael
These bugs must be really non-debian friendly, since we never
encounter them. I guess, it is due to some assumptions on what the
variable CXXFLAGS are, and such. I have applied most of them, although
I think the autotools variable should be a more appropriate place to
fix them, and this should be addressed later on, when refactoring/
polishing the autotools system of linbox.
>
> http://fsmath.mathematik.uni-dortmund.de/~mabshoff/patches/linbox-1.1...
>
> If you do not have a gmp installed in /usr or /usr/lib, but in a
> different location that you provide per --with-gmp option to configure
> all the test during the configure run will work, but then during
> compilation there gmp header directories are not included:
> This patch fixes that by adding GMP_CFLAGS in the right places.
Patch Applied
> http://fsmath.mathematik.uni-dortmund.de/~mabshoff/patches/linbox-1.1...
>
> Until that is fixed it might be just easier to apply the patch above.
>
Patch applied
> http://fsmath.mathematik.uni-dortmund.de/~mabshoff/patches/linbox-1.1...
>
> This patch adds the missing includes linbox/algorithms/cra-full-
> multip.h and linbox/algorithms/minpoly-integer.h in linbox/solutions/
> charpoly.h to fix the following two compile errors:
> It is also probably a Debian vs. the rest of the world issue.
I added the
#include "linbox/algorithms/cra-full-multip.h"
#include "linbox/algorithms/cra-early-multip.h"
in charpoly but see no reason to add linbox/algorithms/minpoly-
integer.h.
If it is missing, it should be added in linbox/solutions/minpoly.h.
And I don't see any error message in the log you gave complaining
about it. Can you try to reproduce this bug please?
> http://fsmath.mathematik.uni-dortmund.de/~mabshoff/patches/linbox-1.1...
>
> The current version in configure.in is still 1.1.3. This patch
> updates this to 1.1.4.
>
Patch applied
> http://fsmath.mathematik.uni-dortmund.de/~mabshoff/patches/linbox-1.1...
>
> There is a bug in the Makefile.am in the maple directory that leads to
> the maple interface always being compiled regardless of the --with-
> maple configure option. This patch fixes that. Somebody must have
> mistaken m4 "if" syntax vs. make file "#ifdef" syntax :). The "#"
> turns the "#ifdef #endif" pair into comments in m4 ;)
>
Patch applied
>
> http://fsmath.mathematik.uni-dortmund.de/~mabshoff/patches/linbox-1.1...
>
> This Makefile.in should not be in svn, so delete it.
>
Patch applied
Thanks for your help, and sorry for the delay.
Clement