#9914: Remove libraries from extension modules when they are not needed there at
build time
------------------------------+---------------------------------------------
Reporter: leif | Owner: leif
Type: defect | Status: needs_work
Priority: major | Milestone: sage-4.6
Component: build | Keywords: module_list.py PARI ImportError
newforms homspace mwrank upgrade update
Author: Leif Leonhardy | Upstream: N/A
Reviewer: | Merged:
Work_issues: |
------------------------------+---------------------------------------------
Changes (by GeorgSWeber):
* status: needs_review => needs_work
Old description:
> Many extension modules in {{{devel/sage/module_list.py}}} are linked
> against libraries they do not use, some at least not directly.
>
> This is inefficient, isn't nice or at least confusing and can (actually
> does) cause trouble.
>
> See e.g. [http://trac.sagemath.org/sage_trac/ticket/9896#comment:18 this
> comment] for a discussion why.
>
> This ticket will only address the removal of ''some'' unnecessary
> libraries listed; there are most probably more.
New description:
Many extension modules in {{{devel/sage/module_list.py}}} are linked
against libraries they do not use, some at least not directly.
This is inefficient, isn't nice or at least confusing and can (actually
does) cause trouble.
See e.g. [http://trac.sagemath.org/sage_trac/ticket/9896#comment:18 this
comment] for a discussion why.
This ticket will only address the removal of ''some'' unnecessary
libraries listed; there are most probably more.
ADDED LATER: See however the later remarks about that claim of ''being
unnecessary'' ...
--
Comment:
Sorry, but this will certainly break on Cygwin!
Just have a look at the Makefile for the "g0nntl" library (in the eclib
spkg, see the file /src/g0n/Makefile, line 41):
NTLLFLAGS = -L$(NTLLIBDIR) -lntl -lgmp -lpari
This means that the g0nntl library has the pari library as a dependency.
And on Cywgin (Windows in general), not only the "primary" libraries have
to be declared as dependencies during compile time (i.e. for building e.g.
an extension module) --- but *all* libraries, i.e. also the "secondary",
"tertiary", and so on ... (one may consider this a bug, a deficiency, a
nuisance, whatever --- we have to live with it)
I've changed the title of the ticket somewhat, to reflect this, and added
a line to the description.
If this ticket is meant to fix some OS X specific issue (see the main
ticket at trac #9896), I'd propose to use the "uname_specific" feature in
such a way, that the change to the module_list.py affects Darwin --- and
only Darwin.
Ensuring that the change is visible on only as few system as possible, as
few systems as possible are affected of a possible breakage by such a
change.
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/9914#comment:4>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica,
and MATLAB
--
You received this message because you are subscribed to the Google Groups
"sage-trac" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/sage-trac?hl=en.