[R] RMySQL install
Michaell Taylor
Michaell.Taylor at boxwoodmeans.com
Mon Jan 30 22:32:44 CET 2006
I am having trouble installing RMySQL on a clean install of Fedora Core 4 64
bit on a dual dual core machine (that is, two dual core processors). Seems
like the LD_LIBRARY_PATH is incorrect, but I don't seem to have it quite
right yet.
There are a few mentions of this problem in google, but thus far none of the
"fixes" and fixed my problem. I've tried defining the LD_LIBRARY_PATH
environment variable, and setting the PKG_CPPFLAGS, and PKG_LIBS environment
variables as well. No luck so far.
(initially would not compile, but specification of the PKG_CPPFLAGS, and
PKG_LIBS got the compile to complete without errors). I still cannot load
the library. My error message is:
> library(RMySQL)
Loading required package: DBI
Error in dyn.load(x, as.logical(local), as.logical(now)) :
unable to load shared library
'/usr/lib64/R/library/RMySQL/libs/RMySQL.so':
/usr/lib64/R/library/RMySQL/libs/RMySQL.so: undefined symbol:
mysql_field_count
Error in library(RMySQL) : .First.lib failed for 'RMySQL'
>
Trying to install the newest RMySQL on the newest R.
> version
_
platform x86_64-redhat-linux-gnu
arch x86_64
os linux-gnu
system x86_64, linux-gnu
status
major 2
minor 2.1
year 2005
month 12
day 20
svn rev 36812
language R
*********************
I find libmysqlclient.so in the following location(s).
[root at BX mtaylor]# locate libmysqlclient.so
/usr/lib/mysql/libmysqlclient.so.14.0.0
/usr/lib/mysql/libmysqlclient.so.14
/usr/lib64/mysql/libmysqlclient.so.10.0.0
/usr/lib64/mysql/libmysqlclient.so.10
/usr/lib64/mysql/libmysqlclient.so.14.0.0
/usr/lib64/mysql/libmysqlclient.so.14
/usr/lib64/mysql/libmysqlclient.so
/usr/lib64/mysql3/mysql/libmysqlclient.so.10.0.0
/usr/lib64/mysql3/mysql/libmysqlclient.so.10
/usr/lib64/mysql3/mysql/libmysqlclient.so
**********************
I set the LD_LIBRARY_PATH according to these results, then double checked that
it was set. (I also set it to /usr/lib64/mysql3/mysql as another iteration)
[root at BX mtaylor]# printenv LD_LIBRARY_PATH
/usr/lib64/mysql3/
Just to be sure...
[root at BX mtaylor]# printenv PKG_CPPFLAGS
-I/usr/include/mysql
[root at BX mtaylor]# printenv PKG_LIBS
-L/usr/lib64/mysql
(also tried PKG_LIBS=-L/usr/lib64/mysql3/mysql and PKG_LIBS=-L/usr/lib/mysql)
I recompiled the package each time with R CMD INSTALL RMySQL_0.5-7.tar.gz, but
I always get the same error message.
******************
appears to install ....
[root at BX mtaylor]# R CMD INSTALL RMySQL_0.5-7.tar.gz
* Installing *source* package 'RMySQL' ...
creating cache ./config.cache
checking how to run the C preprocessor... cc -E
checking for compress in -lz... yes
checking for getopt_long in -lc... yes
checking for mysql_init in -lmysqlclient... no
checking for mysql.h... no
updating cache ./config.cache
creating ./config.status
creating src/Makevars
** libs
gcc -I/usr/lib64/R/include -I/usr/include/mysql -I/usr/local/include -fPIC
-O2 -g -pipe -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -m64 -mtune=nocona -c
RS-DBI.c -o RS-DBI.o
gcc -I/usr/lib64/R/include -I/usr/include/mysql -I/usr/local/include -fPIC
-O2 -g -pipe -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -m64 -mtune=nocona -c
RS-MySQL.c -o RS-MySQL.o
gcc -shared -L/usr/local/lib64 -o RMySQL.so RS-DBI.o RS-MySQL.o
-L/usr/lib/mysql -lz -L/usr/lib64/R/lib -lR
** R
** inst
** save image
.
snip
.
** building package indices ...
* DONE (RMySQL)
[root at BX mtaylor]# /sbin/ldconfig -v | grep mysql
/usr/lib/mysql:
libmysqlclient.so.14 -> libmysqlclient.so.14.0.0
libmysqlclient_r.so.14 -> libmysqlclient_r.so.14.0.0
/usr/lib64/mysql:
libmysqlclient_r.so.10 -> libmysqlclient_r.so.10.0.0
libmysqlclient.so.14 -> libmysqlclient.so.14.0.0
libmysqlclient_r.so.14 -> libmysqlclient_r.so.14.0.0
libmysqlclient.so.10 -> libmysqlclient.so.10.0.0
just to make sure the headers are actually in the specified location...
[root at BX mtaylor]# ls /usr/include/mysql
chardefs.h m_ctype.h my_dir.h my_no_pthread.h mysql_embed.h
my_xml.h rlshell.h sslopt-longopts.h
errmsg.h m_string.h my_getopt.h my_pthread.h mysql.h raid.h
rltypedefs.h sslopt-vars.h
history.h my_alloc.h my_global.h my_semaphore.h mysql_time.h
readline.h sql_common.h tilde.h
keycache.h my_config.h my_list.h mysql_com.h mysql_version.h
rlmbutil.h sql_state.h typelib.h
keymaps.h my_dbug.h my_net.h mysqld_error.h my_sys.h
rlprivate.h sslopt-case.h xmalloc.h
There is a dial in here somewhere that I think I am turning the wrong
direction - just can't see it. Any experience with this one?
--
=======================================
Michaell Taylor, PhD.
Principal
Boxwood Means, Inc.
203.653.4100
More information about the R-help
mailing list