[Rd] linking modules - add needed libraries

Dirk Eddelbuettel edd at debian.org
Mon Jul 15 17:14:59 CEST 2013


On 15 July 2013 at 17:05, MAYER Hans wrote:
| 
| Hi
| 
| Hopefully this is the correct mailing list. Sorry if not.
| 
| I am still fighting to install "shiny" on Solaris OS. For this I need the package 'httpuv' which makes troubles during linking.
| R version 3.0.1 (2013-05-16) -- "Good Sport" is working well.
| 
| The compile steps result is below. I have more a general question. The problem is clear: 
| The symbol "sendfile64" is not found as the necessary library is not linked. 
| The file which should be linked is /lib/libsendfile.so 
| Therefore an additional string  "-lsendfile" should be added anywhere in a "Makefile" or another file. 
| But where ? 

Try the file src/Makevars as the Fine Manual (TM) "Writing R Extensions" clearly suggests.

Dirk

| This should be done for the test routine and then for the final linking step of the package.
| Any help would be nice.
| 
| Kind regards
| Hans
| 
| 
| # R CMD INSTALL  .
| * installing to library '/usr/local/lib/R/library'
| * installing *source* package 'httpuv' ...
| ** libs
| gmake --directory=libuv \
|         CC="gcc -std=gnu99" CFLAGS="-g -O2  -fPIC" AR="ar" RANLIB="ranlib" \
|         libuv.a
| gmake[1]: Entering directory `/h/u036sumida/mayer/10/httpuv/src/libuv'
| gmake[1]: `libuv.a' is up to date.
| gmake[1]: Leaving directory `/h/u036sumida/mayer/10/httpuv/src/libuv'
| gmake --directory=http-parser \
|         CC="gcc -std=gnu99" CFLAGS="-g -O2  -fPIC" AR="ar" RANLIB="ranlib" \
|         http_parser.o
| gmake[1]: Entering directory `/h/u036sumida/mayer/10/httpuv/src/http-parser'
| gmake[1]: `http_parser.o' is up to date.
| gmake[1]: Leaving directory `/h/u036sumida/mayer/10/httpuv/src/http-parser'
| (cd sha1 && gcc -std=gnu99 -g -O2  -fPIC -c sha1.c -o sha1.o)
| In file included from sha1.c:89:
| sha1.h:27:22: warning: no newline at end of file
| sha1.c:375:18: warning: no newline at end of file
| (cd base64 && g++ -g -O2  -fPIC -c base64.cpp -o base64.o)
| g++ -shared -L/usr/local/lib -L/usr/sfw/lib -L/opt/sfw/lib -L/opt/solarisstudio12.3/lib -L/opt/solarisstudio12.3/prod/lib -o httpuv.so RcppExports.o filedatasource-unix.o filedatasource-win.o http.o httpuv.o set_invalid_parameter.o uvutil.o websockets.o /usr/local/lib/R/library/Rcpp/lib/libRcpp.a ./libuv/libuv.a ./http-parser/http_parser.o ./sha1/sha1.o ./base64/base64.o
| installing to /usr/local/lib/R/library/httpuv/libs
| ** R
| ** demo
| ** preparing package for lazy loading
| ** help
| *** installing help indices
| ** building package indices
| ** testing if installed package can be loaded
| Error in dyn.load(file, DLLpath = DLLpath, ...) :
|   unable to load shared object '/usr/local/lib/R/library/httpuv/libs/httpuv.so':
|   ld.so.1: R: fatal: relocation error: file /usr/local/lib/R/library/httpuv/libs/httpuv.so: symbol sendfile64: referenced symbol not found
| Error: loading failed
| Execution halted
| ERROR: loading failed
| * removing '/usr/local/lib/R/library/httpuv'
| ______________________________________________
| R-devel at r-project.org mailing list
| https://stat.ethz.ch/mailman/listinfo/r-devel

-- 
Dirk Eddelbuettel | edd at debian.org | http://dirk.eddelbuettel.com



More information about the R-devel mailing list