[Rd] include C functions from nmath in my own C functions

Douglas Bates dmbates at gmail.com
Fri Aug 12 04:32:23 CEST 2005


On 8/11/05, yyan liu <zhliur at yahoo.com> wrote:
>  Hi:
>   I followed the README in src/nmath/standalone/
>  to make the use the command "make shared" to make the
>  libRmath.so file. I also add the directories containg
>  libRmath.so to  LD_LIBRARY_PATH by using command
>  "export
> D_LIBRARY_PATH=$LD_LIBRARY_PATH:$/home/zhliu/Backup/R-2.0.1/src/nmath/standalon
>     e
>  "
>  However, when I try to run the following codes by the
> command "gcc test.c -lRmath" on Linux Fedora Core 2,
>  /***********************************************/
> /* file name test.c */
>  #define MATHLIB_STANDALONE 1
>  #include <Rmath.h>
> 
>  int
>  main()
>  {
>  /* something to force the library to be included */
>     qnorm(0.7, 0.0, 1.0, 0, 0);
>     return 0;
>  }
>  /**************************************************/
> 
>  the compiler gives me the following error message. It
> seems definitions of some R functions can not be found
> in the libRmath.so file. Anyone has any idea about
> this
> problem? Thank you very much!
> 
> 
>  /usr/local/lib/libRmath.so: undefined reference to
>  `expm1'
>  /usr/local/lib/libRmath.so: undefined reference to
>  `log'
>  /usr/local/lib/libRmath.so: undefined reference to
>  `sqrt'
>  /usr/local/lib/libRmath.so: undefined reference to
>  `rint'
>  /usr/local/lib/libRmath.so: undefined reference to
>  `cos'
>  /usr/local/lib/libRmath.so: undefined reference to
>  `sin'
>  /usr/local/lib/libRmath.so: undefined reference to
>  `pow'
>  /usr/local/lib/libRmath.so: undefined reference to
>  `sinh'
>  /usr/local/lib/libRmath.so: undefined reference to
>  `log10'
>  /usr/local/lib/libRmath.so: undefined reference to
>  `exp'
>  /usr/local/lib/libRmath.so: undefined reference to
>  `tan'
>  /usr/local/lib/libRmath.so: undefined reference to
>  `log1p'
>  /usr/local/lib/libRmath.so: undefined reference to
>  `hypot'
>  collect2: ld returned 1 exit status
> 
> ______________________________________________
> R-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel

Add -lm to the end of the call to gcc.  You are missing functions from
the math library.



More information about the R-devel mailing list