From ripley at stats.ox.ac.uk  Mon Jul 15 17:16:18 2013
From: ripley at stats.ox.ac.uk (Prof Brian Ripley)
Date: Mon, 15 Jul 2013 16:16:18 +0100
Subject: [Rd] linking modules - add needed libraries
In-Reply-To: <AEB6E9807EE5E04BA2F4A6CD4CE9DB198EA0FAD97B@rhine.iiasa.ac.at>
References: <AEB6E9807EE5E04BA2F4A6CD4CE9DB198EA0FAD97B@rhine.iiasa.ac.at>
Message-ID: <51E41242.6080609@stats.ox.ac.uk>

What did the maintainer say when you asked him (see the posting guide)?

But invocations such as -lsendfile should be in PKG_LIBS (see 'Writing R 
Extensions').


On 15/07/2013 16: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 ?
> 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
>


-- 
Brian D. Ripley,                  ripley at stats.ox.ac.uk
Professor of Applied Statistics,  http://www.stats.ox.ac.uk/~ripley/
University of Oxford,             Tel:  +44 1865 272861 (self)
1 South Parks Road,                     +44 1865 272866 (PA)
Oxford OX1 3TG, UK                Fax:  +44 1865 272595



[Rd] linking modules - add needed libraries
Prof Brian Ripley