lists.zerezo.com



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

cannot install Perl DBD::mysql with libmysqlclient.a



Hi,

I have installed MySQL 5.0.51b source distribution on 64 bit RHEL 5.1. The configure was run with --disable-shared option. I also tried to install Perl DBD::mysql according to instruction:
http://dev.mysql.com/doc/refman/5.0/en/perl-installation.html

However, make command complains about relocation problem of libmysqlclient.a. Please, see below:

~> perl Makefile.PL
...
~> make

cp lib/DBD/mysql.pm blib/lib/DBD/mysql.pm
cp lib/DBD/mysql/GetInfo.pm blib/lib/DBD/mysql/GetInfo.pm
cp lib/DBD/mysql/INSTALL.pod blib/lib/DBD/mysql/INSTALL.pod
cp lib/Bundle/DBD/mysql.pm blib/lib/Bundle/DBD/mysql.pm
gcc -c
-I/usr/lib64/perl5/site_perl/5.8.8/x86_64-linux-thread-multi/auto/DBI
-I/usr/local/mysql/mysql-5.0.51b/include/mysql
-DDBD_MYSQL_INSERT_ID_IS_GOOD -g  -D_REENTRANT -D_GNU_SOURCE
-fno-strict-aliasing -pipe -Wdeclaration-after-statement
-I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
-I/usr/include/gdbm -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2
-fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64
-mtune=generic   -DVERSION=\"4.007\" -DXS_VERSION=\"4.007\" -fPIC
"-I/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE"   dbdimp.c
dbdimp.c: In function 'alloc_param':
dbdimp.c:112: warning: comparison is always false due to limited range
of data type
dbdimp.c: In function 'alloc_bind':
dbdimp.c:130: warning: comparison is always false due to limited range
of data type
dbdimp.c: In function 'alloc_fbind':
dbdimp.c:146: warning: comparison is always false due to limited range
of data type
dbdimp.c: In function 'alloc_fbuffer':
dbdimp.c:161: warning: comparison is always false due to limited range
of data type
dbdimp.c: In function 'parse_params':
dbdimp.c:464: warning: implicit declaration of function 'parse_number'
dbdimp.c: In function 'dbd_discon_all':
dbdimp.c:1948: warning: unused variable 'imp_xxh'
/usr/bin/perl -p -e "s/~DRIVER~/mysql/g"
/usr/lib64/perl5/site_perl/5.8.8/x86_64-linux-thread-multi/auto/DBI/Driver.xst
 > mysql.xsi
/usr/bin/perl /usr/lib/perl5/5.8.8/ExtUtils/xsubpp  -typemap
/usr/lib/perl5/5.8.8/ExtUtils/typemap  mysql.xs > mysql.xsc && mv
mysql.xsc mysql.c
Warning: duplicate function definition 'do' detected in mysql.xs, line 225
Warning: duplicate function definition 'rows' detected in mysql.xs, line 612
gcc -c
-I/usr/lib64/perl5/site_perl/5.8.8/x86_64-linux-thread-multi/auto/DBI
-I/usr/local/mysql/mysql-5.0.51b/include/mysql
-DDBD_MYSQL_INSERT_ID_IS_GOOD -g  -D_REENTRANT -D_GNU_SOURCE
-fno-strict-aliasing -pipe -Wdeclaration-after-statement
-I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
-I/usr/include/gdbm -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2
-fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64
-mtune=generic   -DVERSION=\"4.007\" -DXS_VERSION=\"4.007\" -fPIC
"-I/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE"   mysql.c
mysql.xs: In function 'XS_DBD__mysql__db_do':
mysql.xs:315: warning: comparison is always false due to limited range
of data type
mysql.xs:316: warning: comparison is always false due to limited range
of data type
mysql.xs:239: warning: unused variable 'statement_ptr'
mysql.xs: In function 'XS_DBD__mysql__st_more_results':
mysql.xs:550: warning: implicit declaration of function
'mysql_st_next_results'
mysql.xs:549: warning: unused variable 'retval'
mysql.xs: In function 'XS_DBD__mysql__GetInfo_dbd_mysql_get_info':
mysql.xs:686: warning: implicit declaration of function 'is_prefix'
Running Mkbootstrap for DBD::mysql ()
chmod 644 mysql.bs
rm -f blib/arch/auto/DBD/mysql/mysql.so
/usr/bin/perl myld gcc  -shared -O2 -g -pipe -Wall
-Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector
--param=ssp-buffer-size=4 -m64 -mtune=generic dbdimp.o mysql.o  -o
blib/arch/auto/DBD/mysql/mysql.so       \
            -L/usr/local/mysql/mysql-5.0.51b/lib/mysql -lmysqlclient -lz
-lcrypt -lnsl -lm       \

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

The consequence is that I cannot use MySQL benchmark suite, because DBD::mysql is needed for that. I would appreciate any suggestions how to proceed

Kind Regards,
--
Timo Kervinen, Bioinformatics Specialist, Tools for Data, Data Services
for Science and Culture, CSC
P.O.Box 405 02101 Espoo, Finland,
CSC is the Finnish IT Center for Science, www.csc.fi, e-mail:
Timo.Kervinen@xxxxxx

--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/mysql?unsub=royale@xxxxxxxxxx