Hi Roger
as far as specific version of PERL modules is concerned, they should all
work except Time::HiRes if thats not already in your perl. Avoid using
the latest one.
after cvs co biomart-perl
do you run perl bin/configure.pl ... from biomart-perl directory ?
send me the onscreen response when you run this script.
please send me your conf/settings.conf, conf/httpd.conf,
cgi-bin/martview
whats the command you use to run apache server, and which directory do
you run it from?
thanks
syed
On Mon, 2008-01-28 at 23:27 +0000, Roger Hull wrote:
> Hi Syed,
>
> Thanks for the quick response. I still have some comments/questions
> about the Apache configuration, but I'll raise those in another thread
> (as that doesn't seem to be causing me a problem).
>
> > could you first try neat and independent installation of BioMart.
> I should have said, I already did this after I found problems. I
> created a new empty directory and reinstalled everything from scratch
> - same results.
> > Also please run the configure script i-e
> > (biomart-perl$ perl bin/configure.pl -r conf/reg.xml --clean ), then
> > kill/restart your server.
> And I did this a number of times!
>
> >> Should this .cached file exist in the conf directory?
> > no, it should reside under conf/cachedRegistries/
> So there is a problem here, Web.pm is looking for it in the conf
> directory, as I said below. But why? (My hack to copy the .cached file
> into conf/ was only to try to get to the next step, I would like to go
> back and get this working without hacks.)
>
> > As you see TAG_path's value is missing and you are already familiar
> with the code, you can manually stitch it in main.tt and see if
> everything works fine.
> I'm not so familiar with the code, I just looked to see the immediate
> cause of the problem. But I don't think hacking main.tt would get me
> far, this problem seems to be more far reaching.
>
> Also, this test installation will be a guide for a future real
> installation, so I would like to get to the bottom of these problems.
> Is there any further information I could send you - for example, would
> it help to run this with log4perl logging set to debug?
>
> Are there any perl modules for which it is critical to install the
> exact version, rather than the latest version - and might be relevant
> to such issues (I guess not, or someone else would have hit the same
> problem).
>
> By the way, the '#!perl -w' vs '#!/usr/bin/perl -w' shebangs caused me
> some head scratching at first, martview just gave a blank browser
> window, with no clue in the Apache log. It was only when I installed a
> test perl script, which worked, that I realised that the shebang was
> the cause of this.
>
> Regards,
> Roger
>
> Syed Haider wrote:
> > Hi Roger,
> >
> > On Mon, 2008-01-28 at 18:48 +0000, Roger Hull wrote:
> >
> > > Hi,
> > > I have been trying to install biomart to run martview and martservice,
> > > using an external biomart as the data source. The purpose is to test
> > > out customising the biomart web interface. I hit two problems as
> > > described below. I'll try to give full details of what I did.
> > > uname -a gives Linux <hostname> 2.6.9-023stab046.2-enterprise #1 SMP
> > > Mon Dec 10 15:22:33 MSK 2007 i686 i686 i386 GNU/Linux.
> > > perl -v gives This is perl, v5.8.8 built for i386-linux-thread-multi
> > > I loaded the latest versions of the perl modules required by biomart
> > > from CPAN.
> > >
> > > After installing biomart-perl, I changed conf/settings.conf to:
> > > [httpdSettings]
> > > apacheBinary=/usr/sbin/httpd
> > > serverHost=localHost
> > > port=80
> > > # to use proxying set the proxy port below (even if its 80)
> > > and set serverHost as your proxy host
> > > proxy=
> > > location=biomart
> > > I also changed !#perl -w to !#/usr/bin/perl -w in any scripts that I
> > > found the former.
> > >
> > > I ran perl bin/configure.pl -r conf/registryDBPointer.xml, using the
> > > central registry xml file as installed, and it seemed to be
> > > successful, ending with "Building templates for visible datasets..."
> > >
> > > Problem 1: Apache (Apache/2.2.2) does not like the generated
> > > htttp.conf - httpd reports:
> > > Syntax error on line 14 of /home/biomart/biomart-perl/conf/httpd.conf:
> > > Invalid command 'DirectoryIndex', perhaps misspelled or defined by a
> > > module not included in the server configuration
> > >
> >
> > this means apache module mod_dir.so is missing from apache modules
> > directory, add it and this message will vanish away.
> >
> >
> >
> > > The httpd.conf generated looks OK - it starts:
> > >
> > > PidFile logs/httpd.pid
> > > Timeout 300
> > > KeepAlive On
> > > MaxKeepAliveRequests 100
> > > KeepAliveTimeout 15
> > > MinSpareServers 2
> > > MaxSpareServers 2
> > > StartServers 2
> > > MaxClients 50
> > > MaxRequestsPerChild 0
> > > Listen 80
> > >
> > > DirectoryIndex index.html
> > >
> > > Anyway, I took the lines from the generated httpd.conf and amalgamated
> > > them into the previous (working) httpd.conf. Now the server starts up
> > > and I can see, for example, http://<my server>/index.html as the
> > > introductory biomart page.
> > > I also added a small perl test script in cgi-bin, and this ran OK from
> > > my browser.
> > > (In my opinion this method of giving a completely new httpd.conf is
> > > anyway not very convenient if someone wants to run other services than
> > > martview on their server).
> > >
> >
> > It is possible to merge our directives into other httpd.conf files, but
> > i guess adding it automatically to an existing file is'nt safe. We
> > provide a simple/basic httpd.conf which is expected to work anywhere.
> >
> >
> > > Problem 2: When I loaded the page http://<my server>/biomart/martview
> > > from a browser, I got
> > > ERROR: caught BioMart::Exception: non-BioMart die(): Can't call method
> > > "settingsParams" on an undefined value
> > > at /home/biomart/biomart-perl/lib/BioMart/Web.pm line 118.
> > >
> > > line 118: my $mart_registry = $self->get_mart_registry();
> > > and get_mart_registry: return $self->get('mart_registry');
> > > and 'mart_registry' doesn't seem to be in the hash, so we get null.
> > > This seems to be caused by Web.pm looking for
> > > conf/registryDBPointer.xml.cached, which does not exist. Web.pm
> > > doesn't seem to handle properly the case that the file doesn't exist,
> > > only the case that it fails to deserialise correctly.
> > > (By the way, in cgi-bin/martview, I have $CONF_FILE =
> > > '/home/biomart/biomart-perl/conf/registryDBPointer.xml';)
> > >
> > > Should this .cached file exist in the conf directory?
> > >
> >
> > no, it should reside under conf/cachedRegistries/
> >
> >
> > > Just to move things forward, I tried copying
> > > registryDBPointer.xml.cached from conf/cachedRegistries/ (where there
> > > was such a file) to conf/. Now http://<my
> > > server>/biomart/martviewgives a page that looks like it's trying to be
> > > martview! But just some plain text, like "New Count Results". Looking
> > > at the page source I can see why: I have things like
> > > <link rel="stylesheet" type="text/css" href="//mview/martview.css" />
> > > <script src="//mview/js/martview.js" type="text/javascript" ></script>
> > >
> > > where the 'location', biomart, is missing from between the double forward
> > > slashes. Looks like the TAG_path tag did not get filled in the Template
> > > main.tt for some reason.
> > >
> >
> >
> > could you first try neat and independent installation of BioMart. This
> > would identify platform conflicts if there are any. As you see
> > TAG_path's value is missing and you are already familiar with the code,
> > you can manually stitch it in main.tt and see if everything works fine.
> > Also please run the configure script i-e
> > (biomart-perl$ perl bin/configure.pl -r conf/reg.xml --clean )
> > each time you edit settings.conf or stylesheets, and then kill/restart
> > your server.
> >
> > regards
> > syed
> >
> >
> > > Your help would be appreciated,
> > > Roger.
> > >
> >
> >
--
======================================
Syed Haider.
EMBL-European Bioinformatics Institute
Wellcome Trust Genome Campus, Hinxton,
Cambridge CB10 1SD, UK.
======================================