> I don't know the answer about what the linker is doing, but matextract
> is also in
>
> SAGE_ROOT/local/include/pari/paridecl.h
>
> (found by using grep and find -- I really hate the find command, it
> always takes me half an hour to work out the syntax to use).
>
> --
> John
John, without knowing exactly what you were doing, I don't know how to suggest
you use find, though I agree its not the easiest command.
However, I suspect the -R (recursive) option to GNU grep would have done what I
suspect you wanted.
Note, in that below. I've not shown all the output - it is taking ages, but I
think you can see how you can search files like this quickly.
kirkby@t2:[~/sage-4.5.2.alpha1] $ /usr/sfw/bin/ggrep -R matextract *
data/extcode/pari/cremona/ell_baby.gp:m=factorback(matextract(fm,concat("^",Str(j)))~);
Binary file data/extcode/genus2reduction/core matches
devel/sage/sage/libs/pari/decl.pxi: GEN matextract(GEN x, GEN l1, GEN l2)
devel/sage-main/sage/libs/pari/decl.pxi: GEN matextract(GEN x, GEN l1,
GEN l2)
ggrep: local/lib/python2.6/python2.6: Number of symbolic links encountered
during path name traversal exceeds MAXSYMLINKS
Binary file local/lib/libpari.so matches
ggrep: local/lib/python/python2.6: Number of symbolic links encountered during
path name traversal exceeds MAXSYMLINKS
Binary file local/lib/libpari-gmp.so.2 matches
Binary file local/lib/libpari.a matches
Binary file local/lib/libpari-gmp.so.2.3.5 matches
local/include/pari/paridecl.h:GEN matextract(GEN x, GEN l1, GEN l2);
ggrep: local/LIB/python2.6/python2.6: Number of symbolic links encountered
during path name traversal exceeds MAXSYMLINKS
Binary file local/LIB/libpari.so matches
ggrep: local/LIB/python/python2.6: Number of symbolic links encountered during
path name traversal exceeds MAXSYMLINKS
Binary file local/LIB/libpari-gmp.so.2 matches
Binary file local/LIB/libpari.a matches
Binary file local/LIB/libpari-gmp.so.2.3.5 matches
I know there is at some point (I think in the Sage library) where a
file paripriv.h gets included. That caused a hassle on Solaris and
William said he was not surprised, as it was supposed to be a private
file for Pari (hence the "priv") but for some reason it has been
included. So it does not in the least surprise me if definitions from
Pari are colliding with others when a Pari header file gets included.
A similar issue happens on OS X with paripriv.h, and the hack is to
just comment out the lines causing the problem.
I don't understand why a private file is included.
Of course, paripriv.h may be totally unrelated.
Dave
Yes, I think so.
I'd certainly look at paripriv.h and avoid anything declared in there.
> Thanks for the background info!
> Simon
>
No problem. I'm not saying that is the cause, but exposing to Sage a lot of
internal stuff of Pari seems a bit unwise.
Dave