This is the stack-trace: Trace begun at /usr/lib/perl5/site_perl/5.8.0/HTML/Mason/Exceptions.pm line 131 HTML::Mason::Exceptions::rethrow_exception('Can\'t locate object method "search" via package "ESTdb::Organism" at /usr/local/www/meest/html/index.html line 41.^J') called at /usr/local/www/meest/html/index.html line 41 HTML::Mason::Commands::__ANON__ at /usr/lib/perl5/site_perl/5.8.0/HTML/Mason/Component.pm line 136 HTML::Mason::Component::run('HTML::Mason::Component::FileBased=HASH(0x924c900)') called at /usr/lib/perl5/site_perl/5.8.0/HTML/Mason/Request.pm line 1074 eval {...} at /usr/lib/perl5/site_perl/5.8.0/HTML/Mason/Request.pm line 1068 HTML::Mason::Request::comp(undef, undef) called at /usr/lib/perl5/site_perl/5.8.0/HTML/Mason/Request.pm line 760 HTML::Mason::Request::call_next('HTML::Mason::Request::ApacheHandler=HASH(0x926642c)') called at /usr/local/www/meest/html/autohandler line 3 HTML::Mason::Commands::__ANON__ at /usr/lib/perl5/site_perl/5.8.0/HTML/Mason/Component.pm line 136 HTML::Mason::Component::run('HTML::Mason::Component::FileBased=HASH(0x8b3a9d0)') called at /usr/lib/perl5/site_perl/5.8.0/HTML/Mason/Request.pm line 1069 eval {...} at /usr/lib/perl5/site_perl/5.8.0/HTML/Mason/Request.pm line 1068 HTML::Mason::Request::comp(undef, undef, undef) called at /usr/lib/perl5/site_perl/5.8.0/HTML/Mason/Request.pm line 338 eval {...} at /usr/lib/perl5/site_perl/5.8.0/HTML/Mason/Request.pm line 338 eval {...} at /usr/lib/perl5/site_perl/5.8.0/HTML/Mason/Request.pm line 297 HTML::Mason::Request::exec('HTML::Mason::Request::ApacheHandler=HASH(0x926642c)') called at /usr/lib/perl5/site_perl/5.8.0/HTML/Mason/ApacheHandler.pm line 128 eval {...} at /usr/lib/perl5/site_perl/5.8.0/HTML/Mason/ApacheHandler.pm line 128 HTML::Mason::Request::ApacheHandler::exec('HTML::Mason::Request::ApacheHandler=HASH(0x926642c)') called at /usr/lib/perl5/site_perl/5.8.0/HTML/Mason/ApacheHandler.pm line 825 HTML::Mason::ApacheHandler::handle_request('HTML::Mason::ApacheHandler=HASH(0x82ad010)', 'Apache=SCALAR(0x9219438)') called at /usr/local/apache/conf/handler.pl line 32 MyMason::MyApp::handler('Apache=SCALAR(0x9219438)') called at /dev/null line 0 eval {...} at /dev/null line 0
Thanks -----Original Message----- From: Sherrard Burton [mailto:[EMAIL PROTECTED] Sent: Monday, August 06, 2007 9:41 AM To: Rojas, Fernando (CIAT) Cc: Mason-Users Subject: Re: [Mason] Can't locate object method "search" via package but you don't seem to be calling all of the same methods from the script that you are trying to use from the web interface. from the stack trace you should be able to see which line in your mason component called the method that eventually led to this error. ps--you should use reply-all so that these discussions stay on-list where everybody can benefit. Rojas, Fernando (CIAT) wrote: > TY for your help; I have this script that was attached to the end of my > e-mail and it runs ok: > > #!/usr/bin/perl >>> use strict; >>> use ESTdb::Organism; >>> use ESTdb::Library; >>> my $species = 'Manihot esculenta'; >>> my $orgn = 99; >>> print "$orgn >>>\n"; >>> print "$species :"; >>> my $orgn = (ESTdb::Organism->search(name => $species))[0]; print >>> "$orgn :\n"; my $library = 0; my $name = 'aflp'; print "$name "; my >>> $library = (ESTdb::Library->search(name => $name))[0]; print >>> "$library \n"; > > In this case im querying 2 tables of database organism and library and runs > ok: > > Ty for your help again. > > -----Original Message----- > From: Sherrard Burton [mailto:[EMAIL PROTECTED] > Sent: Monday, August 06, 2007 9:32 AM > To: Rojas, Fernando (CIAT) > Subject: Re: [Mason] Can't locate object method "search" via package > > it sounds like you are having perl problems. are you sure the same code works > from a command-line script? > > that message usually means that you haven't "use"ed the package that exports > that method, or that that method doesn't exist in the package. > > maybe you should prototype the code in a perl script or module called from > the command line first so that you can distinguish the simple perl errors > from any that are mason-specific. > > good luck > > > Rojas, Fernando (CIAT) wrote: >> TY for your answer; I tried it; now im getting: >> >> error: Error during compilation of /usr/local/www/meest/html/index.html: >> Can't locate object method "table" via package "ESTdb::Organism" at >> /usr/lib/perl5/site_perl/5.8.0/ESTdb/Organism.pm line 3 >> >> TY. >> >> -----Original Message----- >> From: Sherrard Burton [mailto:[EMAIL PROTECTED] >> Sent: Monday, August 06, 2007 7:23 AM >> To: Rojas, Fernando (CIAT) >> Cc: mason-users@lists.sourceforge.net >> Subject: Re: [Mason] Can't locate object method "search" via package >> >> i'm not sure, but i'm guessing you should be using >> >> use ESTdb::Organism; >> use ESTdb::Library; >> >> in your mason code instead of >> >> use base 'ESTdb::Organism'; >> use base 'ESTdb::Library'; >> >> >> >> Rojas, Fernando (CIAT) wrote: >>> ______________________________________________ >>> *From: * Rojas, Fernando (CIAT) >>> *Sent: * Friday, August 03, 2007 5:47 PM >>> *To: * 'mason-users@lists.sourceforge.net' >>> *Subject: * >>> >>> HI: I have a web-site running in this environment: >>> >>> Linux (Red Hat 8.0 3-2-7); Apache 1.3.24 Mod-Perl 1.29 Perl 5.8.5; >>> Html-Mason-1.27; MySql 4.1.20; Al CPAN Modules installed >>> >>> Im getting this error running my web aplication: >>> >>> *error:* Can't locate object method "search" via package >>> "ESTdb::Organism" at /usr/local/www/meest/html/index.html line 41. >>> *context:* >>> *...* >>> *37:* use base 'ESTdb::Library'; >>> *38:* my $root = $m->comp('/root'); >>> *39:* my $species = $m->comp('/species'); >>> *40:* print "$species \n"; >>> *41:* my $orgn = (ESTdb::Organism->search(name => $species))[0]; >>> *42:* </%init> >>> *43:* >>> *code stack:* /usr/local/www/meest/html/index.html:41 >>> /usr/local/www/meest/html/autohandler:3 >>> >>> *The index.html is:* >>> <h1><% $orgn->name() %> ESTs</h1> >>> <p/> >>> <table> >>> <tbody> >>> <tr> <th>ESTs </th> >>> <td> <% >>> ESTdb::Library->sql_nests_by_species($orgn)->select_val >>> %> <% 1 ? '' : ESTdb::Est->rel_count({clone => {library => >>> {organism => {organism=> $orgn}}}})%> </td></tr> >>> <tr> <th>non redondant contigs </th> >>> <td> <% ESTdb::Library->sql_ncontig_by_species(1, 999999, >>> $orgn)->select_val %> <td></tr> >>> <tr> <th>Contigs : </th> >>> <td><% ESTdb::Library->sql_ncontig_by_species(2, 99999, >>> $orgn)->select_val%></td></tr> >>> <tr> <th>Singletons : </th> >>> <td><% ESTdb::Library->sql_ncontig_by_species(1, 1, >>> $orgn)->select_val%></td></tr> </tbody> </table> <hr/> >>> <h2>Search</h2> <ul> <li>search <a >>> href="<%$root%>/byfactor/factor.html">by >>> factor</a></li> <li>search <a href="<%$root%>/bylib/library.html">by >>> lib</a></li> <li>search <a href="<%$root%>/byest/est.html">by >>> est</a></li> <li>search <a href="<%$root%>/bycn/cn.html">by >>> contig</a></li> </ul> <hr/> <h2>Blast</h2> <a >>> href="<%$root%>/blast/blast">blast</a> >>> <!-- >>> <ul> >>> <li>blast on <a href="blast/ests/">ESTs</a></li> <li>blast on <a >>> href="blast/contigs/">Contigs</li> >>> </ul> >>> --> >>> <%init> >>> use strict; >>> use base 'ESTdb::Organism'; >>> use base 'ESTdb::Library'; >>> my $root = $m->comp('/root'); >>> my $species = $m->comp('/species'); >>> print "$species \n"; >>> my $orgn = (ESTdb::Organism->search(name => $species))[0]; </%init> >>> >>> *Organism.pm code is:* >>> package ESTdb::Organism; >>> use base 'ESTdb::DBI'; >>> __PACKAGE__->table('organism'); >>> __PACKAGE__->columns(All => qw/ organism name/); >>> __PACKAGE__->has_many(libs => 'ESTdb::Library'); >>> >>> *DBI.pm is:* >>> package ESTdb::DBI; >>> use strict; >>> use base 'Class::DBI'; >>> use Data::Dumper; >>> my $dsn = 'DBI:mysql:dbname=est;host=localhost;port=3306'; >>> my $user = 'root'; >>> my $password = 'ciatroot'; >>> __PACKAGE__->connection($dsn, $user, $password); >>> #Class::DBI->connection($dsn, $user, $password); >>> #__PACKAGE__->set_db('Main', $dsn, $user, $password); .. >>> >>> *Someone could give me some ideas. What's happening.??* *I have >>> this Perl Script and when I run as root or as another user it runs >>> ok connecting to the database and retrieving information.* >>> >>> #!/usr/bin/perl >>> use strict; >>> use ESTdb::Organism; >>> use ESTdb::Library; >>> my $species = 'Manihot esculenta'; >>> my $orgn = 99; >>> print "$orgn >>>\n"; >>> print "$species :"; >>> my $orgn = (ESTdb::Organism->search(name => $species))[0]; print >>> "$orgn :\n"; my $library = 0; my $name = 'aflp'; print "$name "; my >>> $library = (ESTdb::Library->search(name => $name))[0]; print >>> "$library \n"; >>> >>> >>> Sorry for the long mail;; I hope some help THANKS. >>> >>> >>> >>> >>> >>> FERNANDO ROJAS >>> Ingeniero de Sistemas y Computación >>> Unidad de Sistemas de Información >>> Centro Internacional de Agricultura Tropical (CIAT) >>> E-mail: [EMAIL PROTECTED] >>> Phone:(57-2)445-01-00 Ext 3647 >>> >>> >>> -------------------------------------------------------------------- >>> - >>> --- >>> >>> -------------------------------------------------------------------- >>> - >>> ---- This SF.net email is sponsored by: Splunk Inc. >>> Still grepping through log files to find problems? Stop. >>> Now Search log events and configuration files using AJAX and a browser. >>> Download your FREE copy of Splunk now >> http://get.splunk.com/ >>> >>> >>> -------------------------------------------------------------------- >>> - >>> --- >>> >>> _______________________________________________ >>> Mason-users mailing list >>> Mason-users@lists.sourceforge.net >>> https://lists.sourceforge.net/lists/listinfo/mason-users ------------------------------------------------------------------------- This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now >> http://get.splunk.com/ _______________________________________________ Mason-users mailing list Mason-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mason-users