RE: Problem installing PERL DBD::mysql

2006-08-15 Thread Martin J. Evans
You are linking against the static compress library which is intended for
static linking not inclusion into a dynamic object. I would not rebuild
libz.a with fPIC. You should be linking against libz.so which I'd guess you
haven't got. Check you've got a libz.so and then make sure DBD::mysql picks it
up. mysql_config on my machine for instance produces:

bash-2.05$ mysql_config 
Usage: /usr/mysql/bin/mysql_config [OPTIONS]
Options:
--cflags [-I/usr/mysql/include/mysql]
--include[-I/usr/mysql/include/mysql]
--libs   [-L/usr/mysql/lib/mysql -lmysqlclient -lz -lcrypt
-lnsl -lm]
--libs_r [-L/usr/mysql/lib/mysql -lmysqlclient_r -lz -lpthread
-lcrypt -lnsl -lm -lpthread]
--socket [/tmp/mysql.sock]
--port   [3306]
--version[5.0.15]
--libmysqld-libs [-L/usr/mysql/lib/mysql -lmysqld -lz -lpthread -lcrypt
-lnsl -lm -lpthread -lrt]

NOTE the -lz

and I have 

/usr/lib/libz.a
/usr/lib/libz.so
/usr/lib/libz.so.1
/usr/lib/libz.so.1.2.3

so it finds the dynamic library /usr/lib/libz.so.

Martin
--
Martin J. Evans
Easysoft Ltd, UK
http://www.easysoft.com
 
On 14-Aug-2006 Logg, Connie A. wrote:
 Machine info:
 
 [EMAIL PROTECTED] utils]$ uname -a
 Linux snv1 2.6.9-34.0.2.ELsmp #1 SMP Fri Jun 30 10:32:04 EDT 2006 x86_64
 x86_64 x86_64 GNU/Linux
 [EMAIL PROTECTED] utils]$ perl -v
 This is perl, v5.8.8 built for x86_64-linux
 [EMAIL PROTECTED] utils]$ more /etc/redhat-release
 Red Hat Enterprise Linux WS release 4 (Nahant Update 4)
 
 
 --
 I am having a hard time installing DBD:mysql on 64 bit machine
 snv1.ultralight.org 
 
 /usr/bin/perl MCPAN -e shell
 CPAN install DBD::mysql
 
 Dies with errors...so I decided to do it from the source, and it also
 complainshere is the output from the source install:
 
 [EMAIL PROTECTED] DBD-mysql-3.0006]# /usr/bin/perl Makefile.PL I will use the
 following settings for compiling and testing:
 
   cflags(mysql_config) = -I/usr/local/include/mysql
   embedded  (mysql_config) =
   libs  (mysql_config) = -L/usr/local/lib/mysql -lmysqlclient -lz
 -lcrypt -lnsl -lm
   mysql_config  (guessed ) = mysql_config
   nocatchstderr (default ) = 0
   nofoundrows   (default ) = 0
   ssl   (guessed ) = 0
   testdb(default ) = test
   testhost  (default ) =
   testpassword  (default ) =
   testsocket(default ) =
   testuser  (default ) =
 
 To change these settings, see 'perl Makefile.PL --help' and 'perldoc
 INSTALL'.
 
 Using DBI 1.52 (for perl 5.008008 on x86_64-linux) installed in
 /usr/lib/perl5/site_perl/5.8.8/x86_64-linux/auto/DBI/
 Writing Makefile for DBD::mysql
 [EMAIL PROTECTED] DBD-mysql-3.0006]#
 [EMAIL PROTECTED] DBD-mysql-3.0006]# make
 cc -c  -I/usr/lib/perl5/site_perl/5.8.8/x86_64-linux/auto/DBI
 -I/usr/local/include/mysql -DDBD_MYSQL_INSERT_ID_IS_GOO D -g 
 -fno-strict-aliasing -pipe -Wdeclaration-after-statement -I/usr/local/include
 -D_LARGEFILE_SOURCE -D_FILE_OFFSE
 T_BITS=64 -I/usr/include/gdbm -O2   -DVERSION=\3.0006\
 -DXS_VERSION=\3.0006\ -fpic -I/usr/lib/perl5/5.8.8/x86_64
 -linux/CORE   dbdimp.c
 cc -c  -I/usr/lib/perl5/site_perl/5.8.8/x86_64-linux/auto/DBI
 -I/usr/local/include/mysql -DDBD_MYSQL_INSERT_ID_IS_GOO D -g 
 -fno-strict-aliasing -pipe -Wdeclaration-after-statement -I/usr/local/include
 -D_LARGEFILE_SOURCE -D_FILE_OFFSE
 T_BITS=64 -I/usr/include/gdbm -O2   -DVERSION=\3.0006\
 -DXS_VERSION=\3.0006\ -fpic -I/usr/lib/perl5/5.8.8/x86_64
 -linux/CORE   mysql.c
 mysql.xs: In function `XS_DBD__mysql__GetInfo_dbd_mysql_get_info':
 mysql.xs:647: warning: ignoring return value of `Perl_newSViv', declared with
 attribute warn_unused_result
 mysql.xs:650: warning: ignoring return value of `Perl_newSViv', declared with
 attribute warn_unused_result
 mysql.xs:653: warning: ignoring return value of `Perl_newSVpv', declared with
 attribute warn_unused_result Running Mkbootstrap for DBD::mysql () chmod 644
 mysql.bs rm -f blib/arch/auto/DBD/mysql/mysql.so
 LD_RUN_PATH=/usr/local/lib/mysql /usr/bin/perl myld cc  -shared
 -L/usr/local/lib dbdimp.o mysql.o  -o blib/arch/aut
 o/DBD/mysql/mysql.so\
