From ligges at statistik.uni-dortmund.de  Mon Jun 12 19:48:04 2006
From: ligges at statistik.uni-dortmund.de (Uwe Ligges)
Date: Mon, 12 Jun 2006 19:48:04 +0200
Subject: [Rd] about integration of a  library into package creation
In-Reply-To: <448DA538.8050100@jouy.inra.fr>
References: <448D81F9.8040406@jouy.inra.fr>	<448D864F.2070704@stats.uwo.ca>	<Pine.LNX.4.64.0606121652510.31903@gannet.stats.ox.ac.uk>	<448D955F.9050201@jouy.inra.fr>
	<448D9790.5030609@stats.uwo.ca> <448DA538.8050100@jouy.inra.fr>
Message-ID: <448DA8D4.5050704@statistik.uni-dortmund.de>

Nicolas Turenne wrote:
> your answer is correct after checking some doc
> but examples are rare
> 
> when i write in the description file
> Depends: R (>= 2.3), quadprog, ade4, spdep 
> 
> and in the namespcae file
> 
> useDynLib(quadprog)
> useDynLib(spdep)
> useDynLib(ade4)
> importFrom("dist.dudi", "ade4")


Please do it the right way (package name first!):

importFrom("ade4", "dist.dudi")

Uwe Ligges




> importFrom("solve.QP", "quadprog")
> importFrom("mstree", "ade4")
> importFrom("neig2mat", "ade4")
> importFrom("dist.dudi", "ade4")
> importFrom("dudi.pca", "ade4")
> importFrom("dudi.coa", "ade4")
> importFrom("knearneigh", "spdep")
> 
> i obtain :
> Namespace dependencies not required:
>   dist.dudi dudi.coa dudi.pca knearneigh mstree neig2mat solve.QP
> 
> if i delete the importFrom lines
> i get an error about "loading / namespace not succesful" for svcr
> 
> i think the solution is not far but it is disturbing
> 
> thank for help
> 
> ---
> Nicolas
> 
> 
> Duncan Murdoch a ?crit :
> 
>> On 6/12/2006 12:25 PM, Nicolas Turenne wrote:
>>
>>> in that sense, it is useless to load the library from R source code 
>>> making my package
>>> which is supposed to include it and load it
>>>
>>> so if i understand the R philosophy it is not possible to load dll 
>>> from outside ;
>>> the user has to load my package  and manually has to load the 
>>> necessary libraries
>>> each time he has to use my library,  right ?
>>
>> Not at all.  When set up correctly, the user should just need to say
>> library(svcR) and all necessary packages and DLLs will be loaded.
>>
>> The way to specify other packages is through the "Depends" line in the 
>> DESCRIPTION file, and/or the import/importFrom lines in your NAMESPACE 
>> file.
>>
>> Duncan Murdoch
>>
>>> -- 
>>> Nicolas
>>>
>>> Prof Brian Ripley a ?crit :
>>>
>>>> And also to load  the package, maybe with
>>>>
>>>> rterm R_DEFAULT_PACKAGES=NULL
>>>>
>>>>> library(svcR)
>>>>
>>>>
>>>> as these messages often indicate missing package dependencies.
>>>>
>>>>>> * checking package subdirectories ... WARNING
>>>>>> Subdirectory 'src' contains no source files.
>>>>>> * checking R files for syntax errors ... OK
>>>>>> * checking R files for library.dynam ... OK
>>>>>> * checking S3 generic/method consistency ... WARNING
>>>>>> Erreur : le chargement du package / espace de noms a echoue' pour 
>>>>>> 'svcR'
>>>>>> Sequence d'appel :
>>>>>> 2: stop(gettextf("package/namespace load failed for '%s'",
>>>>>> libraryPkgName(packag
>>>>>> e)),
>>>>>>        call. = FALSE, domain = NA)
>>>>>> 1: library(package, lib.loc = lib.loc, character.only = TRUE, 
>>>>>> verbose =
>>>>>> FALSE)
>>>>>> Execution arrete'e
>>>>>> See section 'Generic functions and methods' of the 'Writing R 
>>>>>> Extensions'
>>>>>> manual.
>>>>>> * checking replacement functions ... WARNING
>>>>>> Erreur : le chargement du package / espace de noms a echoue' pour 
>>>>>> 'svcR'
>>>>>> Sequence d'appel :
>>>>>> 2: stop(gettextf("package/namespace load failed for '%s'",
>>>>>> libraryPkgName(packag
>>>>>> e)),
>>>>>
>>> ______________________________________________
>>> R-devel at r-project.org mailing list
>>> https://stat.ethz.ch/mailman/listinfo/r-devel
>>
>>
> 
> ______________________________________________
> R-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel



[Rd] about integration of a library into package creation
Uwe Ligges