This came up on the thread "mercurial on t2" but I thought I'd start a new thread on it.

I'd propose that we include in any binary distribution gcc's C, C++ and Fortran shared libraries. They would be placed in $SAGE_LOCAL/lib. Then we can ensure that people will run Sage with what libraries Sage was built with, rather than what versions they may or may not have lying around.

The amount of bloat this would add to the binary would be very small. For Solaris, the compressed sizes of the files are:

-rwxr-xr-x   1 drkirkby staff       1.5M Feb 22 10:10 libstdc++.so.6.0.10.gz
-rwxr-xr-x   1 drkirkby staff       717K Feb 22 10:10 libgfortran.so.3.0.0.gz
-rw-r--r--   1 drkirkby staff        80K Feb 22 10:10 libgcc_s.so.1.gz

So adding all 3 adds 2.3 MB of extra code to the binary. But given the binary is 500 MB (not untypical), that is less than 0.5% of bloat.

By doing this, we ensure that people

 * Always have the libraries.
 * Always have the exact same versions Sage was built with.

I believe the Fortran library might already be included for Linux (I have not checked), but I'd suggest all 3 were added to binaries.

The C library is the one people most likely will have, but given it is by far the smallest, we might as well include it to be 100% sure.

Comments?


Dave

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