Volker,

Much thanks for your explanation.

So Sage binaries - since they depend on finding
dynamic compiler libraries like libstdc++.so - must be built
using compilers in standard locations on the build
machine, and the target
machines must have those same libraries in the same
standard locations.

This is certainly possible for Linux distributions (like
Fedora), provided

1. that the target machine has the development
package included, (the development package
includes the compiler libraries - but the
development package is not the default install
on many Linux distributions)

and

2. the user has not installed a newer (or
different) compiler suite and put it ahead
in the path and LD_LIBRARY_PATH.

[Note to whomever builds the Sage binaries using
skynet (specifically skynet/eno in this particular
case) - make sure that you
use the compilers in /usr/bin and NOT the (newer)
ones in /usr/local/bin (that I build).]

I am not sure what a complete list of necessary
complier libraries might be, but perhaps they
should be added to a requirements list?  And perhaps
a Sage binary should check for them?

An alternate possibility to requiring compiler libraries
in standard locations is to say that Sage binaries
are just for running Sage commands.  If you want
to do development work, you should build from source
(in which case Sage will find where the compiler
libraries are on your particular machine).

If I have things wrong, I hope someone will
enlighten me!

Mariah


On Jan 26, 2:43 pm, Volker Braun <vbraun.n...@gmail.com> wrote:
> Hi Mariah,
>
> On Jan 26, 6:21 pm, Mariah <mariah.le...@gmail.com> wrote:
>
> > I guess I do not understand that "usual drawbacks" to
> > statically linking to which you refer.  Can you expand, please?
>
> First off all it wastes disk space; I'm trying to make a TOPCOM spkg
> and a naive compile/make/make install will generate 200MB of binaries.
>
> The more serious issue is that you can't upgrade the libraries any
> more after they were statically linked. Or, rather, if you do then
> whoever linked to the library does not get updated.
>
> > I still am confused about what is not working in Sage.
> > Are you talking about a program external to Sage not being
> > able to dynamically link with the Sage libraries?
>
> Yes, exactly. In particular, you can't create new spkgs that
> dynamically link with existing spkgs.
>
> Cheers,
> Volker

-- 
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org

Reply via email to