Dear colleagues,
I'm attempting to install a local instance of Galaxy for development purposes on my Mac. The Galaxy build script issued the following warning:
Your platform (py2.5-macosx-10.6-i386-ucs2) is not supported.
Pre-built galaxy eggs are not available from the Galaxy developers for
your platform. You may be able to build them by hand with:
python scripts/scramble.py
Upon running scramble.py, it turned out that the link to pysqlite in eggs.ini is broken:
so I replaced the corresponding line in the eggs.ini file with:
(I haven't yet located a link to pysqlite 2.3.5 on the web.)
This immediately created a problem with SQLAlchemy and sqlalchemy_migrate:
File "/Users/apoon/Source/galaxy/eggs/py2.5-noplatform/SQLAlchemy-0.4.7p1-py2.5.egg/sqlalchemy/engine/base.py", line 942, in _handle_dbapi_exception
raise exceptions.DBAPIError.instance(statement, parameters, e, connection_invalidated=is_disconnect)
ProgrammingError: (ProgrammingError) Cannot operate on a closed cursor. None None
Googled the respective error messages and found that there's a version conflict with pysqlite 2.5.5. So those got updated as well, with the corresponding line edits to eggs.ini.
So far so good. But then run.sh exited with another problem:
File "lib/galaxy/model/migrate/versions/0005_cleanup_datasets_fix.py", line 665, in upgrade
for dataset in context.query( Dataset ).filter( and_( Dataset.c.deleted == True, Dataset.c.purged == False ) ):
AttributeError: type object 'Dataset' has no attribute 'c'
I poked around in that script and found that while class Dataset has no attribute 'c', it sure has attributes 'deleted' and 'purged'.
So I changed that line to:
for dataset in context.query( Dataset ).filter( and_( Dataset.deleted == True, Dataset.purged == False ) ):
Re-ran run.sh, got asked to migrate the database scheme, so sh manage_db.sh upgrade it is, followed with another run.sh
and hey, presto! My Mac is running Galaxy. ^_^
Cheers,
- Art.