Hi Sam, Benoit, et all,

On Tue, Aug 2, 2011 at 10:42 PM, Samuele Kaplun <[email protected]> wrote:
> Hi Benoit,
>
> Il giorno mar, 02/08/2011 alle 16.15 -0400, Benoit Thiell ha scritto:
>> On our main server, we've installed Invenio with Python 2.4 as it is
>> the version that's currently "official". However our export software
>> that manages the extraction of the records from the old system and the
>> upload to Invenio uses multiprocessing and therefore we need to run it
>> with Python 2.6.
>
> actually the multiprocessing library has been backported to Python 2.4
> and you can easily generate an .rpm package for your distribution (which
> if I well remember is CentOS), by simply downloading it from:
>
> <http://pypi.python.org/packages/source/m/multiprocessing/multiprocessing-2.6.2.1.tar.gz>
>
> and then running within the sources:
>
> python setup.py bdist_rpm \
>          --packager="Benoit Thiell <[email protected]>" \
>          --release="whatever" --fix-python
>
>> At first I simply added symlinks to the Invenio libraries in
>> /usr/lib(64)?/python2.6/site-packages but ran into problems because
>> the intbitset library is compiled with Python 2.4.
>>
>> I am not satisfied with the solution I found to make the Invenio
>> libraries available to several versions of Invenio, which is to
>> install a whole new Invenio directory with another Python executable
>> (./configure --with-python=...) and make the symlinks to this new
>> directory. This means that we have to always install twice and we have
>> the risk of having inconsistent libraries and therefore can run into
>> problems.
>>
>> So is there a way to install intbitset on its own and link to the same
>> libraries from different versions of Python?
>
> this is a more complex issue that requires much more deepening (but it's
> basically bed time for me...), and I will try to provide you a better

easy_install intbitset

That would do pretty well (yum|apt get as well).

OR, given the ticket from today about BibRank needing cythonisation;
maybe we could just have all the c-extension modules in one place and
retrieve them based on the Python version. Such as:

from invenio.cmodules import intbitset

invenio/cmodules/__init__.py  will make sure that only Python2.4 is
available if I run Invenio with Python2.4, but I can also put there
Python2.6 version and it will work the same

While this might not touch all installations, a few people will have
the same problems as Benoit. intbitset inside Invenio makes it
impossible to run the same code for several sites (or even machines) -
on my side it is the search service that uses Solr. Because of
intbitset I had to install new Invenio (where I could just run from
the existing code base)

Cheers!

  roman

> answer in another email (unless someone has a quick solution to Benoit's
> problem)




>
> Cheers!
>        Sam
>
>
> --
> Samuele Kaplun
> Invenio Developer ** <http://invenio-software.org/>
>
>

Reply via email to