-L/usr/local/lib/mysql -lmysqlclient -lz -lcrypt -lnsl -lm   \
 
 /usr/bin/ld: /usr/local/lib/libz.a(compress.o): relocation R_X86_64_32
 against `a local symbol' can not be used when making a shared object;
 recompile with -fPIC
 /usr/local/lib/libz.a: could not read symbols: Bad value
 collect2: ld returned 1 exit status
 make: *** [blib/arch/auto/DBD/mysql/mysql.so] Error 1
 
 I have tried using -fPIC, but I think I do not know how to tell it to use
 that correctly. I assume it is passed with --cflags on the 'perl Makefile.PL'
 line, but I can't get that to work.
 
 Can someone tell me the syntax on the 'perl Makefile.PL' line, or, what the
 problem is and how can I get DBD::mysql to load?
 
 By the way, perl Makefile.PL --help gives 

Re: Problem installing PERL DBD::mysql

2006-08-14 Thread Niels Larsen

Connie,

I had the same error with another program recently, but probably the
fix for yours is the same: try compile zlib with -fPIC by adding
 -fPIC to CFLAGS in the Makefile.

Niels Larsen



Logg, Connie A. wrote:

Machine info:

[EMAIL PROTECTED] utils]$ uname -a
Linux snv1 2.6.9-34.0.2.ELsmp #1 SMP Fri Jun 30 10:32:04 EDT 2006 x86_64 x86_64 
x86_64 GNU/Linux
[EMAIL PROTECTED] utils]$ perl -v
This is perl, v5.8.8 built for x86_64-linux
[EMAIL PROTECTED] utils]$ more /etc/redhat-release
Red Hat Enterprise Linux WS release 4 (Nahant Update 4)


--
I am having a hard time installing DBD:mysql on 64 bit machine snv1.ultralight.org 


/usr/bin/perl MCPAN -e shell
CPAN install DBD::mysql

Dies with errors...so I decided to do it from the source, and it also 
complainshere is the output from the source install:

[EMAIL PROTECTED] DBD-mysql-3.0006]# /usr/bin/perl Makefile.PL I will use the 
following settings for compiling and testing:

  cflags(mysql_config) = -I/usr/local/include/mysql
  embedded  (mysql_config) =
  libs  (mysql_config) = -L/usr/local/lib/mysql -lmysqlclient -lz 
-lcrypt -lnsl -lm
  mysql_config  (guessed ) = mysql_config
  nocatchstderr (default ) = 0
  nofoundrows   (default ) = 0
  ssl   (guessed ) = 0
  testdb(default ) = test
  testhost  (default ) =
  testpassword  (default ) =
  testsocket(default ) =
  testuser  (default ) =

To change these settings, see 'perl Makefile.PL --help' and 'perldoc INSTALL'.

Using DBI 1.52 (for perl 5.008008 on x86_64-linux) installed in 
/usr/lib/perl5/site_perl/5.8.8/x86_64-linux/auto/DBI/
Writing Makefile for DBD::mysql
[EMAIL PROTECTED] DBD-mysql-3.0006]#
[EMAIL PROTECTED] DBD-mysql-3.0006]# make
cc -c  -I/usr/lib/perl5/site_perl/5.8.8/x86_64-linux/auto/DBI 
-I/usr/local/include/mysql -DDBD_MYSQL_INSERT_ID_IS_GOO D -g  
-fno-strict-aliasing -pipe -Wdeclaration-after-statement -I/usr/local/include 
-D_LARGEFILE_SOURCE -D_FILE_OFFSE
T_BITS=64 -I/usr/include/gdbm -O2   -DVERSION=\3.0006\ -DXS_VERSION=\3.0006\ 
-fpic -I/usr/lib/perl5/5.8.8/x86_64
-linux/CORE   dbdimp.c
cc -c  -I/usr/lib/perl5/site_perl/5.8.8/x86_64-linux/auto/DBI 
-I/usr/local/include/mysql -DDBD_MYSQL_INSERT_ID_IS_GOO D -g  
-fno-strict-aliasing -pipe -Wdeclaration-after-statement -I/usr/local/include 
-D_LARGEFILE_SOURCE -D_FILE_OFFSE
T_BITS=64 -I/usr/include/gdbm -O2   -DVERSION=\3.0006\ -DXS_VERSION=\3.0006\ 
-fpic -I/usr/lib/perl5/5.8.8/x86_64
-linux/CORE   mysql.c
mysql.xs: In function `XS_DBD__mysql__GetInfo_dbd_mysql_get_info':
mysql.xs:647: warning: ignoring return value of `Perl_newSViv', declared with 
attribute warn_unused_result
mysql.xs:650: warning: ignoring return value of `Perl_newSViv', declared with 
attribute warn_unused_result
mysql.xs:653: warning: ignoring return value of `Perl_newSVpv', declared with attribute 
warn_unused_result Running Mkbootstrap for DBD::mysql () chmod 644 mysql.bs rm -f 
blib/arch/auto/DBD/mysql/mysql.so LD_RUN_PATH=/usr/local/lib/mysql 
/usr/bin/perl myld cc  -shared -L/usr/local/lib dbdimp.o mysql.o  -o blib/arch/aut
o/DBD/mysql/mysql.so\
   -L/usr/local/lib/mysql -lmysqlclient -lz -lcrypt -lnsl -lm   \

/usr/bin/ld: /usr/local/lib/libz.a(compress.o): relocation R_X86_64_32 against 
`a local symbol' can not be used when making a shared object; recompile with 
-fPIC
/usr/local/lib/libz.a: could not read symbols: Bad value
collect2: ld returned 1 exit status
make: *** [blib/arch/auto/DBD/mysql/mysql.so] Error 1

