Skip to content

[Rcpp-devel] problems with rInside in Ubuntu

12 messages · Walter Mascarenhas, Paul Johnson, Dirk Eddelbuettel

#
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)

  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.

2) There is a link problem:

/usr/local/lib/R/site-library/RInside/lib/libRInside.so:-1: error:
undefined reference to `Rcpp::Language::update()'

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

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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.r-forge.r-project.org/pipermail/rcpp-devel/attachments/20130329/7deb3866/attachment.html>
#
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,

   In a simpler project, I noticed the following:

1) When I use the static library RInside/lib/libRInside.a I get the link
error above, i,e.
missing Rcpp::Language::update().However, if I replace RInside.a by the
RInside.so
the link problem disappears.

2) There isn't a method called update in the version of the class Language
in
/usr/local/lib/R/site-library/Rcpp/include/Rcpp/Language.h

 These observations lead to the natural questions:

1) are you sure the distributed LibRInside.a was compiled with the latest
version of the class Language?

2) When you say that everything works fine there, did you consider linking
against each one of the THREE version of libRInside:  /lib/libRInside.a,
/lib/libRInside.so and
/libs/libRInside.o?

              walter.
On Fri, Mar 29, 2013 at 10:37 PM, Dirk Eddelbuettel <edd at debian.org> wrote:

            
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.r-forge.r-project.org/pipermail/rcpp-devel/attachments/20130330/66396903/attachment.html>
#
Walter,
On 30 March 2013 at 10:19, Walter Mascarenhas wrote:
| ?? In a simpler project, I noticed the following:
| 
| 1) When I use the static library RInside/lib/libRInside.a I get the link error
| above, i,e.
| missing Rcpp::Language::update().However, if I replace RInside.a by the
| RInside.so
| the link problem disappears.

There may well be an error on your end: What made you think it would work
with static libraries?  Dynamic linking all the way.
 
| 2) There isn't a method called update in the version of the class Language in
| /usr/local/lib/R/site-library/Rcpp/include/Rcpp/Language.h
| 
| ?These observations lead to the natural questions:
| 
| 1) are you sure the distributed LibRInside.a was compiled with the latest
| version of the class Language?

"distributed LibRInside.a" ? 

Fist off, you have the capitalization wrong. Second, how am I supposed to
know how YOU built this?  I ship SOURCES. You control your builds. There is
no distributed libRInside.a, only sources and a Makefile.
 
This is R. 

It has _fixed recipes:: We say R CMD INSTALL. We control how it works.

| 2) When you say that everything works fine there, did you consider linking
| against each one of the THREE version of libRInside:? /lib/libRInside.a,? /
| lib/libRInside.so and
| /libs/libRInside.o?

I ship a Makefile. I say 'make'. It works.

Follow the (free) tools I give you.  If you insist of revinvention your
builds and things break, well then you get to keep the pieces.

So just for you, another run:

edd at max:~/svn/rinside$ R CMD INSTALL RInside_0.2.10.tar.gz 
* installing to library ?/usr/local/lib/R/site-library?
* installing *source* package ?RInside? ...
** libs
/usr/lib/R/bin/Rscript tools/RInsideAutoloads.r > RInsideAutoloads.h
/usr/lib/R/bin/Rscript tools/RInsideEnvVars.r   > RInsideEnvVars.h
ccache g++-4.7 -I/usr/share/R/include -DNDEBUG -I. -I../inst/include/  -I"/usr/local/lib/R/site-library/Rcpp/include"   -fpic  -g0 -O3 -Wall -pipe -Wno-variadic-macros -pedantic -c MemBuf.cpp -o MemBuf.o
ccache g++-4.7 -I/usr/share/R/include -DNDEBUG -I. -I../inst/include/  -I"/usr/local/lib/R/site-library/Rcpp/include"   -fpic  -g0 -O3 -Wall -pipe -Wno-variadic-macros -pedantic -c RInside.cpp -o RInside.o
g++-4.7 -shared -o RInside.so MemBuf.o RInside.o -L/usr/local/lib/R/site-library/Rcpp/lib -lRcpp -Wl,-rpath,/usr/local/lib/R/site-library/Rcpp/lib -L/usr/lib/R/lib -lR
g++-4.7 -o libRInside.so MemBuf.o RInside.o -shared `/usr/lib/R/bin/Rscript -e "Rcpp:::LdFlags()"`  -L/usr/lib/R/lib -lR
ar qc libRInside.a MemBuf.o RInside.o
cp libRInside.so ../inst/lib
cp libRInside.a ../inst/lib
rm libRInside.so libRInside.a
installing to /usr/local/lib/R/site-library/RInside/libs
** R
** inst
** preparing package for lazy loading
** help
*** installing help indices
** building package indices
** testing if installed package can be loaded

* DONE (RInside)
edd at max:~/svn/rinside$ 
edd at max:~/svn/rinside$ cd pkg/inst/examples/qt/
edd at max:~/svn/rinside/pkg/inst/examples/qt$ make clean && qmake && make
rm -f moc_qtdensity.cpp
rm -f qtdensity.o main.o moc_qtdensity.o
rm -f qtdensity Makefile
rm -f *~ core *.core
g++ -c -m64 -pipe -I/usr/share/R/include -I/usr/local/lib/R/site-library/Rcpp/include -I/usr/local/lib/R/site-library/RInside/include -O2 -Wall -W -D_REENTRANT -DQT_WEBKIT -DQT_NO_DEBUG -DQT_SVG_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++-64 -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtSvg -I/usr/include/qt4 -I. -o qtdensity.o qtdensity.cpp
g++ -c -m64 -pipe -I/usr/share/R/include -I/usr/local/lib/R/site-library/Rcpp/include -I/usr/local/lib/R/site-library/RInside/include -O2 -Wall -W -D_REENTRANT -DQT_WEBKIT -DQT_NO_DEBUG -DQT_SVG_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++-64 -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtSvg -I/usr/include/qt4 -I. -o main.o main.cpp
/usr/bin/moc-qt4 -DQT_WEBKIT -DQT_NO_DEBUG -DQT_SVG_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++-64 -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtSvg -I/usr/include/qt4 -I. qtdensity.h -o moc_qtdensity.cpp
g++ -c -m64 -pipe -I/usr/share/R/include -I/usr/local/lib/R/site-library/Rcpp/include -I/usr/local/lib/R/site-library/RInside/include -O2 -Wall -W -D_REENTRANT -DQT_WEBKIT -DQT_NO_DEBUG -DQT_SVG_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++-64 -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtSvg -I/usr/include/qt4 -I. -o moc_qtdensity.o moc_qtdensity.cpp
g++ -m64 -Wl,-O1 -o qtdensity qtdensity.o main.o moc_qtdensity.o    -L/usr/lib/x86_64-linux-gnu -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 -lQtSvg -lQtGui -lQtCore -lpthread 
edd at max:~/svn/rinside/pkg/inst/examples/qt$ 
edd at max:~/svn/rinside/pkg/inst/examples/qt$ ./qtdensity     ## application launches as expected
edd at max:~/svn/rinside/pkg/inst/examples/qt$ 

Note that some of the displayed path WILL differ on your box as they are
dynamically determined. Same with compiler options.

The main thing is:  We ship this so that works our of the box.  If you have
different claim, demonstrate their failure with a reproducible example.

If you're confused, re-read all available documentation.

Dirk

| 
| ????????????? walter.
| 
| 
|
| On Fri, Mar 29, 2013 at 10:37 PM, Dirk Eddelbuettel <edd at debian.org> wrote:
| 
|
| 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
| 
|
#
Sure, there is an error somewhere. I am just trying to find it and the
only
way I know how to do it is trying to exclude all the possibilities which
are not under my control or which are beyond my current understanding.
I believe this is a quite natural process for someone trying to learn a new
tool.
is
And your "Fist off" is missing an r. If this kind of nonsense were my only
problem in trying to use your code then I would be very glad.

  I did not build libRInside.a, It was build by apt-get or some other tool
which
called R CMD INSTALL or something like it in my behalf. Again, I do believe
other Ubuntu users may have the same problem.

As for the other run that you were so generous to provide me,
do you mean something as at the end of this message?
If you do then it creates two folders, one call libs with contains a library
RInside.o and another called lib which contains libraries libRInside.a and
libRInside.o.
In other words, the files that you do not distribute are created once
we follow your suggestion.

Trying to continue to follow your suggestion, I cannot cd to
pkg/inst/examples/qt/ as you because there is no
such folder pkg in my machine after I follow the steps you suggest (R
CMD...)
Instead, I can cd to folder  examples/qt/ and follow the next step
you suggest

make clean && qmake && make

but it does not work because

make: *** No rule to make target `clean'.  Stop.

