[ome-devel] installing OME on Ubuntu

Curtis Rueden ctrueden at wisc.edu
Wed May 31 22:29:02 BST 2006


Hi,

Lately I switched my main development machine from Debian to Ubuntu (very
similar, since Ubuntu is Debian-derived).

I have brought the OME website Debian/Ubuntu documentation up to date, and
added some clarifications (such as the trouble with DBD::Pg, and how to make
Postgres work on Ubuntu Breezy). I also updated the master list of Perl
modules on the prerequisites page, since it was quite out of date.

I have committed some improvements to the OME install script to address a
couple of issues. First, I eliminated the "Use of uninitialized value in
print" messages when a default value is undefined (Terminal.pm). More
importantly, I added the option to have the installer automatically drop the
database for you if one already exists from a previous failed install (
CoreDatabaseTablesTask.pm). It seems to work on my system; let me know if it
causes any problems.

Three issues remain for me, with #3 being by far the most critical. I
thought I'd run them by the list before digging too much deeper.

1) During Apache Setup, I receive the errors:

In PID 10408, Error calling UpdateOMEIS: Could not open Pixels/lastPix
(perhaps there is no Pixels repository yet?)
System Error: No such file or directory
In PID 10408, Error calling UpdateOMEIS: Could not get last Pixels ID
(perhaps there are none?)
System Error: Bad file descriptor

It looks like these are from Pixels.c in OMEIS. But of course those things
do not exist for a fresh install. I would say that ideally, the messages
should be suppressed in that case, but was unsure how difficult doing so
would be.

2) My Apache2 document root and cgi-bin directories are not properly
detected:

Apache cgi-bin directory : []: /usr/lib/cgi-bin
Install data server (omeds) ? [y/n]:
Install web server ? [y/n]:
Copy index.html to : []: /var/www

Typing them in manually works fine, but it seems odd that these standard (I
thought) directories are causing trouble. (I do not mind looking into making
these defaults work properly in the installer, but have not yet figured out
how to do so.)

3) Most critically, my install dies during Bootstrapping Database, as
follows:

Generating request for http://skyking.microscopy.wisc.edu/cgi-bin/omeis
Getting response from http://skyking.microscopy.wisc.edu/cgi-bin/omeis
Parsing response from http://skyking.microscopy.wisc.edu/cgi-bin/omeis
Repository is configured correctly
SUCCESS LOADING XML FILE
"/home/curtis/OME/src/xml/OME/Annotations/InstallationModule.ome"
SUCCESS LOADING XML FILE
"/home/curtis/OME/src/xml/OME/Core/Experimenter.ome"
ERROR LOADING XML FILE
"/home/curtis/OME/src/xml/OME/Core/OMEIS/Repository.ome" -- OUTPUT: "500 EOF
when chunk header expected
 at /home/curtis/OME/src/perl2/OME/Image/Server.pm line 474
    OME::Image::Server::__callOMEIS('OME::Image::Server', 'Method',
'UploadFile', 'File',
'/home/curtis/OME/src/xml/OME/Core/OMEIS/Repository.ome') called at
/home/curtis/OME/src/perl2/OME/Image/Server.pm line 1060
    OME::Image::Server::uploadFile('OME::Image::Server',
'/home/curtis/OME/src/xml/OME/Core/OMEIS/Repository.ome') called at
/home/curtis/OME/src/perl2/OME/Image/Server/File.pm line 128
    OME::Image::Server::File::upload('OME::Image::Server::File',
'/home/curtis/OME/src/xml/OME/Core/OMEIS/Repository.ome') called at
/home/curtis/OME/src/perl2/OME/Tasks/OMEImport.pm line 138

OME::Tasks::OMEImport::importFile('OME::Tasks::OMEImport=HASH(0x99ffcb0)',
'/home/curtis/OME/src/xml/OME/Core/OMEIS/Repository.ome', 'NoDuplicates', 1,
'IgnoreAlterTableErrors', 1) called at
/home/curtis/OME/src/perl2/OME/Install/CoreDatabaseTablesTask.pm line 1037
    eval {...} called at