I have tried using -fPIC, but I think I do not know how to tell it to use that 
correctly. I assume it is passed with --cflags on the 'perl Makefile.PL' line, 
but I can't get that to work.

Can someone tell me the syntax on the 'perl Makefile.PL' line, or, what the 
problem is and how can I get DBD::mysql to load?

By the way, perl Makefile.PL --help gives me..
[EMAIL PROTECTED] DBD-mysql-3.0006]# perl -Makefile.PL --help

Usage: perl [switches] [--] [programfile] [arguments]
  -0[octal]   specify record separator (\0, if no argument)
  -a  autosplit mode with -n or -p (splits $_ into @F)
  -C[number/list] enables the listed Unicode features
  -c  check syntax only (runs BEGIN and CHECK blocks)
  -d[:debugger]   run program under debugger
  -D[number/list] set debugging flags (argument is a bit mask or alphabets)
  -e program  one line of program (several -e's allowed, omit programfile)
  -f  don't do $sitelib/sitecustomize.pl at startup
  -F/pattern/ split() pattern for -a switch (//'s are optional)
  -i[extension]   edit  files in place (makes backup if extension supplied)
  -Idirectory specify @INC/#include directory (several -I's allowed)
  -l[octal]   enable line ending processing, specifies line terminator
  -[mM][-]module  execute use/no module... before executing program
  -n  assume while () { ... } loop around program

Re: Problem installing PERL DBD::mysql

2006-08-14 Thread Patrick Galbraith

Niels Larsen wrote:

Niels,

Do you mean in the Makefile for zlib?

Thanks!

Patrick


Connie,

I had the same error with another program recently, but probably the
fix for yours is the same: try compile zlib with -fPIC by adding
 -fPIC to CFLAGS in the Makefile.

Niels Larsen



Logg, Connie A. wrote:


Machine info:

[EMAIL PROTECTED] utils]$ uname -a
Linux snv1 2.6.9-34.0.2.ELsmp #1 SMP Fri Jun 30 10:32:04 EDT 2006 
x86_64 x86_64 x86_64 GNU/Linux

[EMAIL PROTECTED] utils]$ perl -v
This is perl, v5.8.8 built for x86_64-linux
[EMAIL PROTECTED] utils]$ more /etc/redhat-release
Red Hat Enterprise Linux WS release 4 (Nahant Update 4)


