[Rcpp-devel] namespace error

soeren.vogel at uzh.ch soeren.vogel at uzh.ch
Mon Jun 6 14:24:46 CEST 2011


> On 06.06.2011, at 14:03, Romain Francois wrote:
> 
> Le 04/06/11 14:53, soeren.vogel at uzh.ch a écrit :
> 
>> On 02.06.2011, at 22:51, Laurent Gatto wrote:
>> 
>>> On 2 June 2011 20:39,<soeren.vogel at uzh.ch>  wrote:
>>>> On 02.06.2011, at 18:50, Dirk Eddelbuettel wrote:
>>>> 
>>>>> On 2 June 2011 at 18:37, soeren.vogel at uzh.ch wrote:
>>>>> 
>>>>> When R CMD CHECKing the package, I repeatedly get the error:
>>>>> |
>>>>> | Error: .onLoad failed in loadNamespace() for 'GUTS', details:
>>>>> |   call: value[[3L]](cond)
>>>>> |   error: failed to load module mod_guts from package GUTS
>>>>> | Execution halted
>>>>> | A namespace must be able to be loaded with just the base namespace
>>>>> | loaded: otherwise if the namespace gets loaded by a saved object, the
>>>>> | session will be unable to start.
>>> 
>>> You have good chances to get rid of it using the latest svn version of Rccp:
>> 
>> Thanks for the advice. Unfortunately, it doesn't work. I've downloaded and installed the latest version, made an Rcpp.package.skeleton("Foo", module=TRUE), and run R CMD CHECK Foo, resulting on a slightly different but still persistent warning:
>> 
>> ** checking whether the name space can be loaded with stated dependencies ... WARNING
>> Error: .onLoad failed in loadNamespace() for 'Foo', details:
>>   call: value[[3L]](cond)
>>   error: failed to load module yada from package Foo
>> could not find function "getClass"
>> Execution halted
>> A namespace must be able to be loaded with just the base namespace
>> loaded: otherwise if the namespace gets loaded by a saved object, the
>> session will be unable to start.
>> Probably some imports need to be declared in the NAMESPACE file.
>> 
>> However, the package works and I think a solution is not urgent.
>> 
>> *S*
> 
> Do you get this warning if you add this line in the NAMESPACE file of the generated package:
> 
> import(methods)

In R:

R: library("Rcpp")
R: Rcpp.package.skeleton("Foo", module=TRUE)

Then edit file NAMESPACE to
useDynLib(Foo)
exportPattern("^[[:alpha:]]+")
import(Rcpp)
import(methods)

Then back on Terminal:
R CMD CHECK Foo ... reveals:

Error: .onLoad failed in loadNamespace() for 'Foo', details:
  call: value[[3L]](cond)
  error: failed to load module yada from package Foo
could not find function "getClass"
Execution halted

R: sessionInfo()
R version 2.13.0 (2011-04-13)
Platform: i386-apple-darwin9.8.0/i386 (32-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] Rcpp_0.9.4.2

loaded via a namespace (and not attached):
[1] tools_2.13.0


More information about the Rcpp-devel mailing list