Updating invenio v0.99 to v1.0 – cheatsheet

After following the steps in the INSTALL file

Mod_python error: "PythonHandler invenio.webinterface_layout"
 
Traceback (most recent call last):
 
  File "/usr/lib64/python2.4/site-packages/mod_python/apache.py", line 287, in HandlerDispatch
    log=debug)
 
  File "/usr/lib64/python2.4/site-packages/mod_python/apache.py", line 461, in import_module
    f, p, d = imp.find_module(parts[i], path)
 
ImportError: No module named invenio

Check the invenio symlink from python site-packages dir:

cd /usr/lib64/python2.4/site-packages
[root@aneto site-packages]# ls -l invenio
lrwxrwxrwx 1 root root 37 Sep 29  2008 invenio -> /soft/cds-invenio//lib/python/invenio

If this is not ok, just delete and create the new symlink to invenio:

rm invenio
ln -s /d1/invenio1/lib/python/invenio/ invenio

You can test importing Invenio files from the command line:

   $ python -c "import invenio.search_engine; print 'OK';"
   $ python -c "import invenio.webinterface_layout; print 'OK';"

A similar problem will arise regarding intbitset

Mod_python error: "PythonHandler invenio.webinterface_layout"
 
Traceback (most recent call last):
 
  File "/usr/lib64/python2.4/site-packages/mod_python/apache.py", line 287, in HandlerDispatch
    log=debug)
 
  File "/usr/lib64/python2.4/site-packages/mod_python/apache.py", line 464, in import_module
    module = imp.load_module(mname, f, p, d)
 
  File "/usr/lib64/python2.4/site-packages/invenio/webinterface_layout.py", line 30, in ?
    from invenio.webinterface_handler import create_handler
 
  File "/usr/lib64/python2.4/site-packages/invenio/webinterface_handler.py", line 43, in ?
    from invenio.webuser import get_preferred_user_language, isGuestUser, \
 
  File "/usr/lib64/python2.4/site-packages/invenio/webuser.py", line 75, in ?
    from invenio.access_control_admin import acc_get_role_id, acc_get_action_roles, acc_get_action_id, acc_is_user_in_role, acc_find_possible_activities
 
  File "/usr/lib64/python2.4/site-packages/invenio/access_control_admin.py", line 41, in ?
    from invenio.intbitset import intbitset
 
ImportError: No module named intbitset

To fix this, first locate your intbitset.so ….

[root@aneto site-packages]# locate intbitset.so
/d1/opt/cds-invenio/lib/python/invenio/intbitset.so
/home/teresa/zaguan/lib/python/invenio/intbitset.so
/soft/0.99.2/cds-invenio-0.99.2/modules/miscutil/lib/build/lib.linux-x86_64-2.4/invenio/intbitset.so

And then copy it to your site-packages folder:

cp /d1/opt/cds-invenio/lib/python/invenio/intbitset.so /usr/lib64/python2.4/site-packages/invenio/

Do not forget to:

[root@aneto site-packages]# chown -R apache:apache /d1/invenio1/

Then another error shows up:

Mod_python error: "PythonHandler invenio.webinterface_layout"
 
Traceback (most recent call last):
 
  File "/usr/lib64/python2.4/site-packages/mod_python/apache.py", line 287, in HandlerDispatch
    log=debug)
 
  File "/usr/lib64/python2.4/site-packages/mod_python/apache.py", line 464, in import_module
    module = imp.load_module(mname, f, p, d)
 
  File "/usr/lib64/python2.4/site-packages/invenio/webinterface_layout.py", line 217, in ?
    class WebInterfaceInvenio(WebInterfaceSearchInterfacePages):
 
  File "/usr/lib64/python2.4/site-packages/invenio/webinterface_layout.py", line 271, in WebInterfaceInvenio
    bibsword = WebInterfaceSword()
 
NameError: name 'WebInterfaceSword' is not defined

Try to do this:

from invenio.bibsword_webinterface import \
         WebInterfaceSword

My output is like follows:

>>> from invenio.bibsword_webinterface import WebInterfaceSword
Traceback (most recent call last):
  File "<stdin>", line 1, in ?
  File "/usr/lib64/python2.4/site-packages/invenio/bibsword_webinterface.py", line 29, in ?
    from invenio.bibsword_client import perform_display_sub_status, \
  File "/usr/lib64/python2.4/site-packages/invenio/bibsword_client.py", line 27, in ?
    from invenio.bibsword_config import CFG_SUBMISSION_STATUS_SUBMITTED, \
  File "/usr/lib64/python2.4/site-packages/invenio/bibsword_config.py", line 41, in ?
    marc_tag_main_report_number = get_tag_from_name('primary report number')
  File "/usr/lib64/python2.4/site-packages/invenio/bibformat_dblayer.py", line 85, in get_tag_from_name
    res = run_sql("SELECT value FROM tag WHERE name LIKE %s", (name,))
  File "/usr/lib64/python2.4/site-packages/invenio/dbquery.py", line 164, in run_sql
    db = _db_login(relogin=1)
  File "/usr/lib64/python2.4/site-packages/invenio/dbquery.py", line 100, in _db_login
    use_unicode=False, charset='utf8')
  File "/usr/lib64/python2.4/site-packages/MySQL_python-1.2.2-py2.4-linux-x86_64.egg/MySQLdb/__init__.py", line 74, in Connect
    return Connection(*args, **kwargs)
  File "/usr/lib64/python2.4/site-packages/MySQL_python-1.2.2-py2.4-linux-x86_64.egg/MySQLdb/connections.py", line 170, in __init__
    super(Connection, self).__init__(*args, **kwargs2)
_mysql_exceptions.OperationalError: (1045, "Access denied for user 'cdsinvenio'@'localhost' (using password: YES)")

You should add wsgi_module to apache configuration:

yum install mod_wsgi
 
vi /etc/httpd/conf/httpd.conf
# Add the following lines:
# Added 2010-12-27 para mod_wsgi -----
LoadModule wsgi_module /usr/lib64/httpd/modules/mod_wsgi.so
# -----------------------------------

If you load the demo records…

sudo -u apache ./inveniocfg --load-demo-records

and get this warning…

Error: No module named numpy

Make sure you install numpy package

yum install numpy

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Post Navigation