--
I am having a hard time installing DBD:mysql on 64 bit machine 
snv1.ultralight.org

/usr/bin/perl MCPAN -e shell
CPAN install DBD::mysql

Dies with errors...so I decided to do it from the source, and it also 
complainshere is the output from the source install:


[EMAIL PROTECTED] DBD-mysql-3.0006]# /usr/bin/perl Makefile.PL I will use 
the following settings for compiling and testing:


  cflags(mysql_config) = -I/usr/local/include/mysql
  embedded  (mysql_config) =
  libs  (mysql_config) = -L/usr/local/lib/mysql -lmysqlclient 
-lz -lcrypt -lnsl -lm

  mysql_config  (guessed ) = mysql_config
  nocatchstderr (default ) = 0
  nofoundrows   (default ) = 0
  ssl   (guessed ) = 0
  testdb(default ) = test
  testhost  (default ) =
  testpassword  (default ) =
  testsocket(default ) =
  testuser  (default ) =

To change these settings, see 'perl Makefile.PL --help' and 'perldoc 
INSTALL'.


Using DBI 1.52 (for perl 5.008008 on x86_64-linux) installed in 
/usr/lib/perl5/site_perl/5.8.8/x86_64-linux/auto/DBI/

Writing Makefile for DBD::mysql
[EMAIL PROTECTED] DBD-mysql-3.0006]#
[EMAIL PROTECTED] DBD-mysql-3.0006]# make
cc -c  -I/usr/lib/perl5/site_perl/5.8.8/x86_64-linux/auto/DBI 
-I/usr/local/include/mysql -DDBD_MYSQL_INSERT_ID_IS_GOO D -g  
-fno-strict-aliasing -pipe -Wdeclaration-after-statement 
-I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSE
T_BITS=64 -I/usr/include/gdbm -O2   -DVERSION=\3.0006\ 
-DXS_VERSION=\3.0006\ -fpic -I/usr/lib/perl5/5.8.8/x86_64

