[Bioc-devel] CXX on liverpool/lemming
Martin Morgan
mtmorgan at fhcrc.org
Mon Oct 15 01:13:10 CEST 2007
Kasper Daniel Hansen <khansen at stat.berkeley.edu> writes:
> On Oct 14, 2007, at 12:20 PM, Steffen Neumann (on the road) wrote:
>
>> Hi,
>>
>> I am trying to figure the build report for both windows machines on
>> http://bioconductor.org/checkResults/2.2/bioc-LATEST/Rdisop/
>> liverpool-buildsrc.html
>>
>> which says
>>
>> g++ -c Rcpp.cpp -o Rcpp.o -I"e:\biocbld\bbs-2.2-bioc\R/include" -
>> I"e:\biocbld\bbs-2.2-bioc\R/src/include" -Wall -O2
>> g++: not found
Hi Steffen, Kasper
The R development tools use MinGW. The 4.2.1 compiler is g++-sjlj
(sjlj apparently refering to short-jump, long-jump).
But this is a detail that you shouldn't have to worry about. As on any
platform, you can / should discover the correct compiler by asking R
(R CMD config CXX). With the following changes
Index: src/Makevars.win
===================================================================
--- src/Makevars.win (revision 27990)
+++ src/Makevars.win (working copy)
@@ -1,2 +1,2 @@
PKG_LIBS=-L./win -lims -L../RcppSrc -lRcpp
-PKG_CPPFLAGS=-I../RcppSrc -I../imslib/src
\ No newline at end of file
+PKG_CPPFLAGS=-I../RcppSrc -I./imslib/src
\ No newline at end of file
Index: configure.win
===================================================================
--- configure.win (revision 27990)
+++ configure.win (working copy)
@@ -1,7 +1,8 @@
echo "Building libRcpp.a in RcppSrc..."
R_HOME=`R RHOME`
+CXX=`R CMD config CXX`
cd RcppSrc
-make RHOME=$R_HOME -f Makefile.win
+make RHOME=${R_HOME} CXX=${CXX} -f Makefile.win
cd ..
if test \! -d inst
then
@@ -16,10 +17,3 @@
#make ./src/libims.la
#cp ./src/libims-0.dll src/win/
#cd ..
-
-IMS_CFLAGS=-I../imslib/src/
-IMS_LIBS=../imslib/src/.libs/libims.a
-
-CPPFLAGS="$CPPFLAGS -I../RcppSrc $IMS_CFLAGS"
-LDFLAGS="${LDFLAGS} -L../RcppSrc -lRcpp $IMS_LIBS"
-LIBS="${LIBS} -lRcpp $IMS_LIBS"
Rdisop compiles RccpSrc and Rdisop.dll, until
windres --preprocessor="gcc-sjlj -E -xc -DRC_INVOKED" -I
C:/R/src/R-2-6-branch/include -i Rdisop_res.rc -o Rdisop_res.o
g++-sjlj -shared -s -o Rdisop.dll Rdisop.def disop.o Rdisop_res.o
-LC:/R/src/R-2-6-branch/bin -L./win -lims -L../RcppSrc -lRcpp -lR
c:/rtools/mingw/bin/../lib/gcc/mingw32/4.2.1-sjlj/../../../../mingw32/bin/ld.exe
: cannot find -lims
collect2: ld returned 1 exit status
make[3]: *** [Rdisop.dll] Error 1
make[2]: *** [srcDynlib] Error 2
make[1]: *** [all] Error 2
make: *** [pkg-Rdisop] Error 2
which I guess just means a little more work figuring out where that
lims library is.
>> where the corresponding Makefile says:
>>
>> $(OBJ): $(SRC)
>> $(CXX) -c $(SRC) -o $(OBJ) $(CXXFLAGS)
>>
>> So the environment variable CXX is set to g++,
>> which is not in the path. Did I miss something ?
>>
>> A related question:
>> Is there a description of the software installation
>> for the build machines, like compiler and build environment ?
>> The description for developers in the wiki are a bit sparse.
>
> Go to the top build report page:
> http://bioconductor.org/checkResults/2.2/bioc-LATEST/index.html
> and click on the server name (which seems to indicate that something
> is certainly wrong on lemming)
lemming does seem to need its tools updated (or perhaps just the
script that builds the web page); I think lemming switched to the 2.2
builds on Thursday or Friday. This is a separate issue from Steffen's.
Martin
> Kasper
>
>> Yours,
>> Steffen
>>
>> --
>> IPB Halle AG Massenspektrometrie & Bioinformatik
>> Dr. Steffen Neumann http://www.IPB-Halle.DE
>> Weinberg 3 http://msbi.bic-gh.de
>> 06120 Halle New Phone number !
>> Tel. +49 (0) 345 5582 - 1470
>> sneumann(at)IPB-Halle.DE Fax. +49 (0) 345 5582 - 1409
>>
>> _______________________________________________
>> Bioc-devel at stat.math.ethz.ch mailing list
>> https://stat.ethz.ch/mailman/listinfo/bioc-devel
>
> _______________________________________________
> Bioc-devel at stat.math.ethz.ch mailing list
> https://stat.ethz.ch/mailman/listinfo/bioc-devel
More information about the Bioc-devel
mailing list