Dear R-devel,

I investigated further by tracing into library.dynam.
The .dll file export a symbol "ccd". In e.g. R 2.8.1 the following command succeeds,

dyn.load('/Program Files/R/R-2.8.1/library/lassoshooting/libs/i386/lassoshooting.dll')

and the external symbol "ccd" becomes available.

However, inside library.dynam it doesn't add i386 to the path because
.Platform$r_arch is "". One way would be to re-zip the package with a copy of the i386 version outside of the i386 directory, directly under libs. That would work, but then I know I cannot commit a binary package to CRAN. I guess I'm not the only one having this problem.

Happy easter, Tobias
--
Tobias Abenius
Ph.D. Student, M.Sc. in Computer Science

Mathematical Statistics
Mathematical Sciences
University of Gothenburg

On 04/20/2011 01:30 PM, Tobias Abenius wrote:
Hi,

Has something changed regarding the useDynLib in the NAMESPACE file in
packages? I've written a package that works in e.g. 2.12/2.13 but simply
cannot find the dynamic library under windows. The version on CRAN is
older than the one I'm talking about and depends on a newer version of R
but I want to make the package available to people with older versions.

 > utils:::menuInstallLocal()
package 'lassoshooting' successfully unpacked and MD5 sums checked
 > require(lassoshooting)
Loading required package: lassoshooting
Error in library.dynam(lib, package, package.lib) :
shared library 'lassoshooting' not found
In addition: Warning message:
package 'lassoshooting' was built under R version 2.13.0

I'm usually under linux and don't know about the gory details of .dll
files.

NAMESPACE file
--------------
useDynLib(lassoshooting)
export(lassoshooting)
______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel

Reply via email to