/home/curtis/OME/src/perl2/OME/Install/CoreDatabaseTablesTask.pm line 1036

OME::Install::CoreDatabaseTablesTask::load_xml_bootstrap('OME::Session=HASH(0x99f2db8)')
called at /home/curtis/OME/src/perl2/OME/Install/CoreDatabaseTablesTask.pm
line 1521

It's weird because the first couple of OME files are loaded fine. I checked,
and Repository.ome is definitely present in my source tree, with the same
permissions as the other OME files. So I'm not sure how to proceed in
tackling this problem.

Could it be because I am running Apache2? I remember awhile back it was
discouraged to use Apache2 with OME, but was under the impression that is no
longer the case.

Any thoughts are greatly appreciated.

-Curtis

=================================
Full console output:
=================================

--------------
 Apache Setup
--------------

(All verbose information logged in
/var/tmp/OME/install/ApacheConfigTask.log)

OME Apache web server configuration is a critical part of your OME install.
OME's web interface, remote clients and image server all use this
infrastructure to communicate. If you are unsure of a particular question,
please choose the default as that will be more than adequate for most
people.

In PID 15287, Error calling UpdateOMEIS: Could not open Pixels/lastPix
(perhaps there is no Pixels repository yet?)
System Error: No such file or directory
In PID 15287, Error calling UpdateOMEIS: Could not get last Pixels ID
(perhaps there are none?)
System Error: Bad file descriptor
Configure Apache server? [y/n]:
Your OME installation can be configured for development or deployment.
For developers, Apache can be configured to serve OME out of the
installation directory (currently /home/curtis/OME/src/perl2).
This configuration lets modifications to OME code be picked up immediately
by Apache without having to re-run the installer.
For deployment (the default), Apache will be configured to serve OME from
the operating system's Perl directory, ignoring any subsequent
modifications in /home/curtis/OME/src/perl2.

Use OME Apache-2.x configuration for developers? [y/n]: y
Install image server (omeis) ? [y/n]:
Apache cgi-bin directory : []: /usr/lib/cgi-bin
Install data server (omeds) ? [y/n]:
Install web server ? [y/n]:
Copy index.html to : []: /var/www
Use HTML Templates configuration for developers ? [y/n]: y
Look for HTML Templates in: [/home/curtis/OME/src/html/Templates]:


Apache configuration:
        Configure Apache?: yes
  Developer configuration: yes
          Server restart?: yes
Install OME servers:
           Images (omeis): yes
             Data (omeds): yes
                      Web: yes
Apache directories:
             httpd binary: /usr/sbin/apache2
         apachectl binary: /usr/sbin/apache2ctl
             DocumentRoot: /var/www
                  cgi-bin: /usr/lib/cgi-bin
Web-UI HTML Templates:
  Developer configuration: yes
 HTML Templates directory: /home/curtis/OME/src/html/Templates

Are these values correct ? [y/n]:
Testing Apache configuration
  \__ mod_perl [SUCCESS].
  \__ omeis [SUCCESS].
Dropping umask to "0002".
Installing HTML Templates for Web-UI
  \__ Verifying structure of /home/curtis/OME/src/html/Templates [SKIPPING].
  \__ Updating user templates [SKIPPING].
  \__ Updating system templates [SKIPPING].
  \__ Setting owner for templates to [SKIPPING].
  \__ Setting permissions for user templates to [SKIPPING].
  \__ Setting permissions for system templates to [SKIPPING].

---------------------------
 Optional OME-MATLAB Setup
---------------------------

(All verbose information logged in /var/tmp/OME/install/MatlabTask.log)

Install analysis engine interface to MATLAB ? [y/n]:

MATLAB Perl API configuration:
 Install MATLAB Perl API?: no

Are these values correct ? [y/n]:
--------------------
 Database Bootstrap
--------------------

(All verbose information logged in
/var/tmp/OME/install/CoreDatabaseTablesTask.log)

