[Rd] building a package - shared library loading problem

2007-09-19 Thread Konrad Smolinski
Dear All,
I am trying to write my first R package and I bump into loading shared  
library problem( working on Mac OS X 10.4.10 as well as Linux Ubuntu).
I want to makes use of (incorporate) a shared library matchinglib.so in  
the package. Library was created via R CMD -SHLIB.
Following 'Writing R Extensions' I place matchinglib.so in the 'libs'  
directory and use NAMESPACE file with an entry:
useDynLib(matchinglib)

Now, executing 'R CMD check mypackage' I face the following error on OS X:
-
* checking whether the package can be loaded ... ERROR
Error in library.dynam(lib, package, package.lib) :
 shared library 'matchinglib' not found
Error: package/namespace load failed for 'cheetah'
Execution halted

It looks like this package has a loading problem: see the messages for
details.

The same problem occurs under Linux.

Shall I specify a direct path to libs or modify NAMESPACE?

konrad
---
Konrad Smolinski
Economics Department
European University Institute
Badia Fiesolana
Via dei Roccettini 9
I-50014 San Domenico di Fiesole (FI)
ITALY

[EMAIL PROTECTED]
[EMAIL PROTECTED]

__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel


Re: [Rd] building a package - shared library loading problem

2007-09-19 Thread Simon Urbanek
Konrad,

for a package you should not be using R CMD SHLIB at all. It is used  
internally and for non-package compilation.

If you have a proper source package, you just install it using R CMD  
INSTALL.

To be precise, assuming you have your package and source code in the  
foo directory you can create the source package like this:

tar fcz foo_1.0.tar.gz foo

That package doesn't contain any .so objects and thus can be  
installed anywhere using

R CMD INSTALL foo_1.0.tar.gz

That step will create the .so in the appropriate place which differs  
by system and R version. If you want to create a binary package for a  
given platform, use the --build flag.

Please read 'Writing R Extensions' - you just want to use the src  
directory and not mess with libs.

Cheers,
Simon


On Sep 19, 2007, at 1:25 PM, Konrad Smolinski wrote:

 Dear All,
 I am trying to write my first R package and I bump into loading shared
 library problem( working on Mac OS X 10.4.10 as well as Linux Ubuntu).
 I want to makes use of (incorporate) a shared library  
 matchinglib.so in
 the package. Library was created via R CMD -SHLIB.
 Following 'Writing R Extensions' I place matchinglib.so in the 'libs'
 directory and use NAMESPACE file with an entry:
 useDynLib(matchinglib)

 Now, executing 'R CMD check mypackage' I face the following error  
 on OS X:
 -
 * checking whether the package can be loaded ... ERROR
 Error in library.dynam(lib, package, package.lib) :
  shared library 'matchinglib' not found
 Error: package/namespace load failed for 'cheetah'
 Execution halted

 It looks like this package has a loading problem: see the messages for
 details.
 
 The same problem occurs under Linux.

 Shall I specify a direct path to libs or modify NAMESPACE?

 konrad
 ---
 Konrad Smolinski
 Economics Department
 European University Institute
 Badia Fiesolana
 Via dei Roccettini 9
 I-50014 San Domenico di Fiesole (FI)
 ITALY

 [EMAIL PROTECTED]
 [EMAIL PROTECTED]

 __
 R-devel@r-project.org mailing list
 https://stat.ethz.ch/mailman/listinfo/r-devel



__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel