Operating System - HP-UX
1833771 Members
2225 Online
110063 Solutions
New Discussion

problem with perl and mysql install

 
mmccawz
New Member

problem with perl and mysql install

I am developing a app for internal consumption based on perl, mysql, and apache. I suspect that either I'm building the perl modules incorrectly or that perl, or mysql may not have been installed correctly.
Error message :
/usr/lib/hpux32/dld.so: Unsatisfied code symbol 'mysql_server_init' in load module '/usr/local/lib/perl5/site_perl/5.8.8/IA64.ARCHREV_0/auto/DBD/mysql/mysql.so'.

Killed

The perl modules DBI and DBD::mysql were installed. The DBD::mysql had to be manually installed. Can anyone tell if this is a Makefile.PL setting error or is this a more basic problem like PATH options not set, or where might I look.

In the back of my mind, I have this concern that gcc isn't properly setup.

Thanks for your help.

Mike
3 REPLIES 3
Steve Post
Trusted Contributor

Re: problem with perl and mysql install

The error message came when you were building DBD::mysql or running an app using it? or when starting apache or...?

If you think you have DBD::mysql loaded ok, I have a test for you. Find and try mysqlhotcopy.pl under the mysql area. If perl isn't working right with mysql, this script will bomb out.
mmccawz
New Member

Re: problem with perl and mysql install

The error message was generated from a basic perl script I was testing the connection with below. But the error message seems to me saying that there is a code symbol not found. I interpret that as either the module was built right or I have not installed mysql correctly.

/usr/lib/hpux32/dld.so: Unsatisfied code symbol 'mysql_server_init' in load module '/usr/local/lib/perl5/site_perl/5.8.8/IA64.ARCHREV_0/auto/DBD/mysql/mysql.so'.

Killed

#!/usr/local/bin/perl
# dbtst.pl inserts the uploads to diff.log file and inserts the latest batch into the DB


# Standard use;
use strict;
use warnings;
use Data::Dumper;

# Network packages
use Net::DNS::Resolver;
use Net::Ping;
use Net::SCP;

# Database packages

use DBI;

my @wdollist =upload();
my $i = @wdollist;
for my $j (0..$i-1){
print $wdollist[$j];
}
my $subtst = dblatest(@wdollist);
sub maintenance {

my $driver = "mysql";
my $dsn = "database=tstsm";
my $username = "name";
my $passwrd = "passwrd";

# this routine queries the database for each entry greater than 15 minutes
# then removes those;
my $dbh = DBI->connect("dbi:$driver:$dsn", $username, $passwd,
{ AutoCommit => 1})
or die "Failed to connect to the database:
$DBI::errstr";
my $time = time() - 1000;
my $sql = qq( DELETE FROM active_wdol WHERE perltime < $time);
my $sthout = $dbh->prepare($sql);

$sthout->execute() or die $dbh->errstr;

}


sub dblatest {
my @list = @_;


my $driver = "mysql";
my $dsn = "database=tstsm";
my $username = "name";
my $passwrd = "passwd";
my $dbh = DBI->connect("dbi:$driver:$dsn", $username, $passwrd,
{ AutoCommit => 1})
or die "Failed to connect to the database:
$DBI::errstr";

my $sthin = $dbh->prepare("INSERT INTO active_wdol (host, perltime)
VALUES(?, ?)")
or die "Fail to insert row: " . $dbh->errstr;
print "if no error, first is done";
foreach my $element (@list){
my $time = time();
$sthin->execute($element, $time);
}
# Now setup or 'prepare' a select query
my $sthout = $dbh->prepare(q{
SELECT wdolentry, host, date_time
FROM active_wdol
}) or die $dbh->errstr;
$sthout->execute() or die $dbh->errstr;
while (my @result = $sthout->fetchrow_array()) {
print "$result[0] $result[1]\n";
# if this doesn't work change line in select to use First
# and Next
# original was here $dbh->disconnect();
}
$dbh->disconnect();
}


sub upload {
use File::stat;
my $logfile = '/home/smartcd/proj/wgb1.log';
my @loginput;
my $perltime = time();
my $newfiletst = stat($logfile)->atime; #or die "No $logfile: $!\n";
print "perltime is $perltime mtime is $newfiletst\n";
if (($perltime - $newfiletst) < 120){
open(IN, "< $logfile") or die "Couldn't open wgb.log file: $!\n";
while () {
chomp;
#print "line $_";
push @loginput,$_;
}
close(IN);
my %presorted = map {$_, 1} @loginput;
my @presorted = keys %presorted;
my @sorted = sort {$a cmp $b} @presorted;

foreach my $line (@sorted){ print $line."\n";}
return @sorted;
}
return undef;
}
mmccawz
New Member

Re: problem with perl and mysql install

Maybe I should ask this question about the Perl and gcc install. By the way, I have two Perl installs on this machine: /usr/bin/perl and /usr/local/bin/perl. GCC is installed in /usr/local/bin. The perl in use for the app is at /usr/local/bin/ and my .profile has /usr/local/bin as the first entry for PATH.

Is there a flag to point to the gcc for modules builds. And do I want all modules built by default by gcc as appose to cc? Do I need to install gmake?

Also, mysql was installed before we had a working gcc, should that be reinstalled? (I don't understand what generates the code symbol 'mysql_server_init'. So I'm trying to understand where to start troubleshooting.