RE: Problem installing PERL DBD::mysql
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
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
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
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]