Finding DB configuration in installation environment [USING DEFAULT].
Database connection information
N.B.:  The database host must already be installed and running.
It must already be configured for accepting the connection
specified here, or a superuser connection from user "postgres".
   Database Delegate Class: OME::Database::PostgresDelegate
             Database Name: ome
                      Host: undefined (local)
                      Port: undefined (default)
Username for DB connection: undefined (process owner)

Are these values correct ? [y/n]:
Creating OME PostgreSQL SUPERUSER (ome)[SUCCESS].
Creating Apache PostgreSQL SUPERUSER (www-data)[SUCCESS].
Creating Admin PostgreSQL SUPERUSER (curtis)[SUCCESS].
Checking database
>From DB, got DB_Version = '2.22-Installing'
Found an existing ome database, but apparently installation
failed before it was complete.
The existing ome database must be dropped before continuing.
WARNING:  Do not do this if you have an existing functional database,
          especially if you don't have a current backup!!!
Are you sure you want to proceed ? [y/n]: y
Database dropped successfully.
Creating PostgreSQL database ome...     [Done.]
Fixing OID/INTEGER compatability bug...WARNING:  changing return type of
function plpgsql_call_handler from "opaque" to "language_handler"
        [Done.]
Loading the database schema
  \__ OME::LookupTable NOTICE:  CREATE TABLE / PRIMARY KEY will create
implicit index "lookup_tables_pkey" for table "lookup_tables"
[SUCCESS].
  \__ OME::LookupTable::Entry NOTICE:  CREATE TABLE / PRIMARY KEY will
create implicit index "lookup_table_entries_pkey" for table
"lookup_table_entries"
[SUCCESS].
  \__ OME::DataTable NOTICE:  CREATE TABLE / PRIMARY KEY will create
implicit index "data_tables_pkey" for table "data_tables"
[SUCCESS].
  \__ OME::DataTable::Column NOTICE:  CREATE TABLE / PRIMARY KEY will create
implicit index "data_columns_pkey" for table "data_columns"
[SUCCESS].
  \__ OME::SemanticType NOTICE:  CREATE TABLE / PRIMARY KEY will create
implicit index "semantic_types_pkey" for table "semantic_types"
NOTICE:  CREATE TABLE / UNIQUE will create implicit index
"semantic_types_name_key" for table "semantic_types"
[SUCCESS].
  \__ OME::SemanticType::Element NOTICE:  CREATE TABLE / PRIMARY KEY will
create implicit index "semantic_elements_pkey" for table "semantic_elements"
[SUCCESS].
  \__ OME::SemanticType::BootstrapExperimenter NOTICE:  CREATE TABLE /
PRIMARY KEY will create implicit index "experimenters_pkey" for table
"experimenters"
NOTICE:  CREATE TABLE / UNIQUE will create implicit index
"experimenters_ome_name_key" for table "experimenters"
[SUCCESS].
  \__ OME::SemanticType::BootstrapGroup NOTICE:  CREATE TABLE / PRIMARY KEY
will create implicit index "groups_pkey" for table "groups"
[SUCCESS].
  \__ OME::SemanticType::BootstrapExperimenterGroup NOTICE:  CREATE TABLE /
PRIMARY KEY will create implicit index "experimenter_group_map_pkey" for
table "experimenter_group_map"
[SUCCESS].
  \__ OME::SemanticType::BootstrapRepository NOTICE:  CREATE TABLE / PRIMARY
KEY will create implicit index "repositories_pkey" for table "repositories"
NOTICE:  CREATE TABLE / UNIQUE will create implicit index
"repositories_image_server_url_key" for table "repositories"
NOTICE:  CREATE TABLE / UNIQUE will create implicit index
"repositories_path_key" for table "repositories"
[SUCCESS].
  \__ OME::Dataset NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit
index "datasets_pkey" for table "datasets"
[SUCCESS].
  \__ OME::Project NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit
index "projects_pkey" for table "projects"
[SUCCESS].
  \__ OME::Project::DatasetMap [SUCCESS].
  \__ OME::Image NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit
index "images_pkey" for table "images"
[SUCCESS].
  \__ OME::Image::DatasetMap [SUCCESS].
  \__ OME::Feature NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit
