On Thu, Jun 3, 2010 at 11:05 PM, Ondrej Certik <[email protected]> wrote:
> On Thu, Jun 3, 2010 at 9:21 PM, William Stein <[email protected]> wrote:
>> On Thu, Jun 3, 2010 at 9:07 PM, Ondrej Certik <[email protected]> wrote:
>>> Hi,
>>>
>>> On Thu, Jun 3, 2010 at 8:44 PM, William Stein <[email protected]> wrote:
>>>> On Thu, Jun 3, 2010 at 5:09 PM, Ondrej Certik <[email protected]> wrote:
>>>>> Hi,
>>>>>
>>>>> we are revisiting prerequisites for FEMhub (currently based on the
>>>>> Sage system) and we are thinking of doing the following changes:
>>>>>
>>>>> * make Python a build dependency (Python will still be built and used
>>>>> as the python in FEMhub)
>>>>
>>>> So there has to be a system-wide Python, but you'll still build your
>>>> own.  I personally
>>>> think that is a great idea.
>>>>
>>>>> * make bzip2 a build dependency (I checked and it seems to be on the
>>>>> Mac by default now too)
>>>>
>>>> Sage has this as a dependency for at least two reasons:
>>>>
>>>>  (1) to get the bunzip2 binary, so we can extract spkg's.
>>>>
>>>>  (2) for libbz2 and corresponding header files, so that we get the
>>>> bz2 Python module, which we use for compressing our "sobj" files
>>>> (which are just bz2 compressed Python pickles).
>>>
>>> Yes,
>>>
>>>>
>>>> I don't know of any other way in which we use bzip2.  For FEMHUB (2)
>>>> might not matter.   I suspect regarding (1) that the bunzip2 is a very
>>>> reasonable prerequisite to assume is installed on your user's
>>>> computers.
>>>
>>> The only question that I am actually asking is whether:
>>>
>>> a) bzip2 should be shipped and build with Sage
>>>
>>> or
>>>
>>> b) bzip2 should be a prerequisite just like m4/gcc/perl
>>>
>>> In either case, both 1) and 2) would work. Unless I am missing something.
>>
>> You are missing something.  There is a difference between having the
>> bzip2 (and bunzip2) binaries on a system, and having the development
>> headers and libraries available.   I don't want to make the bzip2-dev
>> headers a prerequisite for building sage.
>
>
> Ah, I didn't realize that I need bzip2-dev too. In this case I think

I don't think you need bzip2-dev for femhub.  We need it for Sage
though, since we want "import bz2" to work in Sage.

> I'll create a bzip2 spkg package (with the headers), that I will
> install before Python (as any other package in Sage/FEMhub) and things
> should just work (as long as bzip2 binary is available on the system).
>
> Ondrej
>
>>
>>>>> * create a simple (order matters) list with packages to be installed,
>>>>> and the Python build system would install it one by one (sequentially)
>>>>> using "femhub -i".
>>>>
>>>> This would avoid having to use the makefile system we use.  We can't
>>>> do this with Sage because it would make inplace upgrades of Sage more
>>>> difficult, right?    Maybe you don't support this with FEMHUB, so it
>>>> doesn't matter?
>>>
>>> Yes, we don't support this.
>>>
>>>>
>>>> I actually wrote the first version of the Sage build system entirely
>>>> to support in-place upgrades, because David Kohel in Australia had
>>>> very limited bandwidth.  (It used to be really bad in Australia.)
>>>
>>> I actually totally forgot about this possibility. I guess that in
>>> principle the (Python based) buildsystem can support this too somehow,
>>> but it would make it more complex, that's for sure.
>>
>> You could certainly implement dependency checking in Python, and get rid of
>> the makefiles (deps). I used make initially only because it was
>> available and easy.
>>
>>>
>>>>
>>>>> * simplify spkg/base, remove spkg/install, spkg/default/dep
>>>>
>>>> That's basically the previous step.
>>>>
>>>>> So I wanted to ask, if bzip2 should still be shipped with Sage, or if
>>>>> it can be made a prerequisite, just like m4, gcc and perl.
>>>>
>>>> We will continue to ship it with Sage.  However, I can certainly see
>>>> you removing it from FEMHUB.
>>>
>>> Originally I wanted to have it so that Sage can use it too, but as I
>>> see it now, here is my plan:
>>>
>>> * remove the Sage buildsystem completely (all makefiles, install,
>>> dep), as well as the spkg/base dir
>>> * keep sage-spkg and sage-env, possibly modify it so that it still
>>> works (maybe some more scripts need to be kept)
>>> * ./femhub (the equivalent of ./sage) would call either the systemwide
>>> Python (during installation) or the builtin Python (after
>>> installation)
>>> * write a Python based buildsystem that uses sage-spkg to install a package
>>>
>>> So the only thing that will remain compatible with Sage are the actual
>>> packages, so if I provide the list of packages in Sage instead, it
>>> should build Sage just fine.
>>
>>  -- A big +1 to remaining compatible with the spkg format.
>>
>>>
>>> After this is done, I'll see how it goes (and if we like it) and we
>>> can think again, if it's possible to extend it so that it could be
>>> used in Sage itself. If not, I think it will not be a problem for us
>>> to maintain this buildsystem separately.
>>
>> That sounds good to me.
>>
>>  -- William
>>
>>>
>>> Ondrej
>>>
>>> --
>>> To post to this group, send an email to [email protected]
>>> To unsubscribe from this group, send an email to 
>>> [email protected]
>>> For more options, visit this group at 
>>> http://groups.google.com/group/sage-devel
>>> URL: http://www.sagemath.org
>>>
>>
>>
>>
>> --
>> William Stein
>> Professor of Mathematics
>> University of Washington
>> http://wstein.org
>>
>> --
>> To post to this group, send an email to [email protected]
>> To unsubscribe from this group, send an email to 
>> [email protected]
>> For more options, visit this group at 
>> http://groups.google.com/group/sage-devel
>> URL: http://www.sagemath.org
>>
>
> --
> To post to this group, send an email to [email protected]
> To unsubscribe from this group, send an email to 
> [email protected]
> For more options, visit this group at 
> http://groups.google.com/group/sage-devel
> URL: http://www.sagemath.org
>



-- 
William Stein
Professor of Mathematics
University of Washington
http://wstein.org

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

Reply via email to