[Rd] Compilation error Mac binary

Simon Urbanek Simon.Urbanek at R-Project.org
Wed Jun 29 21:14:48 CEST 2011


On Jun 29, 2011, at 2:39 PM, soeren.vogel at uzh.ch wrote:

> Thanks Simon, Uwe and David for your helpful answers. English is not my primary language, so I was hypothesising a bit about the correct interpretation of "inlining" and "supply inside". I thought it meant copying the headers inside the package.

Yes, that is what I meant- pick the part of boost that you use and include it (boost has many parts so that's another reason to do that).


> I was already inspecting RQuantlib but I did, so far, not get smarter.

The two comments were unrelated ;). I was just pointing out that Dirk has C++ expertise, uses boots himself and is the author of Rcpp so he may possibly know what the error is about.

I did not have RQuantLib in mind for you to look at the boost inclusion - RQuantLib needs QuantLib in addition to boost, so it is not surprising that he doesn't include boost inside as he has additional dependencies (and he does declare them correctly).


> I think I will setup a VMware OS X 10.5 with an older boost. This approach seems more reliable to me than just trying around with a configure script which, eventually, I don't understand fully. Yet, interesting that GUTS builds on Win and Linux, but not on the CRAN OS X. Anyway, thanks for your help.
> 

It is a side-effect that GUTS builds at all, because the only reason it does is that some other package has probably required boost before. If that was not the case, your package would fail everywhere. [That is not the answer to the Mac error since the same applies - your failure to declare the dependency is masked by the fact that other packages do need boost. I suspect the answer will be in the interaction of tr1/boost/Rcpp, but your should fix GUTS regardless]

Cheers,
Simon


