[Rcpp-devel] problems with rInside in Ubuntu

Dirk Eddelbuettel edd at debian.org
Sat Mar 30 02:37:23 CET 2013


On 29 March 2013 at 22:13, Walter Mascarenhas wrote:
| Dirk,
| 
|   SInce I wrote you this afternoon, I upgraded to R 2.15.3 and got version
| 0.10.3 of rcpp and
| 0.2.10 of Rinside. I am using ubuntu 12.04 LTS, with g++4.7.2 and Qt 5.0.1 in
| Qt creator 2.6.2
| (the first few lines of the makefile generated by qmake are at the end of this
| message)

It is probably Qt 5 that makes the difference. 

Why did you pick it?  Ubuntu 12.04 and 12.10 comes with perfectly fine
versions of Qt 4.7.*

|   Now rinsides's qtdensity example does not work anymore, for two reasons:
| 1) The file main.cpp does not compile. It is easy to fix this by addng
| these four lines to main.cpp:
| 
| #include <QLineEdit>
| #include <QGroupBox>
| #include <QRadioButton>
| #include <QButtonGroup>
| 
| I guess these files are included via <qtGui> in your machine.

Yes, works here out of the box.
 
| 2) There is a link problem:
| 
| /usr/local/lib/R/site-library/RInside/lib/libRInside.so:-1: error: undefined
| reference to `Rcpp::Language::update()'

Dito. That one is weirder. 

If we both use Rcpp 0.10.3, why do you have this and I don't?
 
Do the other examples (in the neighbouring directories) build?

| which I do not now how to solve. What should I do?

Debug it. It broke, and you get to keep the pieces.

I support software I give away for free. I test to the best of my ability and
resources, but keep in mind that I do not have the manpower or resource to
test on every conceivable combination of related software releases.

I really do think that you safest bet may to take the libqt* versions from
your distro.
 
| Once you tell me how to fix this I will build an example with qt in which I
| use Rcpp to reproduce the results in a finance paper which were obtained
| originally in matlab. I believe it will be a neat example of the use of Rcpp
| (and I want to look very carefully at this article anyway)
| 
| Here are the first lines of the makefile:
| 
| ##############################
| ###############################################
| # Makefile for building: qtdensity
| # Generated by qmake (3.0) (Qt 5.0.1) on: Fri Mar 29 21:33:20 2013
| # Project:  /usr/local/lib/R/site-library/RInside/examples/qt/qtdensity.pro
| # Template: app
| # Command: /home/walter/qt.5.0.1/5.0.1/gcc_64/bin/qmake -spec linux-g++-64
| CONFIG+=debug CONFIG+=declarative_debug CONFIG+=qml_debug QMAKE_CXX=g++-4.7
| QMAKE_CXXFLAGS+=-std=c++11 -o Makefile /usr/local/lib/R/site-library/RInside/
| examples/qt/qtdensity.pro
| #############################################################################
| 
| MAKEFILE      = Makefile
| 
| ####### Compiler, tools and options
| 
| CC            = gcc
| CXX           = g++-4.7
| DEFINES       = -DQT_QML_DEBUG -DQT_DECLARATIVE_DEBUG -DQT_SVG_LIB
| -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB
| CFLAGS        = -m64 -pipe -g -Wall -W -D_REENTRANT -fPIE $(DEFINES)
| CXXFLAGS      = -m64 -pipe -std=c++11 -I/usr/share/R/include -I/usr/local/
| lib/R/site-library/Rcpp/include -I/usr/local/lib/R/site-library/RInside/include
| -g -Wall -W -D_REENTRANT -fPIE $(DEFINES)
| INCPATH       = -I../../../../qt.5.0.1/5.0.1/gcc_64/mkspecs/linux-g++-64
| -I/usr/local/lib/R/site-library/RInside/examples/qt -I../../../../qt.5.0.1/
| 5.0.1/gcc_64/include -I../../../../qt.5.0.1/5.0.1/gcc_64/include/QtSvg -I../..
| /../../qt.5.0.1/5.0.1/gcc_64/include/QtWidgets -I../../../../qt.5.0.1/5.0.1/
| gcc_64/include/QtGui -I../../../../qt.5.0.1/5.0.1/gcc_64/include/QtCore -I. -I.
| LINK          = g++
| LFLAGS        = -m64 -Wl,-rpath,/home/walter/qt.5.0.1/5.0.1/gcc_64
| -Wl,-rpath,/home/walter/qt.5.0.1/5.0.1/gcc_64/lib
| LIBS          = $(SUBLIBS) -L/usr/X11R6/lib64 -L/usr/lib/R/lib -lR
| -lblas -llapack -L/usr/local/lib/R/site-library/RInside/lib -lRInside
| -Wl,-rpath,/usr/local/lib/R/site-library/RInside/lib -L/usr/local/lib/R/
| site-library/Rcpp/lib -lRcpp -Wl,-rpath,/usr/local/lib/R/site-library/Rcpp/lib
| -L/home/walter/qt.5.0.1/5.0.1/gcc_64/lib -lQt5Svg -lQt5Widgets -lQt5Gui
| -lQt5Core -lGL -lpthread
| AR            = ar cqs
| RANLIB        =
| QMAKE         = /home/walter/qt.5.0.1/5.0.1/gcc_64/bin/qmake
| TAR           = tar -cf
| COMPRESS      = gzip -9f
| COPY          = cp -f
| SED           = sed
| COPY_FILE     = cp -f
| COPY_DIR      = cp -f -R
| STRIP         = strip
| INSTALL_FILE  = install -m 644 -p
| INSTALL_DIR   = $(COPY_DIR)
| INSTALL_PROGRAM = install -m 755 -p
| DEL_FILE      = rm -f
| SYMLINK       = ln -f -s
| DEL_DIR       = rmdir
| MOVE          = mv -f
| CHK_DIR_EXISTS= test -d
| MKDIR         = mkdir -p
| [cleardot]

It's all reasonable, and the only clear difference I see it qt5.0. My releases
assume qt4.* and currently test under 4.7.

Dirk

-- 
Dirk Eddelbuettel | edd at debian.org | http://dirk.eddelbuettel.com


More information about the Rcpp-devel mailing list