index "features_pkey" for table "features"
[SUCCESS].
  \__ OME::UserState NOTICE:  CREATE TABLE / PRIMARY KEY will create
implicit index "ome_sessions_pkey" for table "ome_sessions"
[SUCCESS].
  \__ OME::ViewerPreferences NOTICE:  CREATE TABLE / PRIMARY KEY will create
implicit index "viewer_preferences_pkey" for table "viewer_preferences"
[SUCCESS].
  \__ OME::LSID [SUCCESS].
  \__ OME::Module::Category NOTICE:  CREATE TABLE / PRIMARY KEY will create
implicit index "module_categories_pkey" for table "module_categories"
[SUCCESS].
  \__ OME::Module NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit
index "modules_pkey" for table "modules"
[SUCCESS].
  \__ OME::Module::FormalInput NOTICE:  CREATE TABLE / PRIMARY KEY will
create implicit index "formal_inputs_pkey" for table "formal_inputs"
[SUCCESS].
  \__ OME::Module::FormalOutput NOTICE:  CREATE TABLE / PRIMARY KEY will
create implicit index "formal_outputs_pkey" for table "formal_outputs"
[SUCCESS].
  \__ OME::AnalysisChain NOTICE:  CREATE TABLE / PRIMARY KEY will create
implicit index "analysis_chains_pkey" for table "analysis_chains"
[SUCCESS].
  \__ OME::AnalysisChain::Node NOTICE:  CREATE TABLE / PRIMARY KEY will
create implicit index "analysis_chain_nodes_pkey" for table
"analysis_chain_nodes"
[SUCCESS].
  \__ OME::AnalysisChain::Link NOTICE:  CREATE TABLE / PRIMARY KEY will
create implicit index "analysis_chain_links_pkey" for table
"analysis_chain_links"
[SUCCESS].
  \__ OME::AnalysisPath NOTICE:  CREATE TABLE / PRIMARY KEY will create
implicit index "analysis_paths_pkey" for table "analysis_paths"
[SUCCESS].
  \__ OME::AnalysisPath::Map [SUCCESS].
  \__ OME::Analysis::Engine::Worker NOTICE:  CREATE TABLE / PRIMARY KEY will
create implicit index "analysis_workers_pkey" for table "analysis_workers"
[SUCCESS].
  \__ OME::ModuleExecution NOTICE:  CREATE TABLE / PRIMARY KEY will create
implicit index "module_executions_pkey" for table "module_executions"
[SUCCESS].
  \__ OME::ModuleExecution::ActualInput NOTICE:  CREATE TABLE / PRIMARY KEY
will create implicit index "actual_inputs_pkey" for table "actual_inputs"
[SUCCESS].
  \__ OME::ModuleExecution::SemanticTypeOutput NOTICE:  CREATE TABLE /
PRIMARY KEY will create implicit index "semantic_type_outputs_pkey" for
table "semantic_type_outputs"
[SUCCESS].
  \__ OME::ModuleExecution::ParentalOutput NOTICE:  CREATE TABLE / PRIMARY
KEY will create implicit index "parental_outputs_pkey" for table
"parental_outputs"
[SUCCESS].
  \__ OME::ModuleExecution::VirtualMEXMap [SUCCESS].
  \__ OME::AnalysisChainExecution NOTICE:  CREATE TABLE / PRIMARY KEY will
create implicit index "analysis_chain_executions_pkey" for table
"analysis_chain_executions"
[SUCCESS].
  \__ OME::AnalysisChainExecution::NodeExecution NOTICE:  CREATE TABLE /
PRIMARY KEY will create implicit index "analysis_node_executions_pkey" for
table "analysis_node_executions"
[SUCCESS].
  \__ OME::Task NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit
index "tasks_pkey" for table "tasks"
[SUCCESS].
  \__ OME::Configuration::Variable NOTICE:  CREATE TABLE / PRIMARY KEY will
create implicit index "configuration_pkey" for table "configuration"
[SUCCESS].
----------------------------
 Initializing configuration
----------------------------

The installer will now finalize your OME environment by asking you for an
LSID authority and to provide an initial user for you to use with the web
interface and Java clients.