I did then what most qt users would do, i.e. open the .pro file
in qtcreator. By doing that I get compilation errors due to my
using of qt 5.0.1 and are easily fixed, but I still have the
linking problem, which I find hard to be caused by the fact that
I am using qt 5.0,1, specially because it also happens in
a simpler project that does not use qt at all.

In resume, by following the steps you suggest I get to a point in
 which neither me nor you know what is happening and I am
trying to figure it out. I am not trying to do anything different
or fancy. I am just trying to make things work, and if you
could suggest effective ways to achieve this goal I would
follow them as carefully as I can.

   walter.

root at linux:/usr/local/lib/R/site-library/RInside# R CMD INSTALL
RInside_0.2.10.tar.gz* installing to library ?/usr/local/lib/R/site-library?
* installing *source* package ?RInside? ...
** libs
/usr/lib/R/bin/Rscript tools/RInsideAutoloads.r > RInsideAutoloads.h
/usr/lib/R/bin/Rscript tools/RInsideEnvVars.r   > RInsideEnvVars.h
g++ -I/usr/share/R/include -DNDEBUG -I. -I../inst/include/
-I"/usr/local/lib/R/site-library/Rcpp/include"   -fpic  -O3 -pipe  -g  -c
MemBuf.cpp -o MemBuf.o
g++ -I/usr/share/R/include -DNDEBUG -I. -I../inst/include/
-I"/usr/local/lib/R/site-library/Rcpp/include"   -fpic  -O3 -pipe  -g  -c
RInside.cpp -o RInside.o
g++ -shared -o RInside.so MemBuf.o RInside.o
-L/usr/local/lib/R/site-library/Rcpp/lib -lRcpp
-Wl,-rpath,/usr/local/lib/R/site-library/Rcpp/lib -L/usr/lib/R/lib -lR
g++ -o libRInside.so MemBuf.o RInside.o -shared `/usr/lib/R/bin/Rscript -e
"Rcpp:::LdFlags()"`  -L/usr/lib/R/lib -lR
ar qc libRInside.a MemBuf.o RInside.o
cp libRInside.so ../inst/lib
cp libRInside.a ../inst/lib
rm libRInside.so libRInside.a
installing to /usr/local/lib/R/site-library/RInside/libs
** R
** inst
** preparing package for lazy loading
** help
*** installing help indices
** building package indices
** testing if installed package can be loaded

