I follow Alan Lenarcic's very helpful tutorial on building R package for Windows (XP), which could be found in www.stat.columbia.edu/~gelman/stuff_for_blog/AlanRPackageTutorial.pdf<http://www.stat.columbia.edu/~gelman/stuff_for_blog/AlanRPackageTutorial.pdf>. The package involves a small dll compiled from some very simple C++ codes.

The build process seemed to work smoothly, until i install. Then I got an error saying the C function was not in the load table. This is rather mysterious because I've been able to call this function from R with dyn.load("name.dll"). So the dll is working.

The install error says :

C:\R-test>R CMD INSTALL --build FirstPack_0.1.tar.gz
* installing to library 'c:/R/R-2.12.0/library'
* installing *source* package 'FirstPack' ...
** libs
cygwin warning:
  MS-DOS style path detected: c:/R/R-2.12.0/etc/i386/Makeconf
  Preferred POSIX equivalent is: /cygdrive/c/R/R-2.12.0/etc/i386/Makeconf
  CYGWIN environment variable option "nodosfilewarning" turns off this warning.
  Consult the user's guide for more details about POSIX paths:
    http://cygwin.com/cygwin-ug-net/using.html#using-pathnames
g++ -I"c:/R/R-2.12.0/include"         -O2 -Wall  -c XDemo.cpp -o XDemo.o
g++ -I"c:/R/R-2.12.0/include"         -O2 -Wall  -c XDemo_main.cpp -o XDemo_main
.o
g++ -shared -s -static-libgcc -o FirstPack.dll tmp.def XDemo.o XDemo_main.o -Lc:
/R/R-2.12.0/bin/i386 -lR
installing to c:/R/R-2.12.0/library/FirstPack/libs/i386
** R
** data
Warning: empty 'data' directory
** preparing package for lazy loading
Error in .C("DemoAutoCor", OutVec = as.double(vector("numeric", OutLength)),  :

  C symbol name "DemoAutoCor" not in load table
ERROR: lazy loading failed for package 'FirstPack'
* removing 'c:/R/R-2.12.0/library/FirstPack'
Here is how i built the package. I have the directory structure as described in "Writing R Extensions" and I issued the following command in DOS prompt,

C:\R-test>R CMD build FirstPack
* checking for file 'FirstPack/DESCRIPTION' ... OK
* preparing 'FirstPack':
* checking DESCRIPTION meta-information ... OK
* cleaning src
cygwin warning:
  MS-DOS style path detected: C:/R-test/FirstPack_0.1.tar
  Preferred POSIX equivalent is: /cygdrive/c/R-test/FirstPack_0.1.tar
  CYGWIN environment variable option "nodosfilewarning" turns off this warning.
  Consult the user's guide for more details about POSIX paths:
    http://cygwin.com/cygwin-ug-net/using.html#using-pathnames
cygwin warning:
  MS-DOS style path detected: C:/R-test/FirstPack_0.1.tar
  Preferred POSIX equivalent is: /cygdrive/c/R-test/FirstPack_0.1.tar
  CYGWIN environment variable option "nodosfilewarning" turns off this warning.
  Consult the user's guide for more details about POSIX paths:
    http://cygwin.com/cygwin-ug-net/using.html#using-pathnames
Warning in readLines(ldpath) :
  incomplete final line found on 'FirstPack/DESCRIPTION'
* checking for LF line-endings in source and make files
* checking for empty or unneeded directories
WARNING: directory 'FirstPack/data' is empty
* building 'FirstPack_0.1.tar.gz'
cygwin warning:
  MS-DOS style path detected: C:/R-test/FirstPack_0.1.tar
  Preferred POSIX equivalent is: /cygdrive/c/R-test/FirstPack_0.1.tar
  CYGWIN environment variable option "nodosfilewarning" turns off this warning.
  Consult the user's guide for more details about POSIX paths:
    http://cygwin.com/cygwin-ug-net/using.html#using-pathnames
cygwin warning:
  MS-DOS style path detected: C:/R-test/FirstPack_0.1.tar
  Preferred POSIX equivalent is: /cygdrive/c/R-test/FirstPack_0.1.tar
  CYGWIN environment variable option "nodosfilewarning" turns off this warning.
  Consult the user's guide for more details about POSIX paths:
    http://cygwin.com/cygwin-ug-net/using.html#using-pathnames

Thanks in advance.

H



	[[alternative HTML version deleted]]