The LSID authority is a type of universal identification for your OME
environment and it should be defined as the FQDN (fully qualified domain
name) of the install machine; "myome.openmicroscopy.org" for example. If
you are unsure of what to enter here ask your network/systems administrator
or use the default as that will be adequate for most people.

LSID Authority [skyking]: skyking.microscopy.wisc.edu
-----------------------
 Initial user creation
-----------------------

This user will be yourself or the person who will administer the OME
environment after installation. It is internal to OME. You will use this
username and password to use OME and add new OME users and groups. The
default data directory option is the path on this machine which contains
(or will contain) the proprietary image files (greyscale TIFF's for
example) you wish to import into OME. An example default data directory
would be "/home/joe/my_ome_images".

            First name: Curtis
             Last name: Rueden
              Username: curtis
        E-mail address: curtis at skyking
Default data directory: /home/curtis

Are these values correct ? [y/n]:
Set password for OME user curtis:
Verify:
------------------------
 Bootstrapping Database
------------------------

  \__ Creating repository object

What is the URL of the OME Image server (omeis) ? [
http://skyking/cgi-bin/omeis]:
http://skyking.microscopy.wisc.edu/cgi-bin/omeis
Checking OMEIS repository [SUCCESS].
Importing bootstrap XML
  \__ /home/curtis/OME/src/xml/OME/Annotations/InstallationModule.ome
OME::Tasks::LSIDManager::getRemoteObject() is not implemented. at
/home/curtis/OME/src/perl2/OME/ImportExport/ModuleImport.pm line 183
[SUCCESS].
  \__ /home/curtis/OME/src/xml/OME/Core/Experimenter.ome [SUCCESS].
  \__ /home/curtis/OME/src/xml/OME/Core/OMEIS/Repository.ome [FAILURE].


Errors executing task: Error loading XML file
"/home/curtis/OME/src/xml/OME/Core/OMEIS/Repository.ome", see
CoreDatabaseTablesTask.log details. at (eval 201) line 1

 at ./install.pl line 81
        main::run_tasks() called at ./install.pl line 265
# Looks like your test died before it could output anything.


=================================
/var/tmp/OME/install/CoreDatabaseTablesTask.log:
=================================

Creating OME PostgreSQL SUPERUSER (ome)
Found an existing ome database in the middle of being updated

SUCCESS LOADING CLASS "OME::LookupTable"
SUCCESS LOADING CLASS "OME::LookupTable::Entry"
SUCCESS LOADING CLASS "OME::DataTable"
SUCCESS LOADING CLASS "OME::DataTable::Column"
SUCCESS LOADING CLASS "OME::SemanticType"
SUCCESS LOADING CLASS "OME::SemanticType::Element"
SUCCESS LOADING CLASS "OME::SemanticType::BootstrapExperimenter"
SUCCESS LOADING CLASS "OME::SemanticType::BootstrapGroup"
SUCCESS LOADING CLASS "OME::SemanticType::BootstrapExperimenterGroup"
SUCCESS LOADING CLASS "OME::SemanticType::BootstrapRepository"
SUCCESS LOADING CLASS "OME::Dataset"
SUCCESS LOADING CLASS "OME::Project"
SUCCESS LOADING CLASS "OME::Project::DatasetMap"
SUCCESS LOADING CLASS "OME::Image"
SUCCESS LOADING CLASS "OME::Image::DatasetMap"
SUCCESS LOADING CLASS "OME::Feature"
SUCCESS LOADING CLASS "OME::UserState"
SUCCESS LOADING CLASS "OME::ViewerPreferences"
SUCCESS LOADING CLASS "OME::LSID"
SUCCESS LOADING CLASS "OME::Module::Category"
SUCCESS LOADING CLASS "OME::Module"
SUCCESS LOADING CLASS "OME::Module::FormalInput"
SUCCESS LOADING CLASS "OME::Module::FormalOutput"
SUCCESS LOADING CLASS "OME::AnalysisChain"
SUCCESS LOADING CLASS "OME::AnalysisChain::Node"
SUCCESS LOADING CLASS "OME::AnalysisChain::Link"
SUCCESS LOADING CLASS "OME::AnalysisPath"
SUCCESS LOADING CLASS "OME::AnalysisPath::Map"
SUCCESS LOADING CLASS "OME::Analysis::Engine::Worker"
SUCCESS LOADING CLASS "OME::ModuleExecution"
SUCCESS LOADING CLASS "OME::ModuleExecution::ActualInput"
SUCCESS LOADING CLASS "OME::ModuleExecution::SemanticTypeOutput"
SUCCESS LOADING CLASS "OME::ModuleExecution::ParentalOutput"
SUCCESS LOADING CLASS "OME::ModuleExecution::VirtualMEXMap"
SUCCESS LOADING CLASS "OME::AnalysisChainExecution"
SUCCESS LOADING CLASS "OME::AnalysisChainExecution::NodeExecution"
SUCCESS LOADING CLASS "OME::Task"
SUCCESS LOADING CLASS "OME::Configuration::Variable"
Checking repository
Repository URL: http://skyking.microscopy.wisc.edu/cgi-bin/omeis
ENVIRONMENT->omeis_url(): http://skyking.microscopy.wisc.edu/cgi-bin/omeis
Getting an LWP user agent
Generating request for http://skyking.microscopy.wisc.edu/cgi-bin/omeis
Getting response from http://skyking.microscopy.wisc.edu/cgi-bin/omeis
Parsing response from http://skyking.microscopy.wisc.edu/cgi-bin/omeis
Repository is configured correctly
SUCCESS LOADING XML FILE
"/home/curtis/OME/src/xml/OME/Annotations/InstallationModule.ome"
SUCCESS LOADING XML FILE
"/home/curtis/OME/src/xml/OME/Core/Experimenter.ome"
ERROR LOADING XML FILE
"/home/curtis/OME/src/xml/OME/Core/OMEIS/Repository.ome" -- OUTPUT: "500 EOF
when chunk header expected
 at /home/curtis/OME/src/perl2/OME/Image/Server.pm line 474
    OME::Image::Server::__callOMEIS('OME::Image::Server', 'Method',
'UploadFile', 'File',
'/home/curtis/OME/src/xml/OME/Core/OMEIS/Repository.ome') called at
/home/curtis/OME/src/perl2/OME/Image/Server.pm line 1060
    OME::Image::Server::uploadFile('OME::Image::Server',
'/home/curtis/OME/src/xml/OME/Core/OMEIS/Repository.ome') called at
/home/curtis/OME/src/perl2/OME/Image/Server/File.pm line 128
    OME::Image::Server::File::upload('OME::Image::Server::File',
'/home/curtis/OME/src/xml/OME/Core/OMEIS/Repository.ome') called at
/home/curtis/OME/src/perl2/OME/Tasks/OMEImport.pm line 138

OME::Tasks::OMEImport::importFile('OME::Tasks::OMEImport=HASH(0x99ffcb0)',
'/home/curtis/OME/src/xml/OME/Core/OMEIS/Repository.ome', 'NoDuplicates', 1,
'IgnoreAlterTableErrors', 1) called at
/home/curtis/OME/src/perl2/OME/Install/CoreDatabaseTablesTask.pm line 1037
    eval {...} called at
/home/curtis/OME/src/perl2/OME/Install/CoreDatabaseTablesTask.pm line 1036

OME::Install::CoreDatabaseTablesTask::load_xml_bootstrap('OME::Session=HASH(0x99f2db8)')
called at /home/curtis/OME/src/perl2/OME/Install/CoreDatabaseTablesTask.pm
line 1521
    OME::Install::CoreDatabaseTablesTask::execute() called at (eval 201)
line 1
    eval 'OME::Install::CoreDatabaseTablesTask::execute()
;' called at ./install.pl line 80
    main::run_tasks() called at ./install.pl line 265
"
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.openmicroscopy.org.uk/pipermail/ome-devel/attachments/20060531/dd8358ef/attachment-0001.htm 


More information about the ome-devel mailing list