-
-
Notifications
You must be signed in to change notification settings - Fork 480
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
PIL spkg uses libraries it must not use #7273
Comments
comment:1
PIL will still be able to work with PNG, which we do include. That said, I'm OK with not including PIL in sage-4.2. Whoever really wants PIL in Sage should fix the above issues for a future Sage release. |
comment:2
I have made a libjpeg (I needed it for PIL) -- it is available here: http://sage.math.washington.edu/home/timdumol/libjpeg-7.p0.spkg |
comment:3
As for the TIFF library, it seems to be BSD licensed: http://www.libtiff.org/misc.html, which is GPL compatible, as far as I know. Are there any other libraries needed for inclusion? I'll gladly make an spkg for libtiff as well, if needed. |
comment:4
Here's a libtiff package: http://sage.math.washington.edu/home/timdumol/libtiff-3.9.1.p0.spkg. I'm guessing libtiff and libjpeg have to be voted in? |
This comment has been minimized.
This comment has been minimized.
comment:5
Changed PIL package as per William's suggestion at http://groups.google.com/group/sage-devel/msg/6ea0a0e0a0a2a71a. |
This comment has been minimized.
This comment has been minimized.
Author: Tim Dumol |
|
comment:6
Attachment: trac_7273-sage-bdist.spkg.gz |
This comment has been minimized.
This comment has been minimized.
comment:8
It has a patch with this name "trac_7273-sage-bdist.spkg". Huh? I have no idea what that means. I'm totally confused by this "with patch; needs review" ticket. |
comment:9
A reviewer (and, on positive review, an integrator) is IMHO supposed to do the following:
And check that everything works fine, i.e. especially in the case of building a Sage binary distribution, neither jpeg nor tiff (even though they migth be present at the host computer where the bdist takes place and/or where the Sage version was built) are added as libraries that the then newly built PIL depends on. |
comment:10
Sorry, there was some miscommunication. I do not like the design of trac_7273-sage-bdist.spkg, in that I strongly disagree with "sage -bdist" literally rebuilding parts of that Sage install. I would much prefer the following, which would fit well with my workflow: (1) introduce a SAGE_BINARY_BUILD flag (2) whenever I'm going to build sage binaries, I set that flag in my build script before ever starting any of the builds. My understanding is that in fact your pil-1.1.6.p2.spkg in fact fully accomplishes (1) and (2) above already, and that if I simply ignore the patch trac_7273-sage-bdist.spkg then I get everything I want already? Also, should libtiff and libjpeg be posted to the optional spkg repo? Is there a ticket for that? To do that, I would want a commitment that 2 people are going to maintain them, at least for the next year (say). OK, I've looked at the PIL spkg and I think it looks very good. So I'm +1 for putting this new spkg in, and I'm -1 to trac_7273-sage-bdist.spkg. |
comment:11
For standard yes, but for optional, the main thing is to get somebody to referee the packages and commit to maintaining them. |
Reviewer: William Stein |
Merged: sage-4.2.1.rc0 |
comment:12
I've merge just the spkg in 4.2.1.rc0. |
comment:14
See also here. |
New spkg's available at these url's:
http://sage.math.washington.edu/home/timdumol/pil-1.1.6.p2.spkg
#7345 -- http://sage.math.washington.edu/home/timdumol/libtiff-3.9.1.p0.spkg
#7344 -- http://sage.math.washington.edu/home/timdumol/libjpeg-7.p0.spkg
In binary build mode, the updated PIL library optionally depends on libtiff, libpng, and libjpeg with the path explicitly set to the local lib path. TCL/TK support is disabled.
From the pil-1.1.6.spkg's "setup.py":
and any of these libraries the setup thinks it finds will be set as
and the like in "building '_imaging' extension".
This means that if a Sage binary is built on a computer with having some of these libraries, then this binary will not work (might not even start) on a computer not having at least these libraries available.
Even more fun (again taken from PIL's setup.py):
Last, but not least, pil-1.1.6 as contained in Sage-4.2.alpha1 breaks the Sage build, at least on my computer. It somehow thinks it could find "libjpeg" and its includes, but then cannot:
But the problem with the binaries will occur on any platform, not only Darwin.
So we either have to also include a jpeg.spkg, a tiff.spkg, and so on in Sage (and make sure PIL uses these !!!), or cripple PIL to not use any of these libraries (even if they were present).
The former is problematic, as far as I remember e.g. the tiff license is not GPL compatible (apart from the technical aspects), but I might be mistaken. Crippling might render PIL pretty useless, however.
Component: packages: standard
Author: Tim Dumol
Reviewer: William Stein
Merged: sage-4.2.1.rc0
Issue created by migration from https://trac.sagemath.org/ticket/7273
The text was updated successfully, but these errors were encountered: