User talk:Darek Kedra/sandbox 21: Difference between revisions

From OpenWetWare
Jump to navigationJump to search
(apache modules)
Line 117: Line 117:
make
make
make test
make test
#t/modules/apache_status.t ............... 1/15 # Failed test 14 in t/modules/apache_status.t at line 47
# Failed test 15 in t/modules/apache_status.t at line 47 fail #2
#t/modules/apache_status.t ............... Failed 2/15 subtests
make install
make install
</pre>
</pre>


==Perl modules required by ENSEMBL==
==Perl modules required by ENSEMBL==

Revision as of 08:31, 8 May 2010

ENSEMBL Install

At this moment (2010-05-08) this is not a validated procedure guaranteed to give you a fully functional local ENSEMBL mirror / instance. These are observations observations made during an ongoing attempt to get such working installation.

Hardware

  • 4 cores Intel(R) Xeon(R) CPU E5405 @ 2.00GHz
  • 16GB RAM

This is not a prerequisite, but compilation times on slower machine will take longer time.

Software

  • Fedora 8 64-bit Linux
  • gcc 4.1.2

Requirements

  • without any databases sources directories < 1 Gb,
  • destination directory (apache2, mysql, perl, perl modules, ensembl + bioperl code, etc. ca 600Mb

General remarks

This is an attempt to get a working local ENSEMBL in a step-by-step fashion. Most likely one can get away with a bit smaller number of perl modules, no brand new copy of Perl, using distribution-specific apache2, etc. On the other hand for an ENSEMBL newbie, the safest path is to stay at the beginning as close to the provided configuration as possible. Instead of performing 100 steps, from software components installation, MySQL database creation, data loading and with final editing of ENSEMBL configuration files it may be safer to treat each of the steps separately and use error messages as checkpoints.

Web server installation

ENSEMBL relies on mod_perl.

Perl

http://www.perl.org/get.html got perl-5.12.0

cd perl-5.12.0
cd perl-5.12.0/
CFLAGS='-m64 -mtune=nocona'  ./Configure -des -A ccflags=-fPIC -Dprefix=/home/ensembl_usr/local/ 
make
make test
make install

The "CFLAGS" line is required on 64-bit Linux system to compile mod_perl. See relevant section below

Apache httpd

http://httpd.apache.org/download.cgi got httpd-2.2.15.tar.gz

installation:

./configure  --enable--deflate --enable--headers --enable--expires --prefix=/home/ensembl_usr/local/apache2
make
make test
make install

checking what is build in:

/home/ensembl_usr/local/apache2/bin/apachectl -t -D DUMP_MODULES

my output:

core_module (static)
 authn_file_module (static)
 authn_default_module (static)
 authz_host_module (static)
 authz_groupfile_module (static)
 authz_user_module (static)
 authz_default_module (static)
 auth_basic_module (static)
 include_module (static)
 filter_module (static)
 log_config_module (static)
 env_module (static)
 setenvif_module (static)
 version_module (static)
 mpm_prefork_module (static)
 http_module (static)
 mime_module (static)
 status_module (static)
 autoindex_module (static)
 asis_module (static)
 cgi_module (static)
 negotiation_module (static)
 dir_module (static)
 actions_module (static)
 userdir_module (static)
 alias_module (static)
 so_module (static)
 perl_module (shared)

I do not get here modules: deflate, headers, expires

What works (in httpd-2.2.15 directory):

cd ./modules/filters/
/home/ensembl_usr/local/apache2/bin/apxs -c mod_deflate.c
cp -i .libs/mod_deflate.so /home/ensembl_usr/local/apache2/modules/

cd ../metadata/
/home/ensembl_usr/local/apache2/bin/apxs -c mod_headers.c  
cp -i .libs/mod_headers.so /home/ensembl_usr/local/apache2/modules/


/home/ensembl_usr/local/apache2/bin/apxs -c mod_expires.c 
cp -i .libs/mod_expires.so /home/ensembl_usr/local/apache2/modules/

cd /home/ensembl_usr/local/ensembl/modules
ln -s /home/ensembl_usr/local/apache2/modules/*.so .

mod_per 4 apache2.x

http://perl.apache.org/download/index.html got mod_perl-2.0.4

cd mod_perl-2.0.4
perl Makefile.PL MP_APXS=/home/ensembl_usr/local/apache2/bin/apxs 
make
make test

#t/modules/apache_status.t ............... 1/15 # Failed test 14 in t/modules/apache_status.t at line 47
# Failed test 15 in t/modules/apache_status.t at line 47 fail #2
#t/modules/apache_status.t ............... Failed 2/15 subtests 

make install

Perl modules required by ENSEMBL

Assumes that you installed Perl in /home/ensembl_usr/local/ and got perl binary in /home/ensembl_usr/local/bin/

Check the list of modules here i.e: http://browser.1000genomes.org/info/docs/webcode/install/non-ensembl-code.html

There are several versions of this list of modules, but ultimately you may be missing several not listed modules, and you will get their names (one by one) after trying to start your ENSEMBL site.

Despite the advise of installing always the newest module versions there is one important exception: LWP. LWP version 5.812 is required by latest (2.57) ParallelUserAgent. This will be covered in a separate section of this page.

Also some modules do not install (at least on my machine) from perls CPAN shell. These may require installation by hand from sources (described later).

Easy things first:

export PATH=/home/ensembl_usr/local/bin/:$PATH
which perl
      # ~/local/bin/perl
perl -MCPAN -e shell
#<snip>
#commit: wrote '/home/ensembl_usr/local/lib/perl5/5.12.0/CPAN/Config.pm'
install Cache::Memcached 
        # Cache-Memcached-1.28.tar.gz
install CGI
	# CGI.pm-3.49.tar.gz
install CGI::Ajax
        # CGI-Ajax-0.707.tar.gz
install CGI::Session
        # CGI-Session-4.42.tar.gz
install Class::Accessor
        # Class::Accessor is up to date (0.34). // checked after installation of all modules
install Class::Data::Inheritable 
        # Class::Data::Inheritable is up to date (0.08). // checked after inst. of all modules
install Class::Std 
	# Class-Std-0.011.tar.gz
install	Class::DBI::Sweet
	# Class-DBI-Sweet-0.10.tar.gz
install Class::Std::Utils 
        # Class-Std-Utils-v0.0.3.tar.gz
install Compress::Zlib
	# Compress::Zlib is up to date (2.027).
install Compress::Raw::Zlib
        # Compress-Raw-Zlib-2.027.tar.gz
install SHLOMIF/Config-IniFiles-2.57.tar.gz
        #//  i  /Config::Inifiles/ lists 3 modules, this one is the only one which version is close to the one listed on 1000genomes.org web page (see above) 
install DBI
	#DBI-1.611.tar.gz
install DB_File
        # DB_File is up to date (1.820). // day 2, after installation of other modules
install Devel::StackTrace 
        # Devel-StackTrace-1.22.tar.gz
install GD
	#GD-2.45.tar.gz
install Data::UUID
	#Data-UUID-1.203.tar.gz
install Digest::MD5
	#Digest::MD5 is up to date (2.39).
install Exception::Class 
        # Exception-Class-1.30.tar.gz
install install Hash::Merge
	# Hash-Merge-0.12.tar.gz
install Storable
	#Storable is up to date (2.22).
install SOAP::Lite
        # SOAP-Lite-0.711.tar.gz
install XML::Parser 
	# XML::Parser is up to date (2.36).
install XML::Simple
	# XML-Simple-2.18.tar.gz
install Parse::RecDescent
	# Parse-RecDescent-1.965001.tar.gz
install	PDF::API2
	# PDF-API2-0.73.tar.gz
install Spreadsheet::WriteExcel	
	# Spreadsheet-WriteExcel-2.37.tar.gz
install OLE::Storage_Lite
	# OLE::Storage_Lite is up to date (0.19)
install Time::HiRes
	# Time-HiRes-1.9721.tar.gz
install HTML::Template
	# HTML-Template-2.9.tar.gz
install File::Temp 
	# File::Temp is up to date (0.22)
install	Mail::Mailer
	# MailTools-2.06.tar.gz
install Math::Bezier
	# Math-Bezier-0.01.tar.gz
install IO::String
	# IO-String-1.08.tar.gz
install Image::Size
	# Image-Size-3.221.tar.gz
install K/KM/KMACLEOD/libxml-perl-0.08.tar.gz 
        # // OK
install List::MoreUtils
        #List-MoreUtils-0.22.tar.gz
install Log::Log4perl
        # Log-Log4perl-1.28.tar.gz
install Number::Format
        # Number-Format-1.73.tar.gz
install DCONWAY/Parse-RecDescent-1.965001.tar.gz
        # // closest with ver. number from 1000genomes.org list
install S/SM/SMUELLER/PathTools-3.31.tar.gz 
        # // closest with ver. number from 1000genomes.org list
install Template::Plugin::Number::Format 
        # Template-Plugin-Number-Format-1.02.tar.gz
install Time::HiRes
        # Time-HiRes-1.9721.tar.gz
install XML::DOM
        # XML-DOM-1.44.tar.gz
install XML::RSS
        # XML-RSS-1.48.tar.gz
install Compress::Bzip2
	# Compress-Bzip2-2.09.tar.gz


These modules were missing when starting httpd with ENSEMBL's httpd.conf:

install BSD::Resource  
	# BSD-Resource-1.2904.tar.gz
install Sys::Hostname::Long
	# Sys-Hostname-Long-1.4.tar.gz
install JSON
	# JSON-2.21.tar.gz

Problems:

  • Template::Toolkit
   Used by BioMart
   http://www.cpan.org/modules/by-module/Template/Template-Toolkit-2.15.tar.gz
  • install DBD::mysql -> problem... on a machine without mysql