> 
> On 29.06.2011, at 20:05, Simon Urbanek wrote:
> 
> 
>> On Jun 29, 2011, at 1:12 PM, Uwe Ligges wrote:
>> 
>>> Looks like a different boost version than the one you require.
>>> I'd suggest to talk to the Mac maintainer, Simon Urbanek (CCing).
>>> 
>> 
>> GUTS doesn't specify any system requirements, so obviously it has no business trying to use boost from the system. Also note boost is inlined in the vast majority of cases, so most packages simply supply the headers inside as to guarantee the required version is used (which I would certainly expect GUTS to do since it doesn't depend on boost according to the DESCRIPTION).
>> 
>> Cheers,
>> Simon
>> 
>> 
>>> 
>>> On 29.06.2011 17:14, soeren.vogel at uzh.ch wrote:
>>>> Hello David
>>>> 
>>>> On 29.06.2011, at 15:56, David Winsemius wrote:
>>>> 
>>>>> On Jun 29, 2011, at 5:33 AM, soeren.vogel at uzh.ch wrote:
>>>>> 
>>>>>> Hello, the compilation of the GUTS package on CRAN for Mac produces the following error messages:
>>>>>> 
>>>>>> http://www.r-project.org/nosvn/R.check/r-release-macosx-ix86/GUTS-00install.html
>>>>>> 
>>>>>> I guess it is some namespace collision, but I can not reproduce it on my machine, it compiles fine here. What is the cause and which setup do I need to reproduce the errors?
>>>>> 
>>>>> I was going to suggest you take this up with the maintainers... but you _are_ one of the maintainers.
>>>> 
>>>> :-)
>>>> 
>>>>> Here is the output from an attempt to compile from source, version 0.1.45, with a relatively recent version of R 2.13.0 (but not the most recent and I still use Mac OSX 10.5.8). Perhaps its brevity will be helpful, and the fact that it seems to identify different error than those flagged in the log at CRAN.
>>>> 
>>>> Thanks for your answer. The failure on your side is clear to me: there is no installation of the boost C++ library in any of the standard include locations. I have added /opt/local/include in Makevars (Mac Ports installation of C source packages), however, I know I should but still I am reluctant to write a configure script that could circumvent non-standard installations of boost on UNIX machines.
>>>> 
>>>> So thanks for the output, but the CRAN messages must point to something different...
>>>> 
>>>> Regards
>>>> Sören
>>>> 
>>>>> trying URL 'http://lib.stat.cmu.edu/R/CRAN/src/contrib/GUTS_0.1.45.tar.gz'
>>>>> Content type 'application/x-gzip' length 9842 bytes
>>>>> opened URL
>>>>> ==================================================
>>>>> downloaded 9842 bytes
>>>>> 
>>>>> Loading required package: lattice
>>>>> Loading required package: sos
>>>>> Loading required package: brew
>>>>> [1] "2011-06-29 09:40:18 EDT"
>>>>> * installing *source* package ‘GUTS’ ...
>>>>> ** libs
>>>>> *** arch - i386
>>>>> g++ -arch i386 -I/Library/Frameworks/R.framework/Resources/include -I/Library/Frameworks/R.framework/Resources/include/i386 -I/opt/local/include -I/usr/local/include -I"/Library/Frameworks/R.framework/Versions/2.13/Resources/library/Rcpp/include"   -fPIC  -g -O2 -c GUTS.cpp -o GUTS.o
>>>>> In file included from GUTS.cpp:12:
>>>>> GUTS.h:21:28: error: boost/random.hpp: No such file or directory
>>>>> GUTS.h:22:40: error: boost/math/distributions.hpp: No such file or directory
>>>>> GUTS.cpp: In function ‘void to_print(double)’:
>>>>> GUTS.cpp:277: error: ‘cout’ was not declared in this scope
>>>>> GUTS.cpp: In member function ‘void GUTS::showObject()’:
>>>>> GUTS.cpp:281: error: ‘cout’ is not a member of ‘std’
>>>>> GUTS.cpp:284: error: ‘cout’ was not declared in this scope
>>>>> make: *** [GUTS.o] Error 1
>>>>> ERROR: compilation failed for package ‘GUTS’
>>>>> * removing ‘/Library/Frameworks/R.framework/Versions/2.13/Resources/library/GUTS’
>>>>> 
>>>>>> sessionInfo()
>>>>> R version 2.13.0 beta (2011-04-04 r55296)
>>>>> Platform: x86_64-apple-darwin9.8.0/x86_64 (64-bit)
>>>>> 
>>>>> locale:
>>>>> [1] en_US.UTF-8/en_US.UTF-8/C/C/en_US.UTF-8/en_US.UTF-8
>>>>> 
>>>>> attached base packages:
>>>>> [1] stats     graphics  grDevices utils     datasets  methods   base
>>>>> 
>>>>> other attached packages:
>>>>> [1] mgcv_1.7-6      sos_1.3-0       brew_1.0-6      lattice_0.19-26
>>>>> 
>>>>> loaded via a namespace (and not attached):
>>>>> [1] grid_2.13.0        Matrix_0.999375-50 nlme_3.1-101       tools_2.13.0
>>>>> 
>>>>> --
>>>>> David.
>>>>> 
>>>>> 
>>>>>> 
>>>>>> R: version
>>>>>> platform       i386-apple-darwin9.8.0
>>>>>> arch           i386
>>>>>> os             darwin9.8.0
>>>>>> system         i386, darwin9.8.0
>>>>>> status
>>>>>> major          2
>>>>>> minor          13.0
>>>>>> year           2011
>>>>>> month          04
>>>>>> day            13
>>>>>> svn rev        55427
>>>>>> language       R
>>>>>> version.string R version 2.13.0 (2011-04-13)
>>>>>> 
>>>>>> I ~ $: gcc --version
>>>>>> i686-apple-darwin10-gcc-4.2.1 (GCC) 4.2.1 (Apple Inc. build 5666) (dot 3)
>>>>>> Copyright (C) 2007 Free Software Foundation, Inc.
>>>>>> This is free software; see the source for copying conditions.  There is NO
>>>>>> warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
>>>>>> 
>>>>>> I ~ $: less /opt/local/include/boost/version.hpp
>>>>>> //  Boost version.hpp configuration header file  ------------------------------//
>>>>>> [...]
>>>>>> #define BOOST_VERSION 104601
>>>>>> #define BOOST_LIB_VERSION "1_46_1"
>>>>>> [...]
>>>>>> 
>>>>>> ______________________________________________
>>>>>> R-devel at r-project.org mailing list
>>>>>> https://stat.ethz.ch/mailman/listinfo/r-devel
>>>>> 
>>>>> David Winsemius, MD
>>>>> West Hartford, CT
>>>>> 
>>>>> 
>>>> 
>>>> ______________________________________________
>>>> R-devel at r-project.org mailing list
>>>> https://stat.ethz.ch/mailman/listinfo/r-devel
>>> 
>>> 
>> 
>> 
> 
> 



More information about the R-devel mailing list