[Rcppoctave-user] Cannot load RcppOctave.so onto Mac OS

Renaud Gaujoux renaud at mancala.cbio.uct.ac.za
Thu Nov 21 12:02:29 CET 2013


Ah, true, you would need to add type = 'source' to the install.packages
command.
Anyway this is not the actual problem.

It looks like the octave library are either not found or not loaded
correctly (maybe due to the compiler discrepancy).
Can you try this (not sure this is correct on Mac)

LD_LIBRARY_PATH=/opt/local/lib/octave/3.6.4 R CMD INSTALL
RcppOctave_0.13.3.tar.gz

The idea is to put ensure the octave libraries are in the PATH.

Renaud


On 21 November 2013 12:54, Yitping Kok <yitping at mpe.mpg.de> wrote:

> Hi Renaud,
>
> I tried your suggestion but R complains that the package is not available
> as a binary. This is the same error that led me to compile it from the
> command line in the first place. But trying it from the command line with
> RcppOctave_0.13.3.tar.gz from the suggested repository and using the
> suggested installation options did not work either. The output of is below.
>
> Thanks again.
>
> Yitping
>
> [yitping at dooku src]$ R CMD INSTALL --no-docs --no-help RcppOctave
> * installing to library
> ‘/Library/Frameworks/R.framework/Versions/3.0/Resources/library’
> * 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
> Original R_LDFLAGS: -F/Library/Frameworks/R.framework/.. -framework R
> Original R_CPPFLAGS: -I/Library/Frameworks/R.framework/Resources/include
> checking whether R is a shared library... yes
> checking type of Operating System... Darwin
> checking whether OS is Mac OS (Darwin)... yes
> Using mkoctfile with R_LDFLAGS: -Wl,"-F/Library/Frameworks/R.framework/..
> -framework R"
> Using mkoctfile with R_CPPFLAGS:
> -I/Library/Frameworks/R.framework/Resources/include
> checking for octave-config... /opt/local/bin/octave-config
> checking for mkoctfile... /opt/local/bin/mkoctfile
> checking Octave include flags...
> -I/opt/local/include/octave-3.6.4/octave/..
> -I/opt/local/include/octave-3.6.4/octave -I/opt/local/include
> checking Octave -L flags... -L/opt/local/lib/octave/3.6.4 -L/opt/local/lib
> checking Octave libraries... -loctinterp -loctave -lcruft
> checking Octave version... 3.6.4
> checking whether to infer output names for Octave function (>= 3.4.3)...
> yes
> Using Octave LDFLAGS: -L/opt/local/lib/octave/3.6.4 -L/opt/local/lib
> -loctinterp -loctave -lcruft
> Using Octave CPPFLAGS: -I/opt/local/include/octave-3.6.4/octave/..
> -I/opt/local/include/octave-3.6.4/octave -I/opt/local/include
> -DOCT_POST_3_4_0=1
> checking RcppOctave Octave module directory...
> /Library/Frameworks/R.framework/Versions/3.0/Resources/library/RcppOctave/modules
> 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
> "/opt/local/bin/mkoctfile" -v utils.cc
> /usr/bin/clang++ -c -fPIC -I/opt/local/include/octave-3.6.4/octave/..
> -I/opt/local/include/octave-3.6.4/octave -I/opt/local/include
> -I/opt/local/include -pipe -Os -arch x86_64 utils.cc -o utils.o
> /usr/bin/clang++ -bundle -bundle_loader /opt/local/bin/octave-3.6.4 -o
> utils.oct utils.o -L/opt/local/lib/octave/3.6.4 -L/opt/local/lib
> -loctinterp -loctave -lcruft -arch x86_64
> "/opt/local/bin/mkoctfile" -v
> -I/Library/Frameworks/R.framework/Resources/include
> -L/Library/Frameworks/R.framework/Libraries -lR Rrng.cc
> /usr/bin/clang++ -c -fPIC -I/opt/local/include/octave-3.6.4/octave/..
> -I/opt/local/include/octave-3.6.4/octave -I/opt/local/include
> -I/opt/local/include -pipe -Os -arch x86_64
> -I/Library/Frameworks/R.framework/Resources/include Rrng.cc -o Rrng.o
> /usr/bin/clang++ -bundle -bundle_loader /opt/local/bin/octave-3.6.4 -o
> Rrng.oct Rrng.o -L/Library/Frameworks/R.framework/Libraries -lR
> -L/opt/local/lib/octave/3.6.4 -L/opt/local/lib -loctinterp -loctave -lcruft
> -arch x86_64
> # Copying Octave modules to directory
> '/Library/Frameworks/R.framework/Versions/3.0/Resources/library/RcppOctave/modules'
> llvm-g++-4.2 -arch x86_64
> -I/Library/Frameworks/R.framework/Resources/include -DNDEBUG
> `"/Library/Frameworks/R.framework/Resources/bin/Rscript" -e
> "Rcpp:::CxxFlags()"` -I/opt/local/include/octave-3.6.4/octave/..
> -I/opt/local/include/octave-3.6.4/octave -I/opt/local/include
> -DOCT_POST_3_4_0=1 -I/usr/local/include
> -I"/Library/Frameworks/R.framework/Versions/3.0/Resources/library/Rcpp/include"
>   -fPIC  -I/opt/local/include -c conversion.cpp -o conversion.o
> llvm-g++-4.2 -arch x86_64
> -I/Library/Frameworks/R.framework/Resources/include -DNDEBUG
> `"/Library/Frameworks/R.framework/Resources/bin/Rscript" -e
> "Rcpp:::CxxFlags()"` -I/opt/local/include/octave-3.6.4/octave/..
> -I/opt/local/include/octave-3.6.4/octave -I/opt/local/include
> -DOCT_POST_3_4_0=1 -I/usr/local/include
> -I"/Library/Frameworks/R.framework/Versions/3.0/Resources/library/Rcpp/include"
>   -fPIC  -I/opt/local/include -c rcpp_octave.cpp -o rcpp_octave.o
> llvm-g++-4.2 -arch x86_64 -dynamiclib -Wl,-headerpad_max_install_names
> -undefined dynamic_lookup -single_module -multiply_defined suppress
> -L/usr/local/lib -L/usr/local/lib -o RcppOctave.so conversion.o
> rcpp_octave.o
> /Library/Frameworks/R.framework/Versions/3.0/Resources/library/Rcpp/lib/libRcpp.a
> -L/opt/local/lib/octave/3.6.4 -L/opt/local/lib -loctinterp -loctave -lcruft
> -F/Library/Frameworks/R.framework/.. -framework R -Wl,-framework
> -Wl,CoreFoundation
> installing to
> /Library/Frameworks/R.framework/Versions/3.0/Resources/library/RcppOctave/libs
> ** R
> ** demo
> ** inst
> ** preparing package for lazy loading
> ** building package indices
> ** installing vignettes
> ** testing if installed package can be loaded
> Error : .onLoad failed in loadNamespace() for 'RcppOctave', details:
>   call: dyn.load(file, DLLpath = DLLpath, ...)
>   error: unable to load shared object
> '/Library/Frameworks/R.framework/Versions/3.0/Resources/library/RcppOctave/libs/RcppOctave.so':
>
> dlopen(/Library/Frameworks/R.framework/Versions/3.0/Resources/library/RcppOctave/libs/RcppOctave.so,
> 6): Symbol not found: __Z22bind_internal_variableRKSsRK12octave_value
>   Referenced from:
> /Library/Frameworks/R.framework/Versions/3.0/Resources/library/RcppOctave/libs/RcppOctave.so
>   Expected in: flat namespace
>  in
> /Library/Frameworks/R.framework/Versions/3.0/Resources/library/RcppOctave/libs/RcppOctave.so
> Error: loading failed
> Execution halted
> ERROR: loading failed
> * removing
> ‘/Library/Frameworks/R.framework/Versions/3.0/Resources/library/RcppOctave’
>
>
> On Nov 21, 2013, at 10:49 AM, Renaud Gaujoux <
> renaud at mancala.cbio.uct.ac.za> wrote:
>
> Hi Dominick,
>
> Yitping is compiling (successfully) with macports, but there seem to be an
> issue when actually calling the code.
> I see in the log that mkoctfile uses clang, while R calls llvm-g++, could
> that be the origin of the problem?
>
> Yitping, could you please try the following:
>
> install.packages('RcppOctave', repos='
> http://web.cbio.uct.ac.za/~renaud/CRAN', INSTALL_opts = '--no-docs
> --no-help')
> library(RcppOctave)
> OctaveConfig()
> getLoadedDLLs()
> o_runif(1)
>
>
> Thank you
>
> On 21 November 2013 11:36, Renaud Gaujoux <renaud at mancala.cbio.uct.ac.za>wrote:
>
>> Thanks for the details Yitping, forwarding now to the list.
>> Please remember to Cc the list in your replies, so that there is a record
>> for future public reference.
>>
>> On 20 November 2013 22:20, Yitping Kok <yitping at mpe.mpg.de> wrote:
>>
>>> Hi Renaud,
>>>
>>> Thanks for your prompt reply. I tried the install_github() method you
>>> suggested but to no success either. The error is similar to what I had
>>> earlier, which source codes downloaded from RcppOctave cran webpage. Below
>>> are the log and error messages in case it is helpful.
>>>
>>> I have also included the output of sessionInfo() and Sys.info(). My
>>> Octave installation was done through MacPorts (*octave*-devel
>>> @3.6.4_9+atlas+docs+gcc48).
>>>
>>> Thanks in advance.
>>>
>>> Yitping
>>>
>>> > library(devtools)
>>> > install_github('RcppOctave', 'renozao', ref = 'develop')
>>> *Installing github repo(s) RcppOctave/develop from renozao*
>>> *Downloading RcppOctave.zip from
>>> https://github.com/renozao/RcppOctave/archive/develop.zip
>>> <https://github.com/renozao/RcppOctave/archive/develop.zip>*
>>> *Installing package from
>>> /var/folders/8x/g0dbm9yd1pz5n54vh5vdsmv40000gr/T//Rtmp4VW5GA/RcppOctave.zip*
>>> *Installing RcppOctave*
>>> *'/Library/Frameworks/R.framework/Resources/bin/R' --vanilla CMD
>>> INSTALL  \*
>>> *
>>> '/private/var/folders/8x/g0dbm9yd1pz5n54vh5vdsmv40000gr/T/Rtmp4VW5GA/RcppOctave-develop'
>>> \*
>>> *
>>> --library='/Library/Frameworks/R.framework/Versions/3.0/Resources/library'
>>> \*
>>> *  --with-keep.source --install-tests *
>>>
>>> * 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
>>> Original R_LDFLAGS: -F/Library/Frameworks/R.framework/.. -framework R
>>> Original R_CPPFLAGS: -I/Library/Frameworks/R.framework/Resources/include
>>> checking whether R is a shared library... yes
>>> checking type of Operating System... Darwin
>>> checking whether OS is Mac OS (Darwin)... yes
>>> Using mkoctfile with R_LDFLAGS:
>>> -Wl,"-F/Library/Frameworks/R.framework/.. -framework R"
>>> Using mkoctfile with R_CPPFLAGS:
>>> -I/Library/Frameworks/R.framework/Resources/include
>>> checking for octave-config... /opt/local/bin/octave-config
>>> checking for mkoctfile... /opt/local/bin/mkoctfile
>>> checking Octave include flags...
>>> -I/opt/local/include/octave-3.6.4/octave/..
>>> -I/opt/local/include/octave-3.6.4/octave -I/opt/local/include
>>> checking Octave -L flags... -L/opt/local/lib/octave/3.6.4
>>> -L/opt/local/lib
>>> checking Octave libraries... -loctinterp -loctave -lcruft
>>> checking Octave version... 3.6.4
>>> checking whether to infer output names for Octave function (>= 3.4.3)...
>>> yes
>>> Using Octave LDFLAGS: -L/opt/local/lib/octave/3.6.4 -L/opt/local/lib
>>> -loctinterp -loctave -lcruft
>>> Using Octave CPPFLAGS: -I/opt/local/include/octave-3.6.4/octave/..
>>> -I/opt/local/include/octave-3.6.4/octave -I/opt/local/include
>>> -DOCT_POST_3_4_0=1
>>> checking RcppOctave Octave module directory...
>>> /Library/Frameworks/R.framework/Versions/3.0/Resources/library/RcppOctave/modules
>>> 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
>>> "/opt/local/bin/mkoctfile" -v utils.cc
>>> /usr/bin/clang++ -c -fPIC -I/opt/local/include/octave-3.6.4/octave/..
>>> -I/opt/local/include/octave-3.6.4/octave -I/opt/local/include
>>> -I/opt/local/include -pipe -Os -arch x86_64 utils.cc -o utils.o
>>> /usr/bin/clang++ -bundle -bundle_loader /opt/local/bin/octave-3.6.4 -o
>>> utils.oct utils.o -L/opt/local/lib/octave/3.6.4 -L/opt/local/lib
>>> -loctinterp -loctave -lcruft -arch x86_64
>>> "/opt/local/bin/mkoctfile" -v
>>> -I/Library/Frameworks/R.framework/Resources/include
>>> -Wl,"-F/Library/Frameworks/R.framework/.. -framework R" Rrng.cc<http://rrng.cc/>
>>> /usr/bin/clang++ -c -fPIC -I/opt/local/include/octave-3.6.4/octave/..
>>> -I/opt/local/include/octave-3.6.4/octave -I/opt/local/include
>>> -I/opt/local/include -pipe -Os -arch x86_64
>>> -I/Library/Frameworks/R.framework/Resources/include Rrng.cc<http://rrng.cc/>-o Rrng.o
>>> /usr/bin/clang++ -bundle -bundle_loader /opt/local/bin/octave-3.6.4 -o
>>> Rrng.oct Rrng.o -Wl,-F/Library/Frameworks/R.framework/.. -framework R
>>> -L/opt/local/lib/octave/3.6.4 -L/opt/local/lib -loctinterp -loctave -lcruft
>>> -arch x86_64
>>> # Copying Octave modules to directory
>>> '/Library/Frameworks/R.framework/Versions/3.0/Resources/library/RcppOctave/modules'
>>> llvm-g++-4.2 -arch x86_64
>>> -I/Library/Frameworks/R.framework/Resources/include -DNDEBUG
>>> `"/Library/Frameworks/R.framework/Resources/bin/Rscript" -e
>>> "Rcpp:::CxxFlags()"` -I/opt/local/include/octave-3.6.4/octave/..
>>> -I/opt/local/include/octave-3.6.4/octave -I/opt/local/include
>>> -DOCT_POST_3_4_0=1 -I/usr/local/include
>>> -I"/Library/Frameworks/R.framework/Versions/3.0/Resources/library/Rcpp/include"
>>>   -fPIC  -I/opt/local/include -c conversion.cpp -o conversion.o
>>> llvm-g++-4.2 -arch x86_64
>>> -I/Library/Frameworks/R.framework/Resources/include -DNDEBUG
>>> `"/Library/Frameworks/R.framework/Resources/bin/Rscript" -e
>>> "Rcpp:::CxxFlags()"` -I/opt/local/include/octave-3.6.4/octave/..
>>> -I/opt/local/include/octave-3.6.4/octave -I/opt/local/include
>>> -DOCT_POST_3_4_0=1 -I/usr/local/include
>>> -I"/Library/Frameworks/R.framework/Versions/3.0/Resources/library/Rcpp/include"
>>>   -fPIC  -I/opt/local/include -c rcpp_octave.cpp -o rcpp_octave.o
>>> llvm-g++-4.2 -arch x86_64 -dynamiclib -Wl,-headerpad_max_install_names
>>> -undefined dynamic_lookup -single_module -multiply_defined suppress
>>> -L/usr/local/lib -L/usr/local/lib -o RcppOctave.so conversion.o
>>> rcpp_octave.o
>>> /Library/Frameworks/R.framework/Versions/3.0/Resources/library/Rcpp/lib/libRcpp.a
>>> -L/opt/local/lib/octave/3.6.4 -L/opt/local/lib -loctinterp -loctave -lcruft
>>> -F/Library/Frameworks/R.framework/.. -framework R -Wl,-framework
>>> -Wl,CoreFoundation
>>> installing to
>>> /Library/Frameworks/R.framework/Versions/3.0/Resources/library/RcppOctave/libs
>>> ** R
>>> ** demo
>>> ** inst
>>> ** tests
>>> ** preparing package for lazy loading
>>> ** help
>>> Error :
>>> /private/var/folders/8x/g0dbm9yd1pz5n54vh5vdsmv40000gr/T/Rtmp4VW5GA/RcppOctave-develop/man/o_addpath.Rd:41:
>>> .onLoad failed in loadNamespace() for 'RcppOctave', details:
>>>   call: dyn.load(file, DLLpath = DLLpath, ...)
>>>   error: unable to load shared object
>>> '/Library/Frameworks/R.framework/Versions/3.0/Resources/library/RcppOctave/libs/RcppOctave.so':
>>>
>>> dlopen(/Library/Frameworks/R.framework/Versions/3.0/Resources/library/RcppOctave/libs/RcppOctave.so,
>>> 6): Symbol not found: __Z22bind_internal_variableRKSsRK12octave_value
>>>   Referenced from:
>>> /Library/Frameworks/R.framework/Versions/3.0/Resources/library/RcppOctave/libs/RcppOctave.so
>>>   Expected in: flat namespace
>>>  in
>>> /Library/Frameworks/R.framework/Versions/3.0/Resources/library/RcppOctave/libs/RcppOctave.so
>>> ERROR: installing Rd objects failed for package 'RcppOctave'
>>> * removing
>>> '/Library/Frameworks/R.framework/Versions/3.0/Resources/library/RcppOctave'
>>>
>>>
>>>
>>>
>>> R version 3.0.2 (2013-09-25)
>>> Platform: x86_64-apple-darwin10.8.0 (64-bit)
>>>
>>> locale:
>>> [1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
>>>
>>> attached base packages:
>>> [1] stats     graphics  grDevices utils     datasets  methods   base
>>>
>>>
>>>   sysname
>>>
>>>                 "Darwin"
>>>
>>>                   release
>>>
>>>                 "13.0.0"
>>>
>>>                   version
>>> "Darwin Kernel Version 13.0.0: Thu Sep 19 22:22:27 PDT 2013;
>>> root:xnu-2422.1.72~6/RELEASE_X86_64"
>>>
>>>                 nodename
>>>
>>>             "dooku.local"
>>>
>>>                   machine
>>>
>>>                 "x86_64"
>>>
>>>                     login
>>>
>>>                 "yitping"
>>>
>>>                     user
>>>
>>>                 "yitping"
>>>
>>>           effective_user
>>>
>>>                 “yitping"
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>> On Nov 20, 2013, at 8:26 PM, Renaud Gaujoux <
>>> renaud at mancala.cbio.uct.ac.za> wrote:
>>>
>>> Hi Yitping,
>>>
>>> thank you for your interest in the RcppOctave package, which will
>>> hopefully provide what you need... once you get it working :D
>>> It will be great to get your feedback on how things work from a
>>> Mac-Octave user point of view.
>>>
>>> The package should compile fine with the settings described in the
>>> README file.
>>> Can you please send more details on your R (output of sessionInfo() and
>>> Sys.info) and Octave installation.
>>> Did you fetch the latest version of the source package from github?
>>>
>>> In R, try:
>>>
>>> library(devtools)
>>> install_github('RcppOctave', 'renozao', ref = 'develop')
>>>
>>>
>>> Renaud
>>>
>>>
>>> On 20 November 2013 19:25, Yitping Kok <yitping at mpe.mpg.de> wrote:
>>>
>>>> Hi RcppOctave users,
>>>>
>>>> I have just found out about this R packages and I am very excited about
>>>> it. I am an Octave user and would like to use more R. Therefore I think
>>>> this package will be perfect for me.
>>>>
>>>> I also understand that the package still has some installation issues
>>>> with Mac OS. However I tried to install the package on a Mac platform
>>>> anyway for the sake of trying and this is what I got.
>>>>
>>>> - I have Octave 3.6.4 installed.
>>>> - I managed to compile the shared library, RcppOctave.so.
>>>> - But I cannot proceed (to generating the documentation part) because
>>>> the library cannot be loaded. This is the error message I got.
>>>>
>>>> *Error in dyn.load("RcppOctave.so") : *
>>>> *  unable to load shared object
>>>> '/Users/yitping/Toolbox/R/src/RcppOctave/src/RcppOctave.so':*
>>>> *  dlopen(/Users/yitping/Toolbox/R/src/RcppOctave/src/RcppOctave.so,
>>>> 6): Symbol not found: __Z22bind_internal_variableRKSsRK12octave_value*
>>>> *  Referenced from:
>>>> /Users/yitping/Toolbox/R/src/RcppOctave/src/RcppOctave.so*
>>>> *  Expected in: flat namespace*
>>>> * in /Users/yitping/Toolbox/R/src/RcppOctave/src/RcppOctave.so*
>>>>
>>>> Any idea why it is so? Any help would be appreciated. Thanks very much.
>>>>
>>>>
>>>> Best regards,
>>>> Yitping
>>>>
>>>> _______________________________________________
>>>> Rcppoctave-user mailing list
>>>> Rcppoctave-user at lists.r-forge.r-project.org
>>>>
>>>> http://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcppoctave-user
>>>>
>>>>
>>>>
>>>>
>>>
>>>
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.r-forge.r-project.org/pipermail/rcppoctave-user/attachments/20131121/1e9905e2/attachment-0001.html>


More information about the Rcppoctave-user mailing list