[R] XLConnect on Linux Mint Maya

Keith S Weintraub kw1958 at gmail.com
Thu Jul 31 14:46:26 CEST 2014


Ista Et Al,
Unfortunately your suggestion to use remove.packages did exactly the reverse of what you thought would happen.

I have cleaned up my installation but still have trouble getting rJava to install properly and of course that means that XLConnect cannot install either.

-------------------------------------
I think this shows that the java-7-openjdk is working.
-------------------------------------
/home/refserv $ sudo R CMD javareconf
Java interpreter : /usr/bin/java
Java version     : 1.7.0_55
Java home path   : /usr/lib/jvm/java-7-openjdk-i386/jre
Java compiler    : /usr/bin/javac
Java headers gen.: /usr/bin/javah
Java archive tool: /usr/bin/jar

trying to compile and link a JNI progam 
detected JNI cpp flags    : -I$(JAVA_HOME)/../include
detected JNI linker flags : -L$(JAVA_HOME)/lib/i386/client -ljvm
gcc -std=gnu99 -I/usr/share/R/include -DNDEBUG -I/usr/lib/jvm/java-7-openjdk-i386/jre/../include     -fpic  -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Wformat-security -Werror=format-security -D_FORTIFY_SOURCE=2 -g  -c conftest.c -o conftest.o
gcc -std=gnu99 -shared -Wl,-Bsymbolic-functions -Wl,-z,relro -o conftest.so conftest.o -L/usr/lib/jvm/java-7-openjdk-i386/jre/lib/i386/client -ljvm -L/usr/lib/R/lib -lR


JAVA_HOME        : /usr/lib/jvm/java-7-openjdk-i386/jre
Java library path: $(JAVA_HOME)/lib/i386/client
JNI cpp flags    : -I$(JAVA_HOME)/../include
JNI linker flags : -L$(JAVA_HOME)/lib/i386/client -ljvm
Updating Java configuration in /usr/lib/R
Done.
___________________________________


-------------------------------------
Purge and re-install rjava
-------------------------------------
/home/refserv $ sudo apt-get --purge remove r-cran-rjava
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages will be REMOVED:
  r-cran-rjava*
0 upgraded, 0 newly installed, 1 to remove and 3 not upgraded.
After this operation, 1,651 kB disk space will be freed.
Do you want to continue [Y/n]? y
(Reading database ... 173764 files and directories currently installed.)
Removing r-cran-rjava ...

/home/refserv $ sudo apt-get install r-cran-rjava       
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following NEW packages will be installed:
  r-cran-rjava
0 upgraded, 1 newly installed, 0 to remove and 3 not upgraded.
Need to get 0 B/557 kB of archives.
After this operation, 1,651 kB of additional disk space will be used.
Selecting previously unselected package r-cran-rjava.
(Reading database ... 173625 files and directories currently installed.)
Unpacking r-cran-rjava (from .../r-cran-rjava_0.9-3-1_i386.deb) ...
Setting up r-cran-rjava (0.9-3-1) ...
-------------------------------------
-------------------------------------



-------------------------------------
Here I try to install rJava in R 
but it looks like there is a version problem.

Given I am using openjdk above I am not sure why R is looking at the oracle Java
-------------------------------------

home/refserv $ R

R version 3.1.1 (2014-07-10) -- "Sock it to Me"
Copyright (C) 2014 The R Foundation for Statistical Computing
Platform: i686-pc-linux-gnu (32-bit)

........................................ (just cutting down on the output)

> require(rJava)
Loading required package: rJava
Failed with error:  ‘package ‘rJava’ was built before R 3.0.0: please re-install it’
> install.packages("rJava")
Installing package into ‘/home/refserv/R/i686-pc-linux-gnu-library/3.1’
(as ‘lib’ is unspecified)
--- Please select a CRAN mirror for use in this session ---
trying URL 'http://cran.mirrors.hoobly.com/src/contrib/rJava_0.9-6.tar.gz'
Content type 'application/x-gzip' length 567515 bytes (554 Kb)
opened URL
==================================================
downloaded 554 Kb


........................................ (just cutting down on the output)


checking Java support in R... present:
interpreter : '/usr/lib/jvm/java-7-oracle/jre/bin/java'
archiver    : '/usr/lib/jvm/java-7-oracle/bin/jar'
compiler    : '/usr/lib/jvm/java-7-oracle/bin/javac'
header prep.: '/usr/lib/jvm/java-7-oracle/bin/javah'
cpp flags   : '-I/usr/lib/jvm/java-7-oracle/include -I/usr/lib/jvm/java-7-oracle/include/linux'
java libs   : '-L/usr/lib/jvm/java-7-oracle/jre/lib/i386/client -ljvm'
checking whether Java run-time works... ./configure: line 3729: /usr/lib/jvm/java-7-oracle/jre/bin/java: No such file or directory
no
configure: error: Java interpreter '/usr/lib/jvm/java-7-oracle/jre/bin/java' does not work
ERROR: configuration failed for package ‘rJava’
* removing ‘/home/refserv/R/i686-pc-linux-gnu-library/3.1/rJava’