* DONE (RInside)
root at linux:/usr/local/lib/R/site-library/RInside# ls
DESCRIPTION  examples  help  html  include  INDEX  lib    libs  Meta
NAMESPACE  NEWS.Rd    R  RInside_0.2.10.tar.gz  THANKS
On Sat, Mar 30, 2013 at 10:52 AM, Dirk Eddelbuettel <edd at debian.org> wrote:

            
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.r-forge.r-project.org/pipermail/rcpp-devel/attachments/20130330/55eed03e/attachment-0001.html>
#
[ I am going to chop chunks of this mail off as it gets too long ... ]
On 30 March 2013 at 12:17, Walter Mascarenhas wrote:
| ? I did not build libRInside.a, It was build by apt-get or some other tool
| which
| called R CMD INSTALL or something like it in my behalf. Again, I do believe
| other Ubuntu users may have the same problem.

I doubt that you got it from Ubuntu or Debian. I have been maintaining
packages for Debian since 1995, and covered R related packages including R
itself since the late 1990s. I'd think I'd know.

A formal search for the library via packages.debian.org brings up nothing:
http://packages.debian.org/search?searchon=contents&keywords=%2Fusr%2Flib%2FR%2Fsite-library%2FRInside%2Flib%2FlibRInside.a&mode=path&suite=unstable&arch=any
Dito via apt-cache search on my Ubuntu (12.10) machine.  You may have gotten
it from some non-official source, maybe even Michael's PPA --- but you have
to understand that that alone makes it NON-STANDARD and I have been trying to
explain to you over what must by now be 5 emails that you are better off
minimizing variability. 

