User talk:Darek Kedra/sandbox 21: Difference between revisions
Darek Kedra (talk | contribs) |
Darek Kedra (talk | contribs) |
||
Line 137: | Line 137: | ||
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). | 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). | ||
===CPAN Shell=== | |||
Easy things first: | Easy things first: | ||
<pre> | <pre> | ||
export PATH=/home/ensembl_usr/local/bin/:$PATH | export PATH=/home/ensembl_usr/local/bin/:$PATH | ||
Line 252: | Line 254: | ||
</pre> | </pre> | ||
===From sources=== | |||
* DBD::mysql | |||
Problem: requires MySQL (at least mysql client) on the same machine | |||
** install MySQL | |||
mysql-5.1.46 | |||
<pre> | |||
./configure --prefix=/home/ensembl_usr/local/ | |||
make | |||
make check | |||
make test | |||
</pre> | |||
this is a long compile even on a fast machine. | |||
** DBD::mysql itself | |||
<pre> | |||
cd DBD-mysql-4.014 | |||
perl Makefile.PL --with-mysql=/home/ensembl_usr/local/mysql/ | |||
make | |||
make install | |||
</pre> | |||
Not tested: for proper testing you have to have an access to a running MySQL instance | |||
* Bio::Das::Lite | |||
===> problem in CPAN shell: install Bio::Das::Lite | |||
depends on WWW::Curl , | |||
reports SZBALINT/WWW-Curl-4.11.tar.gz | |||
Running make install | |||
make test had returned bad status, won't install without force | |||
going for source install | |||
** WWW::Curl | |||
got: WWW-Curl-4.11 | |||
<pre> | |||
cd WWW-Curl-4.11/ | |||
perl Makefile.PL PREFIX=/home/ensembl_usr/local/ | |||
make | |||
make test | |||
#Failed 1/20 test programs. 3/177 subtests failed. | |||
#make: *** [test_dynamic] Error 255 | |||
make install | |||
</pre> | |||
** Bio::Das::Lite | |||
<pre> | |||
cd Bio-Das-Lite-2.03/ | |||
perl Makefile.PL PREFIX=/home/ensembl_usr/local/ | |||
make | |||
make test | |||
#Failed 18/22 test programs. 0/1 subtests failed. | |||
make install | |||
</pre> | |||
This one does not look good. A number of errors like "Bareword "CURLOPT_PROXYUSERNAME" not allowed while "strict subs" in use at lib/Bio/Das/Lite.pm line 861.". No solution at this point. | |||
* Template::Toolkit | * Template::Toolkit | ||
Used by BioMart | |||
got Template-Toolkit-2.22 | |||
<pre> | |||
cd Template-Toolkit-2.22 | |||
perl Makefile.PL PREFIX=/home/ensembl_usr/local/ | |||
make | |||
make test | |||
#All tests successful. | |||
make install | |||
</pre> | |||
===ParallelUserAgent === | |||
The most current version (2.57) has not been updated in years, and requires old (5.812) wersion of LWN. | |||
* git (in case you do not have it) | |||
http://git-scm.com/ | |||
got git-1.7.1 | |||
<pre> | |||
./configure --prefix=/home/ensembl_usr/local/ | |||
make | |||
make test | |||
make install | |||
<pre> | |||
* | * libwww ver. 5.812 | ||
<pre> | |||
mkdir libwww_old | |||
cd libwww_old | |||
git clone git://gitorious.org/libwww-perl/mainline.git | |||
cd mainline | |||
git checkout R5.812 | |||
perl Makefile.PL PREFIX=/home/ensembl_usr/local/ | |||
make | |||
make test | |||
#local/httpsub.t (Wstat: 512 Tests: 0 Failed: 0) | |||
# Non-zero exit status: 2 | |||
# Parse errors: No plan found in TAP output | |||
# <snip> | |||
# Failed 1/33 test programs. 0/833 subtests failed. | |||
</pre> | |||
* ParallelUserAgent (itself) | |||
<pre> | |||
export PERL5LIB=/home/ensembl_usr/local/lib/perl5/ | |||
wget http://search.cpan.org/CPAN/authors/id/M/MA/MARCLANG/ParallelUserAgent-2.57.tar.gz | |||
tar xfvz ParallelUserAgent-2.57.tar.gz | |||
cd ParallelUserAgent-2.57 | |||
perl Makefile.PL PREFIX=/home/ensembl_usr/local/ | |||
make | |||
make test | |||
# All tests successful. | |||
make install | |||
</pre> |
Revision as of 09:27, 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).
CPAN Shell
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
From sources
- DBD::mysql
Problem: requires MySQL (at least mysql client) on the same machine
- install MySQL
mysql-5.1.46
./configure --prefix=/home/ensembl_usr/local/ make make check make test
this is a long compile even on a fast machine.
- DBD::mysql itself
cd DBD-mysql-4.014 perl Makefile.PL --with-mysql=/home/ensembl_usr/local/mysql/ make make install
Not tested: for proper testing you have to have an access to a running MySQL instance
- Bio::Das::Lite
===> problem in CPAN shell: install Bio::Das::Lite
depends on WWW::Curl , reports SZBALINT/WWW-Curl-4.11.tar.gz Running make install
make test had returned bad status, won't install without force
going for source install
- WWW::Curl
got: WWW-Curl-4.11
cd WWW-Curl-4.11/ perl Makefile.PL PREFIX=/home/ensembl_usr/local/ make make test #Failed 1/20 test programs. 3/177 subtests failed. #make: *** [test_dynamic] Error 255 make install
- Bio::Das::Lite
cd Bio-Das-Lite-2.03/ perl Makefile.PL PREFIX=/home/ensembl_usr/local/ make make test #Failed 18/22 test programs. 0/1 subtests failed. make install
This one does not look good. A number of errors like "Bareword "CURLOPT_PROXYUSERNAME" not allowed while "strict subs" in use at lib/Bio/Das/Lite.pm line 861.". No solution at this point.
- Template::Toolkit
Used by BioMart got Template-Toolkit-2.22
cd Template-Toolkit-2.22 perl Makefile.PL PREFIX=/home/ensembl_usr/local/ make make test #All tests successful. make install
ParallelUserAgent
The most current version (2.57) has not been updated in years, and requires old (5.812) wersion of LWN.
- git (in case you do not have it)
http://git-scm.com/ got git-1.7.1
./configure --prefix=/home/ensembl_usr/local/ make make test make install <pre> * libwww ver. 5.812 <pre> mkdir libwww_old cd libwww_old git clone git://gitorious.org/libwww-perl/mainline.git cd mainline git checkout R5.812 perl Makefile.PL PREFIX=/home/ensembl_usr/local/ make make test #local/httpsub.t (Wstat: 512 Tests: 0 Failed: 0) # Non-zero exit status: 2 # Parse errors: No plan found in TAP output # <snip> # Failed 1/33 test programs. 0/833 subtests failed.
- ParallelUserAgent (itself)
export PERL5LIB=/home/ensembl_usr/local/lib/perl5/ wget http://search.cpan.org/CPAN/authors/id/M/MA/MARCLANG/ParallelUserAgent-2.57.tar.gz tar xfvz ParallelUserAgent-2.57.tar.gz cd ParallelUserAgent-2.57 perl Makefile.PL PREFIX=/home/ensembl_usr/local/ make make test # All tests successful. make install