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'
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
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