SCM

[#2782] Problem installing the RcppOctave packge - latest version on Lubuntu Linux x64

Date:
2013-05-15 03:42
Priority:
3
State:
Open
Submitted by:
r calaba (calaba)
Assigned to:
Renaud Gaujoux (renaud)
Hardware:
PC
Product:
None
Operating System:
Linux
Component:
None
Version:
None
Severity:
blocker
Resolution:
None
URL:
Summary:
Problem installing the RcppOctave packge - latest version on Lubuntu Linux x64

Detailed description
Hi, I have problem installing RcppOctave using install.packages("RcppOctave") looks good - compilation phase is ok .. but then I am getting core dump (seg. fault - see the error message details in attached picture)

R version: 2.15.2
Octave: 3.6.4
Lubuntu-x64-13.10 - linux 3.8.0-19-generic x86_64

Have tried to start from scratch - fresh Lubutnu intsallation, installed R and Octave and now trying ti install.packages("RcppOctave") and getting an error while compiling:

make[1]: Leaving directory `/tmp/RtmphD4pdv/R.INSTALL59936d8e441a/RcppOctave/src/modules'

Copying Octave modules to '/usr/local/lib/R/site-library/RcppOctave/modules'

g++ -I/usr/share/R/include -DNDEBUG `"/usr/lib/R/bin/Rscript" -e "Rcpp:::CxxFlags()"` -DOCT_POST_3_4_0=1 -I"/usr/include/octave-3.6.4/octave" -I"/usr/include/octave-3.6.4/octave/../" -I"/usr/include/octave-3.6.4/octave/octave" -I"/usr/local/lib/R/site-library/Rcpp/include" -fpic -O2 -pipe -g -c conversion.cpp -o conversion.o

In file included from /usr/include/hdf5.h:24:0,

from /usr/include/octave-3.6.4/octave/../octave/oct-hdf5.h:27,

from /usr/include/octave-3.6.4/octave/../octave/ov.h:43,

from /usr/include/octave-3.6.4/octave/../octave/oct-obj.h:34,

from /usr/include/octave-3.6.4/octave/../octave/ov-fcn.h:32,

from /usr/include/octave-3.6.4/octave/../octave/ov-builtin.h:28,

from /usr/include/octave-3.6.4/octave/../octave/defun-int.h:28,

from /usr/include/octave-3.6.4/octave/../octave/defun-dld.h:30,

from /usr/include/octave-3.6.4/octave/../octave/oct.h:36,

from rcpp_octave.h:10,

from conversion.cpp:1:

/usr/include/H5public.h:63:20: fatal error: mpi.h: No such file or directory

compilation terminated.

make: *** [conversion.o] Error 1

ERROR: compilation failed for package ‘RcppOctave’
* removing ‘/usr/local/lib/R/site-library/RcppOctave’

!!!!!!!!!! Resoltion !!!!!!!!!!!

After playing a while a did following: in Lubuntu package manager I installed package libopenmpi1.6-dev (1.6.4-2) -> which uninstalled previously installed packages libopenmpi-dev (1.4.5-1ubuntu1).

This caused that now I can compile the stuff (install.pacakges("RcppOctave")) but while executing post compilation unit tests - I am back getting segmentation fault - see the screenshot attached ...

Any ideas how to make it working ... ?? I was using latest Lubuntu x64 from scratch ... Have tried also on Lubuntu 12.x x-64 - same issue - core dump.

Comments:

Message  ↓
Date: 2013-07-29 11:15
Sender: Renaud Gaujoux

I have not completely debugged this issue yet. :(
What I am currently getting is a segfault when exiting R, after having loaded RcppOctave, but only when the latestet version of the Octave io package is installed.
However, things seem to work fine when using an older version of io: io-1.0.20.

Can anybody check if this is reproducible. Two ways: one automated (recommended), the other manual.

Automated:
- install Octave
- install the CellMix package from myCRAN repository following the instructions (http://web.cbio.uct.ac.za/~renaud/CRAN/web/CellMix). I would recommend using a temporary lib for this:
tmplib <- dir.create(tempfile('tmplib'))
biocLite('CellMix', siteRepos = 'http://web.cbio.uct.ac.za/~renaud/CRAN/', lib = tmplib).
- Older versions of io and other dependencies for the stats and optim Octave packages are stored in myCRAN and will install in batch with the following command:
tmplib <- dir.create(tempfile('tmplib'))
install.extras('CellMix', lib = tmplib)
- load RcppOctave and do some tests (e.g., o_runif(2))
- exit R

Manual:
- Install Octave
- Install all octave packages in http://web.cbio.uct.ac.za/~renaud/CRAN/extras/CellMix/ (they have to be installed following the right dependency order)
- install RcppOctave (this should already tell if the segfault issue is solved)
- load RcppOctave and do some tests (e.g., o_runif(2))
- exit R

Awaiting feedbacks on this.

Bests,
Renaud

Date: 2013-07-11 06:38
Sender: Werner S

Any news on this, I'm experiencing the same problem (tried with all versions of RcppOctave).? R-version is 2.15.3.

greetz,
Werner

Date: 2013-06-12 03:14
Sender: r calaba

Hi Renaud,

just FYI - the CRAN still contains the RcppOctave version 0.9.1 - but the 0.9.2 you sent me is pretty much working (despite the issue described below) -> so I think it would be worth it exposing the version 0.9.2 to public ...

Best, Richard.

Date: 2013-05-19 05:57
Sender: Renaud Gaujoux

Correction: the "permission denied" error was coming from my .octave_history file not being writable (due to previous usage of octave as sudo (sigh)), so nothing to be found this way.

Investigation must go on...

Date: 2013-05-18 06:04
Sender: Renaud Gaujoux

The issue seems to come from plain Octave. On my machine I get a "permission denied" error when exiting Octave (see file octave-quit-log.txt in attachment), which could consistent with the a "invalid permission" message we get when quitting R after loading RcppOctave. Note that this happens without the io package being installed...

Maybe this only on my machine though.

Date: 2013-05-18 01:16
Sender: r calaba

Ok so final conclusions about this bug. To be able to compile the RcppOctave with R 2.15.x at least version 0.9.2 is needed. In advance the installation of RcppOctave package is causing cored dump in testing phase (after compilation) in the Octave installation is having a package "io" installed -> that shoudl be resolved as it could be essential package. Workaround to get it somehow working without the "io" Octave package is to remove the io package from Ocatve (pkg unistall -nodeps io).

Date: 2013-05-16 18:13
Sender: r calaba

OMG, the formatting of the follow-ups is so bad .. attaching the log again but as attachment ... nicely formatted.

Date: 2013-05-16 18:11
Sender: r calaba

I tried to compile the package - seemed okay - but then it ended up same way as the 0.9 version - in testing phase of the installer - getting core dump ....

>>>>Attaching the installation log

> install.packages("/Rserve/RcppOctave_0.9.2.tar.gz")
Installing package(s) into ‘/home/rserve/R/x86_64-pc-linux-gnu-library/2.15’
(as ‘lib’ is unspecified)
inferring 'repos = NULL' from the file name
* installing *source* package ‘RcppOctave’ ...
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking whether R is a shared library... yes
Using R LDFLAGS: -L/usr/lib/R/lib -lR
Using R CPPFLAGS: -I/usr/share/R/include
checking for octave-config... /usr/bin/octave-config
checking for mkoctfile... /usr/bin/mkoctfile
checking Octave include directory... /usr/include/octave-3.6.4/octave
checking Octave library directory... /usr/lib/x86_64-linux-gnu/octave/3.6.4
checking Octave version... 3.6.4
checking whether to infer output names for Octave function (>= 3.4.3)... yes
configure: creating ./config.status
config.status: creating src/Makevars
configure: creating ./config.status
config.status: creating src/Makevars
config.status: creating src/modules/Makefile
** libs
cd modules;\
make; \
mkdir -p /home/rserve/R/x86_64-pc-linux-gnu-library/2.15/RcppOctave/modules; \
echo "Copying Octave modules to '/home/rserve/R/x86_64-pc-linux-gnu-library/2.15/RcppOctave/modules'"; \
cp -f PKG_ADD *.oct /home/rserve/R/x86_64-pc-linux-gnu-library/2.15/RcppOctave/modules;
make[1]: Entering directory `/tmp/RtmpHYuJzb/R.INSTALL171c1e2b3023/RcppOctave/src/modules'
/usr/bin/mkoctfile -v -c -I/usr/share/R/include Rrng.cc
g++ -c -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/octave-3.6.4/octave/.. -I/usr/include/octave-3.6.4/octave -I/usr/include/mpi -I/usr/include/freetype2 -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -fopenmp -I/usr/share/R/include Rrng.cc -o Rrng.o
/usr/bin/mkoctfile Rrng.o -L/usr/lib/R/lib -lR --output Rrng.oct
/usr/bin/mkoctfile utils.cc
make[1]: Leaving directory `/tmp/RtmpHYuJzb/R.INSTALL171c1e2b3023/RcppOctave/src/modules'
Copying Octave modules to '/home/rserve/R/x86_64-pc-linux-gnu-library/2.15/RcppOctave/modules'
g++ -I/usr/share/R/include -DNDEBUG `"/usr/lib/R/bin/Rscript" -e "Rcpp:::CxxFlags()"` -DOCT_POST_3_4_0=1 -I"/usr/include/octave-3.6.4/octave" -I"/usr/include/octave-3.6.4/octave/../" -I"/usr/include/octave-3.6.4/octave/octave" -I"/usr/local/lib/R/site-library/Rcpp/include" -fpic -O2 -pipe -g -c conversion.cpp -o conversion.o
g++ -I/usr/share/R/include -DNDEBUG `"/usr/lib/R/bin/Rscript" -e "Rcpp:::CxxFlags()"` -DOCT_POST_3_4_0=1 -I"/usr/include/octave-3.6.4/octave" -I"/usr/include/octave-3.6.4/octave/../" -I"/usr/include/octave-3.6.4/octave/octave" -I"/usr/local/lib/R/site-library/Rcpp/include" -fpic -O2 -pipe -g -c rcpp_octave.cpp -o rcpp_octave.o
g++ -shared -o RcppOctave.so conversion.o rcpp_octave.o -L/usr/local/lib/R/site-library/Rcpp/lib -lRcpp -Wl,-rpath,/usr/local/lib/R/site-library/Rcpp/lib -L/usr/lib/x86_64-linux-gnu/octave/3.6.4 -l octinterp -L/usr/lib/R/lib -lR
installing to /home/rserve/R/x86_64-pc-linux-gnu-library/2.15/RcppOctave/libs
** R
** demo
** inst
** preparing package for lazy loading
Creating a generic function for ‘show’ from ‘methods’ in package ‘RcppOctave’
(from the saved implicit definition)
** help
warning: dispatch is obsolete and will be removed from a future version of Octave; please use classes instead
warning: function /usr/share/octave/packages/statistics-1.2.0/fstat.m shadows a core library function
*** installing help indices
** building package indices
** installing vignettes
‘RcppOctave-unitTests.Rnw’
‘RcppOctave.Rnw’
** testing if installed package can be loaded
warning: dispatch is obsolete and will be removed from a future version of Octave; please use classes instead
warning: function /usr/share/octave/packages/statistics-1.2.0/fstat.m shadows a core library function

*** caught segfault ***
address 0x2875240, cause 'invalid permissions'
aborting ...
Segmentation fault (core dumped)
ERROR: loading failed
* removing ‘/home/rserve/R/x86_64-pc-linux-gnu-library/2.15/RcppOctave’
warning: load_path: /home/rserve/R/x86_64-pc-linux-gnu-library/2.15/RcppOctave/modules: No such file or directory

*** caught segfault ***
address 0x46816d0, cause 'invalid permissions'

Traceback:
1: q("no", status = 1, runLast = FALSE)
2: do_exit_on_error()
3: errmsg("loading failed")
4: do_install_source(pkg_name, instdir, pkg, desc)
5: do_install(pkg)
6: tools:::.install_packages()
aborting ...
Segmentation fault (core dumped)
Warning message:
In install.packages("/Rserve/RcppOctave_0.9.2.tar.gz") :
installation of package ‘/Rserve/RcppOctave_0.9.2.tar.gz’ had non-zero exit status

Date: 2013-05-16 12:55
Sender: Renaud Gaujoux

R-forge building system has some recurrent issues -- at least but not only -- on my packages :( so the checks often stall and no packages are built. This happened again this time. Will send you the source by email.

Date: 2013-05-15 21:57
Sender: r calaba

Perfect - I will try and let you know ... Unfortunately due to other dependencies of R I need to stay on version 2.14+ .... any chance the RcppOctave can be deploy-able on R version 2 ?? ... It's just a wrapper to Octave so it shouldn't depend >that much< on R version .... so I preffer you make it working on R version 2 .. I will test it for you

How long it takes for the new package to be built on R-CRAN? I chec, so far there is still the old 0.9.1 version ...

BTW: The compilation error related to MPI -> I also don't know , was doing it on freshly reinstalled Lubuntu .. not sure why upgrade of MPI resolved the header file dependecy ... but for sure it doesn't work with lower openmpi devel lib version (1.4.5)

PS: Yup, please ignore the joining request _ I really want just to monitor - I won't be able to contrubute much as an developer for R-modules

Date: 2013-05-15 08:53
Sender: Renaud Gaujoux

Hi,

the error due to mpi.h is weird. I don't know why MPI includes should be loaded, maybe this was due to some residual config, which is kind of consistent with the fact that reinstalling an MPI library solved your problem.

The other error comes from the fact that the new version of RcppOctave works on R >= 3.0, and the 2nd screenshot shows that you are running R 2.15.x.
In fact you should not have been able to download it using install.packages but I forgot to bump the R version in the dependency. Two options:

- either you upgrade your R installation
- or I make sure the new version works on previous R versions. I have just submitted a fix for this on R-forge (version 0.9.2). Please let me know if this works in R 2.15.x, once the package has been built.

Renaud

PS: you sent a request for joining the project, but I think that what you wanted was to monitor the project. Joining means being part of the developers. I think you can monitor the project activity. I know R-forge's interface is not as intuitive or efficient as one would wish. :)

Date: 2013-05-15 04:01
Sender: r calaba

Addition ... I just realized that there was an update of RcppOctave package - now there is version 0.9.1 last updated 2013-05-13 (which is yesterday) -> so I have tried with latst version from 2013-05-13 again ... now I am not getting segmentation fault but the installation still doesn't finish .. getting an error:

Error : /tmp/RtmptO7xKg/R.INSTALL16fb2289e80e/RcppOctave/man/o_addpath.Rd:41: .onLoad failed in loadNamespace() for 'RcppOctave', details:
call: NULL
error: 'packageName' is not an exported object from 'namespace:utils'
ERROR: installing Rd objects failed for package ‘RcppOctave’


See attached 2nd screenshot for details.

Attached Files:

Attachments:
Size Name Date By Download
96 KiBoriginal.jpg2013-05-15 03:42calabaoriginal.jpg
242 KiBoriginal.jpg2013-05-15 04:01calabaoriginal.jpg
46 KiBInstallation Log.htm2013-05-16 18:13calabaInstallation Log.htm
774 bytesoctave-quit-log.txt2013-05-18 06:04renaudoctave-quit-log.txt

Changes

Field Old Value Date By
assigned_tonone2013-07-29 11:15renaud
File Added540: octave-quit-log.txt2013-05-18 06:04renaud
File Added539: Installation Log.htm2013-05-16 18:13calaba
File Added538: original.jpg2013-05-15 04:01calaba
File Added537: original.jpg2013-05-15 03:42calaba
Thanks to:
Vienna University of Economics and Business Powered By FusionForge