#9914: Remove some libraries from Cython modules in module_list.py
-------------------------------------------------------------------------------------------+
Reporter: leif
| Owner: leif
Type: defect
| Status: needs_review
Priority: major
| Milestone: sage-5.0
Component: build
| Resolution:
Keywords: module_list.py PARI ImportError newforms homspace mwrank
upgrade update | Work issues:
Report Upstream: N/A
| Reviewers:
Authors: Leif Leonhardy
| Merged in:
Dependencies:
| Stopgaps:
-------------------------------------------------------------------------------------------+
Comment (by leif):
Replying to [comment:17 leif]:
> Replying to [comment:15 jdemeyer]:
> > Please explain the rationale for this patch.
> > And the following sentence is also very vague: "
> > > This is inefficient, isn't nice or at least confusing and can
(actually does) cause trouble.
>
> Why specify libraries to link to if they aren't used / needed at all?
>
> This '''is''' simply confusing, obviously inefficient, and causes
trouble if the (unused) libraries the extension modules (i.e., their
`.so`s) refer to get updated, since they'll still pull in the old,
obsolete ones (which may also have already been deleted, in which case at
least less weird errors are raised), for no reason.
{{{
#!sh
# This is your (unused) library:
echo "void foo(){}" > foo.c
gcc -c foo.c
gcc -shared -o libfoo.so.1 -Wl,-soname,libfoo.so.1 foo.o
ln -sf libfoo.so.1 libfoo.so
# Now build your "extension module" bar (which doesn't *need* libfoo):
echo "int main(){}" > bar.c
gcc -o bar bar.c -L. -lfoo
# "Load" it:
LD_LIBRARY_PATH=. ./bar # fine
# Now update the unused foo library:
rm -f libfoo.so*
# Don't have to recompile foo.c, but one usually would of course.
gcc -shared -o libfoo.so.2 -Wl,-soname,libfoo.so.2 foo.o
ln -sf libfoo.so.2 libfoo.so
# Now load / run your "extension module" again:
LD_LIBRARY_PATH=. ./bar # boom
}}}
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/9914#comment:20>
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.