The University of Arizona
SyMAP Troubleshooting  
Home | Search | Contact Us |

SyMAP v2.0 Installation Troubleshooting Guide

Last update: 4/13/07

This guide is intended to aid in the installation and configuration of SyMAP (assuming a linux server with Fedora Core 5 with MySQL and Apache installed).
Please contact symap@agcol.arizona.edu for suggestions and questions.

Perl error: "Can't locate ..."

The SyMAP install script script requires some non-standard Perl modules. If any of these modules are missing, the install script will fail:
Can't locate Data/Page.pm in @INC (...)
Can't locate DBI.pm in @INC (...)
Can't locate GD.pm in @INC (...)
To install these modules on your server, execute the following commands:
> cpan Data/Page
> cpan DBI
> cpan GD
Note: CPAN is the Comprehensive Perl Archive Network.

return to top

Install script warning: max_allowed_packet

If the install script displays this message:
Database setting max_allowed_packet is 1048576
it needs to be at least 100Mb (100000000)
...
Use of uninitialized value in concatenation (.) or string at scripts/synteny.pl line 454,  line 120.
genome size of demo_seq:  basepairs
Use of uninitialized value in division (/) at scripts/synteny.pl line 515,  line 120.
Max gaps: maxgap1:1997 maxgap2:0
Minimum anchors required in block:10
(3 for keep_best)
Can't determine size for grp idx 1
ERROR:demo_fpc/demo_seq synteny finding failed
Add this line to the MySQL configuration file in /etc/my.cnf and restart mysqld:
max_allowed_packet = 100M
return to top

Install script warning: access denied

The install script may report that access to the MySQL database specified in the params files is denied for the root and/or client users.
> perl scripts/install.pl
[Wed Apr 11 14:30:07 2007] install.pl: DBI connect('symap:moon2.cals.arizona.edu','symap',...) failed: Access denied for user 'symap'@'moon2.cals.arizona.edu' (using password: YES) at scripts/install.pl line 70
[Wed Apr 11 14:30:07 2007] install.pl: DB symap does not exist or client connection information invalid
Verify that the users specified in the install script's params file have localhost access in the mysql.users table.

To create a new user, or add localhost access for a user, use the following command:
mysql> insert into user values ('localhost','db_clientuser',PASSWORD('db_clientpasswd'),
'Y','Y','Y','Y','Y','Y','N','N','N','N','N','N','N','N','N','N','N','N','N','N',
'N','N','N','N','N','N','','','','',0,0,0,0);
mysql> flush privileges;
return to top

HTTP: "500 Internal Server Error"

The SyMAP CGI scripts are written in Perl and assume that the perl interpreter is located at /usr/local/bin/perl. If this is not the case, the browser may display a message like the one below when trying to access the main SyMAP page.
Internal Server Error
The server encountered an internal error or
misconfiguration and was unable to complete
your request.
Please contact the server administrator,
root@localhost and inform them of the time the error occurred,
and anything you might have done that may have
caused the error.
More information about this error may be available
in the server error log.
Additionally, a 500 Internal Server Error
error was encountered while trying to use an ErrorDocument to handle the request.
To solve this problem, create a link in /usr/local/bin to the perl interpreter:
> ln -s /usr/bin/perl /usr/local/bin/perl
return to top

Projects shown as "UNKNOWN"

If a project is shown as "UNKNOWN" in the main SyMAP web page (projects.cgi), then the install script was unable to properly build the demo projects in the MySQL database. Re-run the SyMAP install script, and try again.

return to top

SyMAP Applet: "database error has occurred"

This message appears in a browser pop-up window when the SyMAP applet cannot access the MySQL database. There are several possible causes.

Check the database privileges

The database user specified in the SyMAP install params file (db_clientuser) may not have remote access to the database as specified in the mysql.user table. The SyMAP install script tests the user's local access to the database and will report an error if access is denied, but it does not test for remote access.

As an example, to add remote access from all hosts for user named 'db_clientuser':
mysql> insert into user values ('%','db_clientuser',PASSWORD('db_clientpasswd'),
'Y','Y','Y','Y','Y','Y','N','N','N','N','N','N','N','N','N','N','N','N','N','N',
'N','N','N','N','N','N','','','','',0,0,0,0);
mysql> flush privileges;
Also try using the mysqlaccess script to show which entries in the mysql privilege tables are in use for a particular host/user/password.

Check the MySQL configuration

The MySQL configuration file (/etc/my.cnf) should not contain any of the following lines that prevent remote access to the database.
bind_address=127.0.0.1

skip_networking 

Check the firewall configuration

The server may have a firewall enabled that blocks access to port 3306 required by MySQL. To totally disable the firewall (as a test):
> /sbin/service iptables stop
return to top

Please contact symap@agcol.arizona.edu with questions and comments.
Last Modified Tuesday November 10, 2009 09:21 AM and 48 seconds