It works for me. I have no prebuilt RInside.  Hint: Maybe remove yours.

If in doubt install RInside from source.
 
| In other words, the files that you do not distribute are created once
| we follow your suggestion.

It doesn't matter. We build the .a because that is what R does, and on some
platforms it is needed. No use to suppress.

The one that is used is the .so. Just trust me on that.
 
| Trying to continue to follow your suggestion, I cannot cd to
| pkg/inst/examples/qt/ as you because there is no

Because I work from (SVN) source, you don't. Maybe you should untar the
source tar.gz somewhere and work from it.

In the grand scheme does not matter.

| such folder pkg in my machine after I follow the steps you suggest (R CMD...)
| Instead, I can cd to folder? examples/qt/ and follow the next step
| you suggest

Make sure you work in a directory you have write access. If you naively did a 

     cd /usr/local/lib/R/site-library/RInside/examples/qt

then you usually DO NOT. Copy to /tmp, or your $HOME, or somewhere.
 
| make clean && qmake && make
| 
| but it does not work because
| 
| make: *** No rule to make target `clean'.? Stop.

Well, doh.  

| I did then what most qt users would do, i.e. open the .pro file
| in qtcreator. By doing that I get compilation errors due to my
| using of qt 5.0.1 and are easily fixed, but I still have the

I told you several times now that my code is UNTESTED AGAINST Qt 5
and that you should use libqt4 on your Ubuntu system -- unless you know what
you are doing.

Which, seemingly, you don't. 

I have other stuff to do (as eg re-building 100 or so r-cran-* packages for
the upcoming R 3.0.0 release) so I should really stop here.

| linking problem, which I find hard to be caused by the fact that
| I am using qt 5.0,1, specially because it also happens in
| a simpler project that does not use qt at all.
| 
| In resume, by following the steps you suggest I get to a point in
| ?which neither me nor you know what is happening and I am

Wrong. 

I happen to think that I know what I am doing with a piece of software I
co-designed and wrote. It even works for me, and I showed you how to do it.

You insist on doing it your way -- which is perfectly fine. 

But please understand that you then cannot call repeatedly for help.

| trying to figure it out. I am not trying to do anything different
| or fancy. I am just trying to make things work, and if you
| could suggest effective ways to achieve this goal I would
| follow them as carefully as I can.

I already have.  Look at the last email.

Dirk
 
| root at linux:/usr/local/lib/R/site-library/RInside# ls
| DESCRIPTION? examples? help? html? include? INDEX? lib??? libs?
| Meta? NAMESPACE? NEWS.Rd??? R? RInside_0.2.10.tar.gz? THANKS

PS  Why do you keep another source copy in the install directory?
#
On Sat, Mar 30, 2013 at 10:17 AM, Walter Mascarenhas <
walter.mascarenhas at gmail.com> wrote:

            
I think you should stop responding on this. This comment was insulting and
you don't have to put up with it.

Rcpp is really neat and am excited to read your book about it.  I've seen
first hand some really massive speedups in calculations due to
Rcpp/Armadillo in the Amelia project.

pj
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.r-forge.r-project.org/pipermail/rcpp-devel/attachments/20130330/d28fe516/attachment.html>
#
Paul and other members of the list,

   I already sent my apologies to Dirk and
I believe we understand ourselves well now.

   I also believe Rcpp and Rcpp/Armadillo are great and Dirk is well aware
of this.

   walter.
On Sat, Mar 30, 2013 at 2:54 PM, Paul Johnson <pauljohn32 at gmail.com> wrote:

            
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.r-forge.r-project.org/pipermail/rcpp-devel/attachments/20130330/b57cf305/attachment.html>
#
Hi Paul,
On 30 March 2013 at 12:54, Paul Johnson wrote:
| I think you should stop responding on this. This comment was insulting and you
| don't have to put up with it.

No worries.

The only thing I am getting really annoyed about is that Mr Mascarehas seems
to have genuine difficulties with email. Even though I asked him multiple to
not send mail to me only, he continues to do that.  

Moreover, I now asked him twice to summarise his solution to this list -- as
he seemingly managed to overcome his (self-inflicted [as I will continue to
suspect until proven otherwise]) woes and can now use RInside with Qt, which
is of course the point of the maintained example in the sources.

Cheers, Dirk
#
Dirk,

  The difficulties I had were indeed self inflicted, due to the
same kind of distraction that lead me to click "reply" instead
of "replay to all" a couple of times. They should not affect
other people because they are a combination of the
leftover from the use of an old version of RInside (dowloaded
by apt-get) and a new version from your site. Therefore,
there is no point in explaining in detail what combination
of silly mistakes caused me trouble, since is unlikely
that other people will go through the same process.

  I would not classify this as "genuine difficulties with email",
in the same way that I would not classify my silly mistakes
with the installation of a software I was trying for the first time
as "do not knowing what I was doing", as one could read from
your reply

"unless you know what you are doing. Which, seemingly,
you don't."

I wonder how many people in this list did not click "reply"
instead of "reply to all" by mistake a few times or did
something silly while installing Rcpp, RInside or
similar software.

  As I said to Paul, I did apologize to you. As for my
problems regarding the use of Rcpp/RInside with Qt 5,
I did not write the answer before because when I was about
to do it my wife and my kid took me off from the computer
for a quite pleasant afternoon.

  I do regret telling you that I would volunteer to help
you with Rcpp if you would find something in which
I could work. As I told you in private, I now see that
this arrangement will not work out, and I am sad
about the way things turned out.

walter.
On Sat, Mar 30, 2013 at 3:19 PM, Dirk Eddelbuettel <edd at debian.org> wrote:

            
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.r-forge.r-project.org/pipermail/rcpp-devel/attachments/20130330/07313dbe/attachment-0001.html>
#
On 30 March 2013 at 19:50, Walter Mascarenhas wrote:
| leftover from the use of an old version of RInside (dowloaded
| by apt-get) and a new version from your site. Therefore,

I never packaged RInside, and I already asked you where you got it from.
Your unwillingness to actually answer questions I ask limits my willingness
to spend more time helping you.

And yes, looking at exactly what version of libraries your programs link to
generally matters.  As you (re-)learned now.

| there is no point in explaining in detail what combination
| of silly mistakes caused me trouble, since is unlikely
| that other people will go through the same process.

Try to step back an inch or two and abstract: it is the _process_ that
matters, not the slavish repetition of steps.  

As such, failure is a great learning experience once you overcome the initial
difficulty.  Failure to learn that is a wasted resource.  

Good luck. 

Dirk
#
Good luck to you too...

   bye,
On Sat, Mar 30, 2013 at 8:37 PM, Dirk Eddelbuettel <edd at debian.org> wrote:

            
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.r-forge.r-project.org/pipermail/rcpp-devel/attachments/20130330/f2c9c667/attachment.html>