[Rd] about integration of a library into package creation
Martin Maechler
maechler at stat.math.ethz.ch
Mon Jun 12 20:43:09 CEST 2006
>>>>> "UweL" == Uwe Ligges <ligges at statistik.uni-dortmund.de>
>>>>> on Mon, 12 Jun 2006 19:48:04 +0200 writes:
UweL> 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")
UweL> Please do it the right way (package name first!):
UweL> importFrom("ade4", "dist.dudi")
UweL> Uwe Ligges
and also add a Line
------------------------------------
Imports: ade4, quadprog, spdep
------------------------------------
to your DESCRIPTION file
[[yes, it is slightly unfortunate that things have to be *both*
in DESCRIPTION and in NAMESPACE,
but that's the way it currently is ]]
>> 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)),
>>>>>>
More information about the R-devel
mailing list