The downloaded source packages are in
	‘/tmp/RtmpwvY4Md/downloaded_packages’
Warning message:
In install.packages("rJava") :
  installation of package ‘rJava’ had non-zero exit status

-------------------------------------
-------------------------------------

Thanks again for your time,
Best,
KW


--

On Jul 29, 2014, at 2:22 PM, Ista Zahn <istazahn at gmail.com> wrote:

> On Tue, Jul 29, 2014 at 12:54 PM, Jeff Newmiller
> <jdnewmil at dcn.davis.ca.us> wrote:
>> Sounds to me like a problem outside of R (off topic here).
> 
> Possibly, but I suspect that the OP now has two versions of XLConnect
> installed, one in the user R library and one in the system-wide R
> library.
> 
> Keith, try
> 
> remove.packages("XLConnect")
> remove.packages("rJava")
> 
> WITHOUT sudo. Then restart R; you should now get the (working)
> system-wide versions of rJava and XLConnect.
> 
> HTH,
> Ista
> 
> In particular, it doesn't sound like you are using the appropriate
> tools (apt-get package manager for R and a JDK; R install.package()
> for your R packages) to admin your machine. The only thing you should
> need sudo for is to run apt-get... everything else should be done as a
> normal user unless you really know what you are doing. I had no
> problem installing it just now on my Ubuntu machine with OpenJDK. I
> have no experience with Mint but Google tells me you should be able to
> use the instructions for Ubuntu... I would expect Google to tell you
> the same thing if you ask nicely... your most challenging task at this
> point should be cleaning up the mess you have made by excessive use of
> sudo ... most likely running R with it (only update your personal R
> library directories so you are not tempted to go rogue) but you don't
> say how you installed the jdk so that could also be messed up.
>> ---------------------------------------------------------------------------
>> Jeff Newmiller                        The     .....       .....  Go Live...
>> DCN:<jdnewmil at dcn.davis.ca.us>        Basics: ##.#.       ##.#.  Live Go...
>>                                      Live:   OO#.. Dead: OO#..  Playing
>> Research Engineer (Solar/Batteries            O.O#.       #.O#.  with
>> /Software/Embedded Controllers)               .OO#.       .OO#.  rocks...1k
>> ---------------------------------------------------------------------------
>> Sent from my phone. Please excuse my brevity.
>> 
>> On July 29, 2014 8:19:33 AM PDT, Keith S Weintraub <kw1958 at gmail.com> wrote:
>>> John Et Al.
>>> 
>>> I can get rJava and XLConnect to work only if I run as super user.
>>> 
>>> Note that I have built rJava and XLConnect as super user (otherwise
>>> neither package works).
>>> 
>>> 
>>> ____________________________________________
>>> Without sudo
>>> 
>>>> require(XLConnect)
>>> Loading required package: XLConnect
>>> Error : .onLoad failed in loadNamespace() for 'rJava', details:
>>> call: dyn.load(file, DLLpath = DLLpath, ...)
>>> error: unable to load shared object
>>> '/home/refserv/R/i686-pc-linux-gnu-library/3.1/rJava/libs/rJava.so':
>>> libjvm.so: cannot open shared object file: No such file or directory
>>> _____________________________________________
>>> With sudo
>>> 
>>>> require(XLConnect)
>>> Loading required package: XLConnect
>>> XLConnect 0.2-7 by Mirai Solutions GmbH
>>> http://www.mirai-solutions.com ,
>>> http://miraisolutions.wordpress.com
>>> 
>>> ______________________________________________
>>> Note that I have changed the ownership (recursively) for rJava and
>>> XLConnect because they were previously owned by root. Also note that
>>> ggplot2 (included for comparison) was installed the usual way with no
>>> problem.
>>> 
>>> drwxr-xr-x 11 refserv refserv 4096 Jul 24 14:07 ggplot2/
>>> drwxr-xr-x 10 refserv refserv 4096 Jul 29 08:28 rJava/
>>> drwxr-xr-x 11 refserv refserv 4096 Jul 29 10:09 XLConnect/
>>> 
>>> ________________________________________________
>>> 
>>> Despite "no such file or directory" above:
>>> 
>>> /home/refserv/R/i686-pc-linux-gnu-library/3.1/rJava $ ls -altr
>>> /home/refserv/>
>>> -rwxr-xr-x 1 refserv refserv 273489 Jul 29 08:28
>>> /home/refserv/R/i686-pc-linux-gnu-library/3.1/rJava/libs/rJava.so
>>> 
>>> The file rJava.so exists.
>>> 
>>> Thanks so much for your time and help,
>>> Best,
>>> KW
>>> 
>>> --
>>> 
>>> On Jul 24, 2014, at 11:16 PM, John McKown
>>> <john.archie.mckown at gmail.com> wrote:
>>> 
>>>> On Thu, Jul 24, 2014 at 8:36 PM, Keith S Weintraub <kw1958 at gmail.com>
>>> wrote:
>>>>> Folks,
>>>>> 
>>>>> I have been trying to get XLConnect to work on my Linux Mint Maya
>>> machine.
>>>>> 
>>>>> R works fine but this package doesn't seem to want to build. Here is
>>> the message I get after supposedly building XLConnect and rJava:
>>>>> 
>>>>> 
>>>>>>> require(XLConnect)
>>>>>> Loading required package: XLConnect
>>>>>> Error : .onLoad failed in loadNamespace() for 'rJava', details:
>>>>>> call: dyn.load(file, DLLpath = DLLpath, ...)
>>>>>> error: unable to load shared object
>>> '/home/refserv/R/i686-pc-linux-gnu-library/3.1/rJava/libs/rJava.so':
>>>>>> libjvm.so: cannot open shared object file: No such file or
>>> directory
>>>>> 
>>>>> 
>>>>> I purged the openJDK and downloaded the 1.7.0_65 JDK form Oracle.
>>>>> 
>>>>> The build and the compile seemed to work ok as there were no errors.
>>> For example I can generate ggplot2 graphs.
>>>>> 
>>>>> I know this is probably the wrong forum but if someone could gently
>>> point me in the right direction I would be very appreciative.
>>>>> 
>>>>> Thanks so much for your time,
>>>>> KW
>>>> 
>>>> It works fine for me on Fedora 20 (and 19 before it). When I
>>> installed
>>>> R, it installed into /usr/lib64/R. There exists a file:
>>>> /usr/lib64/R/etc/ldpaths which is executed by the R executable
>>> script.
>>>> This sets up the LD_LIBRARY_PATH to point to the Java installation on
>>>> my machine. In the /usr/lib64/R/bin directory, there is a program
>>>> called "javareconf". I would suggest that you run this with the -n
>>>> switch, like:
>>>> 
>>>> R CMD /usr/lib64/R/bin/javareconf -n
>>>> 
>>>> This will show you what it _would_ do if you left off the "-n". Make
>>>> sure it looks reasonable. If it does, then run the same command,
>>>> without the "-n", as the "root" superuser. In my case, that would be:
>>>> 
>>>> sudo R CMD /usr/lib64/R/bin/javareconf
>>>> 
>>>> You need to be "root" because it update the file
>>>> /usr/lib64/R/etc/ldpaths . I am fairly sure this will fix your
>>>> problem.
>>>> 
>>>> ===
>>>> 
>>>> As a possible alternative to XLConnect, have you looked at openxlsx?
>>>> It appears to have the same abilities, just some different syntax. It
>>>> says that it is written in C and so should be faster than XLConnect.
>>> I
>>>> have tested both packages, a little, and they both seem to work well.
>>>> 
>>>> Well, it's 22:14 hours here and I wish that I could fall asleep.
>>> We're
>>>> having problems at work and I know that the "big boss" will blame us
>>>> peons if the hardware isn't fixed promptly Despite the fact that we
>>>> are only software people and aren't allowed to touch the hardware.
>>> Our
>>>> management's minds are not using the same logic as mine does.
>>>> Frustrating.
>>>> 
>>>> --
>>>> There is nothing more pleasant than traveling and meeting new people!
>>>> Genghis Khan
>>>> 
>>>> Maranatha! <><
>>>> John McKown
>>> 
>>> ______________________________________________
>>> R-help at r-project.org mailing list
>>> https://stat.ethz.ch/mailman/listinfo/r-help
>>> PLEASE do read the posting guide
>>> http://www.R-project.org/posting-guide.html
>>> and provide commented, minimal, self-contained, reproducible code.
>> 
>> ______________________________________________
>> R-help at r-project.org mailing list
>> https://stat.ethz.ch/mailman/listinfo/r-help
>> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
>> and provide commented, minimal, self-contained, reproducible code.



More information about the R-help mailing list