I have implemented (4) and the new package file is up at http://sage.math.washington.edu/home/timdumol/pil-1.1.6.p2.spkg . A patch for sage-bdist is up at #7273. The new environment variable is $SAGE_BINARY_BUILD.
libjpeg and libtiff are in new tickets #7344 and #7345 respectively. - Tim Joseph Dumol <tim (at) timdumol (dot) com> On Thu, Oct 29, 2009 at 11:02 AM, William Stein <wst...@gmail.com> wrote: > > On Wed, Oct 28, 2009 at 7:08 PM, Tim Joseph Dumol <t...@timdumol.com> > wrote: > > As stated in http://trac.sagemath.org/sage_trac/ticket/7273, PIL has > > dependencies on libtiff and libjpeg that can break the build. > > > > There are several options: > > > > (1) PIL can be crippled -- have libtiff and libjpeg disabled even if the > > local system has them, > > > > (2) libtiff and libjpeg be included as standard libraries along with PIL, > or > > > > (3) PIL, libtiff, and libjpeg be included as optional libraries. > > There are 2 other options: > > (4) When building *binaries* for distribution, PIL does not link in > libtiff and libjpeg, even if the build system has them. When users > build Sage themselves, PIL will link in libtiff and libjpeg if the > system has them, as it does now. > > (5) We modify PIL so it gracefully fails if libtiff and libjpeg are > not available at runtime, instead of bombing out completely the moment > it tries to do anything nontrivial. This is a bog standard thing to > do, which is done in *most* Python libraries, and certainly often in > Python itself. I'm surprised it isn't done in PIL already. > > Probably (4) is easier than (5), and would be a good temporary > measure, which would allow us to put off (2). I would implement (2) > via an environment variable that gets set before building a Sage for > distribution. > > Doing (3) for libtiff and libjpeg is a no brainer. Post the packages > to trac and get them refereed. I'm against deprecating PIL to the > status of optional. > > Also, I agree with Marshall -- it would probably be wise at this point > to get a handle on porting Sage to Cygwin before adding more and more > new components to Sage. Every component has the potential to make > porting work more difficult. I can't emphasize this too much. For > example, I think Mike Hansen has spent a lot of time today frustrated > with the Windows port because we use ECL to build Maxima now, and > Maxima (and Fricas) both totally fail to build with ECL on Cygwin, > though ECL itself seems to build fine. Amusingly, they fail with the > most cryptic error I've ever seen: "no error" !. > > -- William > > > > > Here are the new packages: > > > > libtiff: > http://sage.math.washington.edu/home/timdumol/libtiff-3.9.1.p0.spkg > > > > libjpeg: http://sage.math.washington.edu/home/timdumol/libjpeg-7.p0.spkg > > > > PIL: http://sage.math.washington.edu/home/timdumol/pil-1.1.6.p1.spkg > > > > Links are also posted in the trac ticket. > > > > Can we have a vote on what to do? > > > > - Tim Joseph Dumol <tim (at) timdumol (dot) com> > > > > > > > > > > > -- > William Stein > Associate Professor of Mathematics > University of Washington > http://wstein.org > > > > --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---