1.1.3-r2784: Compile fixes for RHEL, OpenSuSE, misc patches

0 views
Skip to first unread message

mabshoff

unread,
Aug 11, 2007, 1:04:38 AM8/11/07
to linbox-use
Hello,

here are a series of 6 patches against current svn.

http://fsmath.mathematik.uni-dortmund.de/~mabshoff/patches/linbox-1.1.3svn-r2784-add-GMP_CFLAGS-to-includes.patch

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.

----

http://fsmath.mathematik.uni-dortmund.de/~mabshoff/patches/linbox-1.1.3svn-r2784-add-includes-for-linbox-config.h.patch

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.

----

http://fsmath.mathematik.uni-dortmund.de/~mabshoff/patches/linbox-1.1.3svn-r2784-add-missing-includes-to-charpoly.h.patch

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.

----

http://fsmath.mathematik.uni-dortmund.de/~mabshoff/patches/linbox-1.1.3svn-r2784-fix-version-in-configure.in.patch

The current version in configure.in is still 1.1.3. This patch
updates this to 1.1.4.

----

http://fsmath.mathematik.uni-dortmund.de/~mabshoff/patches/linbox-1.1.3svn-r2784-fix-with-maple-config-option.patch

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 ;)

----

http://fsmath.mathematik.uni-dortmund.de/~mabshoff/patches/linbox-1.1.3svn-r2784-remove-Makefile.in.patch

This Makefile.in should not be in svn, so delete it.

Please apply or complain.

Cheers,

Michael

mabshoff

unread,
Aug 13, 2007, 3:11:25 PM8/13/07
to linbox-use
Hello,

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:

http://fsmath.mathematik.uni-dortmund.de/~mabshoff/patches/linbox-1.1.3svn-r2784-make-examples-compile.patch

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

Clement Pernet

unread,
Sep 4, 2007, 11:59:47 AM9/4/07
to linbox-use
Hello,

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

Reply all
Reply to author
Forward
0 new messages