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 > complains....here 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 > -p assume loop like -n but print line also, like sed > -P run program through C preprocessor before compilation > -s enable rudimentary parsing for switches after programfile > -S look for programfile using PATH environment variable > -t enable tainting warnings > -T enable tainting checks > -u dump core after parsing program > -U allow unsafe operations > -v print version, subversion (includes VERY IMPORTANT perl > info) > -V[:variable] print configuration summary (or a single Config.pm > variable) > -w enable many useful warnings (RECOMMENDED) > -W enable all warnings > -x[directory] strip off text before #!perl line and perhaps cd to > directory > -X disable all warnings > > > Thanks, Connie > Connie Logg, Network Analyst > Stanford Linear Accelerator Center > ph: 650-926-2879 > "Happiness is found along the way, not at the end of the road, and 'IF' is > the middle word in life." -- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED]