#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.

Reply via email to