-linux/CORE   dbdimp.c
cc -c  -I/usr/lib/perl5/site_perl/5.8.8/x86_64-linux/auto/DBI 
-I/usr/local/include/mysql -DDBD_MYSQL_INSERT_ID_IS_GOO D -g  
-fno-strict-aliasing -pipe -Wdeclaration-after-statement 
-I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSE
T_BITS=64 -I/usr/include/gdbm -O2   -DVERSION=\3.0006\ 
-DXS_VERSION=\3.0006\ -fpic -I/usr/lib/perl5/5.8.8/x86_64

-linux/CORE   mysql.c
mysql.xs: In function `XS_DBD__mysql__GetInfo_dbd_mysql_get_info':
mysql.xs:647: warning: ignoring return value of `Perl_newSViv', 
declared with attribute warn_unused_result
mysql.xs:650: warning: ignoring return value of `Perl_newSViv', 
declared with attribute warn_unused_result
mysql.xs:653: warning: ignoring return value of `Perl_newSVpv', 
declared with attribute warn_unused_result Running Mkbootstrap for 
DBD::mysql () chmod 644 mysql.bs rm -f 
blib/arch/auto/DBD/mysql/mysql.so LD_RUN_PATH=/usr/local/lib/mysql 
/usr/bin/perl myld cc  -shared -L/usr/local/lib dbdimp.o mysql.o  -o 
blib/arch/aut

o/DBD/mysql/mysql.so\
   -L/usr/local/lib/mysql -lmysqlclient -lz -lcrypt -lnsl -lm   \

/usr/bin/ld: /usr/local/lib/libz.a(compress.o): relocation 
R_X86_64_32 against `a local symbol' can not be used when making a 
shared object; recompile with -fPIC

/usr/local/lib/libz.a: could not read symbols: Bad value
collect2: ld returned 1 exit status
make: *** [blib/arch/auto/DBD/mysql/mysql.so] Error 1

I have tried using -fPIC, but I think I do not know how to tell it to 
use that correctly. I assume it is passed with --cflags on the 'perl 
Makefile.PL' line, but I can't get that to work.


Can someone tell me the syntax on the 'perl Makefile.PL' line, or, 
what the problem is and how can I get DBD::mysql to load?


By the way, perl Makefile.PL --help gives me..
[EMAIL PROTECTED] DBD-mysql-3.0006]# perl -Makefile.PL --help

Usage: perl [switches] [--] [programfile] [arguments]
  -0[octal]   specify record separator (\0, if no argument)
  -a  autosplit mode with -n or -p (splits $_ into @F)
  -C[number/list] enables the listed Unicode features
  -c  check syntax only (runs BEGIN and CHECK blocks)
  -d[:debugger]   run program under debugger
  -D[number/list] set debugging flags (argument is a bit mask or 
alphabets)
  -e program  one line of program (several -e's allowed, omit 
programfile)

  -f  don't do $sitelib/sitecustomize.pl at startup
  -F/pattern/ split() pattern for -a switch (//'s are optional)
  -i[extension]   edit  files in place (makes backup if extension 
supplied)

  -Idirectory specify @INC/#include directory (several -I's allowed)
  -l[octal]   enable line ending processing, specifies line 
terminator

  -[mM][-]module  

Re: Problem installing PERL DBD::mysql

2006-08-14 Thread Niels Larsen

Yes .. and had to add it to jpeg-6b (on x86_64) to make that
work too.

Patrick Galbraith wrote:

Niels Larsen wrote:

Niels,

Do you mean in the Makefile for zlib?

Thanks!

Patrick


Connie,

I had the same error with another program recently, but probably the
fix for yours is the same: try compile zlib with -fPIC by adding
 -fPIC to CFLAGS in the Makefile.

Niels Larsen


--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:http://lists.mysql.com/[EMAIL PROTECTED]