Well my FLINT makefile *still* seems to have INCS = -I"/usr/include",
so if that directory contains gmp.h on her machine, then it could well
be picking up the wrong version of GMP.

FLINT builds on sage.math without adding this directory to the INCS,
so I'd say try removing that directory from the INCS line in the FLINT
makefile.

The only other possibility might be that FLINT_GMP_INCLUDE_DIR and
FLINT_GMP_LIB_DIR are not set correctly. But probably we'd have had
more reports of failures than this, if that were the case.

Apart from these two possibilities I can't see anything wrong with
either of the FLINT files in question that come up in the error
messages. They seem to be incredibly standard usages of GMP stuff.

I presume the FLINT link option -static has been removed from the
FLINT makefile. My experience is this causes problems when linking
against the GMP and NTL in sage.

If the above ideas don't work, simply remove Z_mpn-test from the
build. It isn't used by SAGE and will probably get rewritten
eventually anyway.

Bill.

On 28 Sep, 05:09, David Harvey <[EMAIL PROTECTED]> wrote:
> >> test-support.o: In function `__gmpz_fits_uint_p':
> >> test-support.c:(.text+0x0): multiple definition of
> >> `__gmpz_fits_uint_p'
> >> Z_mpn-test.o:Z_mpn-test.c:(.text+0x0): first defined here
> >> test-support.o: In function `__gmpz_fits_ulong_p':
>
> >> Here is the end of the install.log
>
> >> ZmodF_poly.o: In function `__gmpz_abs':
> >> ZmodF_poly.c:(.text+0x5a60): multiple definition of `__gmpz_abs'
> >> mpn_extras.o:mpn_extras.c:(.text+0x19f0): first defined here
> >> collect2: ld returned 1 exit status
> >> make[2]: *** [libflint.so] Error 1
> >> make[2]: Leaving directory `/local/sage-2.8.5.1/spkg/build/
> >> flint-0.2.p2/src'
> >> Error building flint shared library.
>
> Hmmm..... maybe this is a clue, this block comment comes from gmp.h:
>
> /* The following are provided as inlines where possible, but always  
> exist as
>     library functions too, for binary compatibility.
>
>     Within gmp itself this inlining generally isn't relied on, since it
>     doesn't get done for all compilers, whereas if something is worth
>     inlining then it's worth arranging always.
>
>     There are two styles of inlining here.  When the same bit of code is
>     wanted for the inline as for the library version, then  
> __GMP_FORCE_foo
>     arranges for that code to be emitted and the __GMP_EXTERN_INLINE
>     directive suppressed, eg. mpz_fits_uint_p.  When a different bit  
> of code
>     is wanted for the inline than for the library version, then
>     __GMP_FORCE_foo arranges the inline to be suppressed, eg.  
> mpz_abs.  */
>
> So maybe those two functions are getting defined twice because some  
> choice about inlining is being screwed up.
>
> david


--~--~---------~--~----~------------~-------~--~----~
To post to this group, send email to sage-devel@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/sage-devel
URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/
-~----------~----~----~----~------~----~------~--~---

Reply via email to