Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Installation fails on the Alpine Linux #63

Closed
artemklevtsov opened this issue Sep 11, 2016 · 11 comments
Closed

Installation fails on the Alpine Linux #63

artemklevtsov opened this issue Sep 11, 2016 · 11 comments

Comments

@artemklevtsov
Copy link

Hi.

I can't build this package on Alpine Linux.

To reproduce:

docker run -ti --rm alpine:edge ash
apk update
apk add R R-dev g++
echo 'options(repos = c(CRAN = "https://cloud.r-project.org/"))' >> /usr/lib/R/etc/Rprofile.site
Rscript -e 'install.packages("httpuv")'

The same errors with git-version.

Build log:

also installing the dependency ‘Rcpp’

trying URL 'https://cloud.r-project.org/src/contrib/Rcpp_0.12.7.tar.gz'
Content type 'application/x-gzip' length 2421965 bytes (2.3 MB)
==================================================
downloaded 2.3 MB

trying URL 'https://cloud.r-project.org/src/contrib/httpuv_1.3.3.tar.gz'
Content type 'application/x-gzip' length 426665 bytes (416 KB)
==================================================
downloaded 416 KB

* installing *source* package ‘Rcpp’ ...
** package ‘Rcpp’ successfully unpacked and MD5 sums checked
** libs
g++ -I/usr/include/R -DNDEBUG -I../inst/include/ -Os -fomit-frame-pointer    -fpic  -Os -fomit-frame-pointer -D__MUSL__  -c Date.cpp -o Date.o
g++ -I/usr/include/R -DNDEBUG -I../inst/include/ -Os -fomit-frame-pointer    -fpic  -Os -fomit-frame-pointer -D__MUSL__  -c Module.cpp -o Module.o
g++ -I/usr/include/R -DNDEBUG -I../inst/include/ -Os -fomit-frame-pointer    -fpic  -Os -fomit-frame-pointer -D__MUSL__  -c Rcpp_init.cpp -o Rcpp_init.o
g++ -I/usr/include/R -DNDEBUG -I../inst/include/ -Os -fomit-frame-pointer    -fpic  -Os -fomit-frame-pointer -D__MUSL__  -c api.cpp -o api.o
g++ -I/usr/include/R -DNDEBUG -I../inst/include/ -Os -fomit-frame-pointer    -fpic  -Os -fomit-frame-pointer -D__MUSL__  -c attributes.cpp -o attributes.o
g++ -I/usr/include/R -DNDEBUG -I../inst/include/ -Os -fomit-frame-pointer    -fpic  -Os -fomit-frame-pointer -D__MUSL__  -c barrier.cpp -o barrier.o
g++ -shared -L/usr/lib/R/lib -Wl,--as-needed -o Rcpp.so Date.o Module.o Rcpp_init.o api.o attributes.o barrier.o -L/usr/lib/R/lib -lR
installing to /usr/lib/R/library/Rcpp/libs
** R
** inst
** preparing package for lazy loading
code for methods in class “C++OverloadedMethods” was not checked for suspicious field assignments (recommended package ‘codetools’ not available?)
code for methods in class “RcppClass” was not checked for suspicious field assignments (recommended package ‘codetools’ not available?)
code for methods in class “RcppClass” was not checked for suspicious field assignments (recommended package ‘codetools’ not available?)
** help
*** installing help indices
Warning in file.copy(file.path(R.home("doc"), "html", "R.css"), outman) :
  problem copying /usr/share/doc/R/html/R.css to /usr/lib/R/library/Rcpp/html/R.css: No such file or directory
** building package indices
** installing vignettes
** testing if installed package can be loaded
* DONE (Rcpp)
* installing *source* package ‘httpuv’ ...
** package ‘httpuv’ successfully unpacked and MD5 sums checked
** libs
g++ -I/usr/include/R -DNDEBUG -I./libuv/include -I./http-parser -I./sha1 -I./base64 -Os -fomit-frame-pointer -I"/usr/lib/R/library/Rcpp/include"   -fpic  -Os -fomit-frame-pointer -D__MUSL__  -c RcppExports.cpp -o RcppExports.o
g++ -I/usr/include/R -DNDEBUG -I./libuv/include -I./http-parser -I./sha1 -I./base64 -Os -fomit-frame-pointer -I"/usr/lib/R/library/Rcpp/include"   -fpic  -Os -fomit-frame-pointer -D__MUSL__  -c filedatasource-unix.cpp -o filedatasource-unix.o
g++ -I/usr/include/R -DNDEBUG -I./libuv/include -I./http-parser -I./sha1 -I./base64 -Os -fomit-frame-pointer -I"/usr/lib/R/library/Rcpp/include"   -fpic  -Os -fomit-frame-pointer -D__MUSL__  -c filedatasource-win.cpp -o filedatasource-win.o
g++ -I/usr/include/R -DNDEBUG -I./libuv/include -I./http-parser -I./sha1 -I./base64 -Os -fomit-frame-pointer -I"/usr/lib/R/library/Rcpp/include"   -fpic  -Os -fomit-frame-pointer -D__MUSL__  -c http.cpp -o http.o
g++ -I/usr/include/R -DNDEBUG -I./libuv/include -I./http-parser -I./sha1 -I./base64 -Os -fomit-frame-pointer -I"/usr/lib/R/library/Rcpp/include"   -fpic  -Os -fomit-frame-pointer -D__MUSL__  -c httpuv.cpp -o httpuv.o
gcc -I/usr/include/R -DNDEBUG -I./libuv/include -I./http-parser -I./sha1 -I./base64 -Os -fomit-frame-pointer -I"/usr/lib/R/library/Rcpp/include"   -fpic  -Os -fomit-frame-pointer  -c md5.c -o md5.o
gcc -I/usr/include/R -DNDEBUG -I./libuv/include -I./http-parser -I./sha1 -I./base64 -Os -fomit-frame-pointer -I"/usr/lib/R/library/Rcpp/include"   -fpic  -Os -fomit-frame-pointer  -c set_invalid_parameter.c -o set_invalid_parameter.o
g++ -I/usr/include/R -DNDEBUG -I./libuv/include -I./http-parser -I./sha1 -I./base64 -Os -fomit-frame-pointer -I"/usr/lib/R/library/Rcpp/include"   -fpic  -Os -fomit-frame-pointer -D__MUSL__  -c uvutil.cpp -o uvutil.o
g++ -I/usr/include/R -DNDEBUG -I./libuv/include -I./http-parser -I./sha1 -I./base64 -Os -fomit-frame-pointer -I"/usr/lib/R/library/Rcpp/include"   -fpic  -Os -fomit-frame-pointer -D__MUSL__  -c websockets-base.cpp -o websockets-base.o
g++ -I/usr/include/R -DNDEBUG -I./libuv/include -I./http-parser -I./sha1 -I./base64 -Os -fomit-frame-pointer -I"/usr/lib/R/library/Rcpp/include"   -fpic  -Os -fomit-frame-pointer -D__MUSL__  -c websockets-hixie76.cpp -o websockets-hixie76.o
g++ -I/usr/include/R -DNDEBUG -I./libuv/include -I./http-parser -I./sha1 -I./base64 -Os -fomit-frame-pointer -I"/usr/lib/R/library/Rcpp/include"   -fpic  -Os -fomit-frame-pointer -D__MUSL__  -c websockets-hybi03.cpp -o websockets-hybi03.o
g++ -I/usr/include/R -DNDEBUG -I./libuv/include -I./http-parser -I./sha1 -I./base64 -Os -fomit-frame-pointer -I"/usr/lib/R/library/Rcpp/include"   -fpic  -Os -fomit-frame-pointer -D__MUSL__  -c websockets-ietf.cpp -o websockets-ietf.o
g++ -I/usr/include/R -DNDEBUG -I./libuv/include -I./http-parser -I./sha1 -I./base64 -Os -fomit-frame-pointer -I"/usr/lib/R/library/Rcpp/include"   -fpic  -Os -fomit-frame-pointer -D__MUSL__  -c websockets.cpp -o websockets.o
websockets.cpp: In member function 'bool WebSocketConnection::accept(const RequestHeaders&, const char*, size_t)':
websockets.cpp:217:8: warning: 'template<class> class std::auto_ptr' is deprecated [-Wdeprecated-declarations]
   std::auto_ptr<WebSocketProto_IETF> ietf(new WebSocketProto_IETF());
        ^~~~~~~~
In file included from /usr/include/c++/6.2.0/bits/locale_conv.h:41:0,
                 from /usr/include/c++/6.2.0/locale:43,
                 from /usr/include/c++/6.2.0/iomanip:43,
                 from websockets.cpp:6:
/usr/include/c++/6.2.0/bits/unique_ptr.h:49:28: note: declared here
   template<typename> class auto_ptr;
                            ^~~~~~~~
websockets.cpp:223:8: warning: 'template<class> class std::auto_ptr' is deprecated [-Wdeprecated-declarations]
   std::auto_ptr<WebSocketProto_HyBi03> hybi03(new WebSocketProto_HyBi03());
        ^~~~~~~~
In file included from /usr/include/c++/6.2.0/bits/locale_conv.h:41:0,
                 from /usr/include/c++/6.2.0/locale:43,
                 from /usr/include/c++/6.2.0/iomanip:43,
                 from websockets.cpp:6:
/usr/include/c++/6.2.0/bits/unique_ptr.h:49:28: note: declared here
   template<typename> class auto_ptr;
                            ^~~~~~~~
make --directory=libuv \
        CC="gcc" CFLAGS="-Os -fomit-frame-pointer  -fpic" AR="ar" RANLIB="ranlib" \
    HAVE_DTRACE=0 \
        libuv.a
make[1]: Entering directory '/tmp/RtmphKAJmL/R.INSTALL5d54025a97/httpuv/src/libuv'
mkdir -p src/unix
touch src/unix/.buildstamp
gcc --std=c89 -pedantic -Wall -Wextra -Wno-unused-parameter -D_GNU_SOURCE -I/tmp/RtmphKAJmL/R.INSTALL5d54025a97/httpuv/src/libuv/include -I/tmp/RtmphKAJmL/R.INSTALL5d54025a97/httpuv/src/libuv/include/uv-private -I/tmp/RtmphKAJmL/R.INSTALL5d54025a97/httpuv/src/libuv/src -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Os -fomit-frame-pointer  -fpic -c src/unix/async.c -o src/unix/async.o
gcc --std=c89 -pedantic -Wall -Wextra -Wno-unused-parameter -D_GNU_SOURCE -I/tmp/RtmphKAJmL/R.INSTALL5d54025a97/httpuv/src/libuv/include -I/tmp/RtmphKAJmL/R.INSTALL5d54025a97/httpuv/src/libuv/include/uv-private -I/tmp/RtmphKAJmL/R.INSTALL5d54025a97/httpuv/src/libuv/src -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Os -fomit-frame-pointer  -fpic -c src/unix/core.c -o src/unix/core.o
gcc --std=c89 -pedantic -Wall -Wextra -Wno-unused-parameter -D_GNU_SOURCE -I/tmp/RtmphKAJmL/R.INSTALL5d54025a97/httpuv/src/libuv/include -I/tmp/RtmphKAJmL/R.INSTALL5d54025a97/httpuv/src/libuv/include/uv-private -I/tmp/RtmphKAJmL/R.INSTALL5d54025a97/httpuv/src/libuv/src -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Os -fomit-frame-pointer  -fpic -c src/unix/dl.c -o src/unix/dl.o
gcc --std=c89 -pedantic -Wall -Wextra -Wno-unused-parameter -D_GNU_SOURCE -I/tmp/RtmphKAJmL/R.INSTALL5d54025a97/httpuv/src/libuv/include -I/tmp/RtmphKAJmL/R.INSTALL5d54025a97/httpuv/src/libuv/include/uv-private -I/tmp/RtmphKAJmL/R.INSTALL5d54025a97/httpuv/src/libuv/src -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Os -fomit-frame-pointer  -fpic -c src/unix/error.c -o src/unix/error.o
gcc --std=c89 -pedantic -Wall -Wextra -Wno-unused-parameter -D_GNU_SOURCE -I/tmp/RtmphKAJmL/R.INSTALL5d54025a97/httpuv/src/libuv/include -I/tmp/RtmphKAJmL/R.INSTALL5d54025a97/httpuv/src/libuv/include/uv-private -I/tmp/RtmphKAJmL/R.INSTALL5d54025a97/httpuv/src/libuv/src -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Os -fomit-frame-pointer  -fpic -c src/unix/fs.c -o src/unix/fs.o
gcc --std=c89 -pedantic -Wall -Wextra -Wno-unused-parameter -D_GNU_SOURCE -I/tmp/RtmphKAJmL/R.INSTALL5d54025a97/httpuv/src/libuv/include -I/tmp/RtmphKAJmL/R.INSTALL5d54025a97/httpuv/src/libuv/include/uv-private -I/tmp/RtmphKAJmL/R.INSTALL5d54025a97/httpuv/src/libuv/src -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Os -fomit-frame-pointer  -fpic -c src/unix/getaddrinfo.c -o src/unix/getaddrinfo.o
gcc --std=c89 -pedantic -Wall -Wextra -Wno-unused-parameter -D_GNU_SOURCE -I/tmp/RtmphKAJmL/R.INSTALL5d54025a97/httpuv/src/libuv/include -I/tmp/RtmphKAJmL/R.INSTALL5d54025a97/httpuv/src/libuv/include/uv-private -I/tmp/RtmphKAJmL/R.INSTALL5d54025a97/httpuv/src/libuv/src -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Os -fomit-frame-pointer  -fpic -c src/unix/loop.c -o src/unix/loop.o
gcc --std=c89 -pedantic -Wall -Wextra -Wno-unused-parameter -D_GNU_SOURCE -I/tmp/RtmphKAJmL/R.INSTALL5d54025a97/httpuv/src/libuv/include -I/tmp/RtmphKAJmL/R.INSTALL5d54025a97/httpuv/src/libuv/include/uv-private -I/tmp/RtmphKAJmL/R.INSTALL5d54025a97/httpuv/src/libuv/src -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Os -fomit-frame-pointer  -fpic -c src/unix/loop-watcher.c -o src/unix/loop-watcher.o
gcc --std=c89 -pedantic -Wall -Wextra -Wno-unused-parameter -D_GNU_SOURCE -I/tmp/RtmphKAJmL/R.INSTALL5d54025a97/httpuv/src/libuv/include -I/tmp/RtmphKAJmL/R.INSTALL5d54025a97/httpuv/src/libuv/include/uv-private -I/tmp/RtmphKAJmL/R.INSTALL5d54025a97/httpuv/src/libuv/src -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Os -fomit-frame-pointer  -fpic -c src/unix/pipe.c -o src/unix/pipe.o
gcc --std=c89 -pedantic -Wall -Wextra -Wno-unused-parameter -D_GNU_SOURCE -I/tmp/RtmphKAJmL/R.INSTALL5d54025a97/httpuv/src/libuv/include -I/tmp/RtmphKAJmL/R.INSTALL5d54025a97/httpuv/src/libuv/include/uv-private -I/tmp/RtmphKAJmL/R.INSTALL5d54025a97/httpuv/src/libuv/src -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Os -fomit-frame-pointer  -fpic -c src/unix/poll.c -o src/unix/poll.o
gcc --std=c89 -pedantic -Wall -Wextra -Wno-unused-parameter -D_GNU_SOURCE -I/tmp/RtmphKAJmL/R.INSTALL5d54025a97/httpuv/src/libuv/include -I/tmp/RtmphKAJmL/R.INSTALL5d54025a97/httpuv/src/libuv/include/uv-private -I/tmp/RtmphKAJmL/R.INSTALL5d54025a97/httpuv/src/libuv/src -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Os -fomit-frame-pointer  -fpic -c src/unix/process.c -o src/unix/process.o
gcc --std=c89 -pedantic -Wall -Wextra -Wno-unused-parameter -D_GNU_SOURCE -I/tmp/RtmphKAJmL/R.INSTALL5d54025a97/httpuv/src/libuv/include -I/tmp/RtmphKAJmL/R.INSTALL5d54025a97/httpuv/src/libuv/include/uv-private -I/tmp/RtmphKAJmL/R.INSTALL5d54025a97/httpuv/src/libuv/src -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Os -fomit-frame-pointer  -fpic -c src/unix/signal.c -o src/unix/signal.o
gcc --std=c89 -pedantic -Wall -Wextra -Wno-unused-parameter -D_GNU_SOURCE -I/tmp/RtmphKAJmL/R.INSTALL5d54025a97/httpuv/src/libuv/include -I/tmp/RtmphKAJmL/R.INSTALL5d54025a97/httpuv/src/libuv/include/uv-private -I/tmp/RtmphKAJmL/R.INSTALL5d54025a97/httpuv/src/libuv/src -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Os -fomit-frame-pointer  -fpic -c src/unix/stream.c -o src/unix/stream.o
gcc --std=c89 -pedantic -Wall -Wextra -Wno-unused-parameter -D_GNU_SOURCE -I/tmp/RtmphKAJmL/R.INSTALL5d54025a97/httpuv/src/libuv/include -I/tmp/RtmphKAJmL/R.INSTALL5d54025a97/httpuv/src/libuv/include/uv-private -I/tmp/RtmphKAJmL/R.INSTALL5d54025a97/httpuv/src/libuv/src -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Os -fomit-frame-pointer  -fpic -c src/unix/tcp.c -o src/unix/tcp.o
gcc --std=c89 -pedantic -Wall -Wextra -Wno-unused-parameter -D_GNU_SOURCE -I/tmp/RtmphKAJmL/R.INSTALL5d54025a97/httpuv/src/libuv/include -I/tmp/RtmphKAJmL/R.INSTALL5d54025a97/httpuv/src/libuv/include/uv-private -I/tmp/RtmphKAJmL/R.INSTALL5d54025a97/httpuv/src/libuv/src -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Os -fomit-frame-pointer  -fpic -c src/unix/thread.c -o src/unix/thread.o
gcc --std=c89 -pedantic -Wall -Wextra -Wno-unused-parameter -D_GNU_SOURCE -I/tmp/RtmphKAJmL/R.INSTALL5d54025a97/httpuv/src/libuv/include -I/tmp/RtmphKAJmL/R.INSTALL5d54025a97/httpuv/src/libuv/include/uv-private -I/tmp/RtmphKAJmL/R.INSTALL5d54025a97/httpuv/src/libuv/src -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Os -fomit-frame-pointer  -fpic -c src/unix/threadpool.c -o src/unix/threadpool.o
gcc --std=c89 -pedantic -Wall -Wextra -Wno-unused-parameter -D_GNU_SOURCE -I/tmp/RtmphKAJmL/R.INSTALL5d54025a97/httpuv/src/libuv/include -I/tmp/RtmphKAJmL/R.INSTALL5d54025a97/httpuv/src/libuv/include/uv-private -I/tmp/RtmphKAJmL/R.INSTALL5d54025a97/httpuv/src/libuv/src -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Os -fomit-frame-pointer  -fpic -c src/unix/timer.c -o src/unix/timer.o
gcc --std=c89 -pedantic -Wall -Wextra -Wno-unused-parameter -D_GNU_SOURCE -I/tmp/RtmphKAJmL/R.INSTALL5d54025a97/httpuv/src/libuv/include -I/tmp/RtmphKAJmL/R.INSTALL5d54025a97/httpuv/src/libuv/include/uv-private -I/tmp/RtmphKAJmL/R.INSTALL5d54025a97/httpuv/src/libuv/src -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Os -fomit-frame-pointer  -fpic -c src/unix/tty.c -o src/unix/tty.o
gcc --std=c89 -pedantic -Wall -Wextra -Wno-unused-parameter -D_GNU_SOURCE -I/tmp/RtmphKAJmL/R.INSTALL5d54025a97/httpuv/src/libuv/include -I/tmp/RtmphKAJmL/R.INSTALL5d54025a97/httpuv/src/libuv/include/uv-private -I/tmp/RtmphKAJmL/R.INSTALL5d54025a97/httpuv/src/libuv/src -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Os -fomit-frame-pointer  -fpic -c src/unix/udp.c -o src/unix/udp.o
mkdir -p src
touch src/.buildstamp
gcc --std=c89 -pedantic -Wall -Wextra -Wno-unused-parameter -D_GNU_SOURCE -I/tmp/RtmphKAJmL/R.INSTALL5d54025a97/httpuv/src/libuv/include -I/tmp/RtmphKAJmL/R.INSTALL5d54025a97/httpuv/src/libuv/include/uv-private -I/tmp/RtmphKAJmL/R.INSTALL5d54025a97/httpuv/src/libuv/src -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Os -fomit-frame-pointer  -fpic -c src/fs-poll.c -o src/fs-poll.o
src/fs-poll.c: In function 'statbuf_eq':
src/fs-poll.c:205:8: error: 'uv_statbuf_t {aka const struct stat}' has no member named 'st_ctimensec'; did you mean 'st_ctim'?
   if (a->st_ctimensec != b->st_ctimensec) return 0;
        ^~
src/fs-poll.c:205:27: error: 'uv_statbuf_t {aka const struct stat}' has no member named 'st_ctimensec'; did you mean 'st_ctim'?
   if (a->st_ctimensec != b->st_ctimensec) return 0;
                           ^~
src/fs-poll.c:206:8: error: 'uv_statbuf_t {aka const struct stat}' has no member named 'st_mtimensec'; did you mean 'st_mtim'?
   if (a->st_mtimensec != b->st_mtimensec) return 0;
        ^~
src/fs-poll.c:206:27: error: 'uv_statbuf_t {aka const struct stat}' has no member named 'st_mtimensec'; did you mean 'st_mtim'?
   if (a->st_mtimensec != b->st_mtimensec) return 0;
                           ^~
make[1]: *** [/tmp/RtmphKAJmL/R.INSTALL5d54025a97/httpuv/src/libuv/config-unix.mk:192: src/fs-poll.o] Error 1
make[1]: Leaving directory '/tmp/RtmphKAJmL/R.INSTALL5d54025a97/httpuv/src/libuv'
make: *** [Makevars:27: libuv.a] Error 2
ERROR: compilation failed for package ‘httpuv’
* removing ‘/usr/lib/R/library/httpuv’

The downloaded source packages are in
        ‘/tmp/RtmpBJOena/downloaded_packages’
Updating HTML index of packages in '.Library'
Warning messages:
1: In install.packages("httpuv") :
  installation of package ‘httpuv’ had non-zero exit status
2: In file.create(f.tg) :
  cannot create file '/usr/share/doc/R/html/packages.html', reason 'No such file or directory'
3: In make.packages.html(.Library) : cannot update HTML package index

Regards,
Artem

@artemklevtsov
Copy link
Author

artemklevtsov commented Sep 11, 2016

I found solution: add -D__USE_MISC flag to the CFLAGS.

artemklevtsov added a commit to artemklevtsov/httpuv that referenced this issue Sep 11, 2016
@alex88
Copy link

alex88 commented Jan 20, 2017

Hi @artemklevtsov I think I've the same issue

* installing *source* package ‘httpuv’ ...
** package ‘httpuv’ successfully unpacked and MD5 sums checked
** libs
g++ -I/usr/include/R -DNDEBUG -I./libuv/include -I./http-parser -I./sha1 -I./base64 -Os -fomit-frame-pointer -I"/usr/lib/R/library/Rcpp/include"   -fpic  -Os -fomit-frame-pointer -D__MUSL__  -c RcppExports.cpp -o RcppExports.o
g++ -I/usr/include/R -DNDEBUG -I./libuv/include -I./http-parser -I./sha1 -I./base64 -Os -fomit-frame-pointer -I"/usr/lib/R/library/Rcpp/include"   -fpic  -Os -fomit-frame-pointer -D__MUSL__  -c filedatasource-unix.cpp -o filedatasource-unix.o
g++ -I/usr/include/R -DNDEBUG -I./libuv/include -I./http-parser -I./sha1 -I./base64 -Os -fomit-frame-pointer -I"/usr/lib/R/library/Rcpp/include"   -fpic  -Os -fomit-frame-pointer -D__MUSL__  -c filedatasource-win.cpp -o filedatasource-win.o
g++ -I/usr/include/R -DNDEBUG -I./libuv/include -I./http-parser -I./sha1 -I./base64 -Os -fomit-frame-pointer -I"/usr/lib/R/library/Rcpp/include"   -fpic  -Os -fomit-frame-pointer -D__MUSL__  -c http.cpp -o http.o
g++ -I/usr/include/R -DNDEBUG -I./libuv/include -I./http-parser -I./sha1 -I./base64 -Os -fomit-frame-pointer -I"/usr/lib/R/library/Rcpp/include"   -fpic  -Os -fomit-frame-pointer -D__MUSL__  -c httpuv.cpp -o httpuv.o
gcc -I/usr/include/R -DNDEBUG -I./libuv/include -I./http-parser -I./sha1 -I./base64 -Os -fomit-frame-pointer -I"/usr/lib/R/library/Rcpp/include"   -fpic  -Os -fomit-frame-pointer  -c md5.c -o md5.o
gcc -I/usr/include/R -DNDEBUG -I./libuv/include -I./http-parser -I./sha1 -I./base64 -Os -fomit-frame-pointer -I"/usr/lib/R/library/Rcpp/include"   -fpic  -Os -fomit-frame-pointer  -c set_invalid_parameter.c -o set_invalid_parameter.o
g++ -I/usr/include/R -DNDEBUG -I./libuv/include -I./http-parser -I./sha1 -I./base64 -Os -fomit-frame-pointer -I"/usr/lib/R/library/Rcpp/include"   -fpic  -Os -fomit-frame-pointer -D__MUSL__  -c uvutil.cpp -o uvutil.o
g++ -I/usr/include/R -DNDEBUG -I./libuv/include -I./http-parser -I./sha1 -I./base64 -Os -fomit-frame-pointer -I"/usr/lib/R/library/Rcpp/include"   -fpic  -Os -fomit-frame-pointer -D__MUSL__  -c websockets-base.cpp -o websockets-base.o
g++ -I/usr/include/R -DNDEBUG -I./libuv/include -I./http-parser -I./sha1 -I./base64 -Os -fomit-frame-pointer -I"/usr/lib/R/library/Rcpp/include"   -fpic  -Os -fomit-frame-pointer -D__MUSL__  -c websockets-hixie76.cpp -o websockets-hixie76.o
g++ -I/usr/include/R -DNDEBUG -I./libuv/include -I./http-parser -I./sha1 -I./base64 -Os -fomit-frame-pointer -I"/usr/lib/R/library/Rcpp/include"   -fpic  -Os -fomit-frame-pointer -D__MUSL__  -c websockets-hybi03.cpp -o websockets-hybi03.o
g++ -I/usr/include/R -DNDEBUG -I./libuv/include -I./http-parser -I./sha1 -I./base64 -Os -fomit-frame-pointer -I"/usr/lib/R/library/Rcpp/include"   -fpic  -Os -fomit-frame-pointer -D__MUSL__  -c websockets-ietf.cpp -o websockets-ietf.o
g++ -I/usr/include/R -DNDEBUG -I./libuv/include -I./http-parser -I./sha1 -I./base64 -Os -fomit-frame-pointer -I"/usr/lib/R/library/Rcpp/include"   -fpic  -Os -fomit-frame-pointer -D__MUSL__  -c websockets.cpp -o websockets.o
websockets.cpp: In member function 'bool WebSocketConnection::accept(const RequestHeaders&, const char*, size_t)':
websockets.cpp:217:8: warning: 'template<class> class std::auto_ptr' is deprecated [-Wdeprecated-declarations]
   std::auto_ptr<WebSocketProto_IETF> ietf(new WebSocketProto_IETF());
        ^~~~~~~~
In file included from /usr/include/c++/6.2.1/bits/locale_conv.h:41:0,
                 from /usr/include/c++/6.2.1/locale:43,
                 from /usr/include/c++/6.2.1/iomanip:43,
                 from websockets.cpp:6:
/usr/include/c++/6.2.1/bits/unique_ptr.h:49:28: note: declared here
   template<typename> class auto_ptr;
                            ^~~~~~~~
websockets.cpp:223:8: warning: 'template<class> class std::auto_ptr' is deprecated [-Wdeprecated-declarations]
   std::auto_ptr<WebSocketProto_HyBi03> hybi03(new WebSocketProto_HyBi03());
        ^~~~~~~~
In file included from /usr/include/c++/6.2.1/bits/locale_conv.h:41:0,
                 from /usr/include/c++/6.2.1/locale:43,
                 from /usr/include/c++/6.2.1/iomanip:43,
                 from websockets.cpp:6:
/usr/include/c++/6.2.1/bits/unique_ptr.h:49:28: note: declared here
   template<typename> class auto_ptr;
                            ^~~~~~~~
make --directory=libuv \
	CC="gcc" CFLAGS="-Os -fomit-frame-pointer  -fpic" AR="ar" RANLIB="ranlib" \
    HAVE_DTRACE=0 \
	libuv.a
make[1]: Entering directory '/tmp/RtmpepbcnM/R.INSTALL9fe113be93d/httpuv/src/libuv'
mkdir -p src/unix
touch src/unix/.buildstamp
gcc --std=c89 -pedantic -Wall -Wextra -Wno-unused-parameter -D_GNU_SOURCE -I/tmp/RtmpepbcnM/R.INSTALL9fe113be93d/httpuv/src/libuv/include -I/tmp/RtmpepbcnM/R.INSTALL9fe113be93d/httpuv/src/libuv/include/uv-private -I/tmp/RtmpepbcnM/R.INSTALL9fe113be93d/httpuv/src/libuv/src -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Os -fomit-frame-pointer  -fpic -c src/unix/async.c -o src/unix/async.o
gcc --std=c89 -pedantic -Wall -Wextra -Wno-unused-parameter -D_GNU_SOURCE -I/tmp/RtmpepbcnM/R.INSTALL9fe113be93d/httpuv/src/libuv/include -I/tmp/RtmpepbcnM/R.INSTALL9fe113be93d/httpuv/src/libuv/include/uv-private -I/tmp/RtmpepbcnM/R.INSTALL9fe113be93d/httpuv/src/libuv/src -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Os -fomit-frame-pointer  -fpic -c src/unix/core.c -o src/unix/core.o
gcc --std=c89 -pedantic -Wall -Wextra -Wno-unused-parameter -D_GNU_SOURCE -I/tmp/RtmpepbcnM/R.INSTALL9fe113be93d/httpuv/src/libuv/include -I/tmp/RtmpepbcnM/R.INSTALL9fe113be93d/httpuv/src/libuv/include/uv-private -I/tmp/RtmpepbcnM/R.INSTALL9fe113be93d/httpuv/src/libuv/src -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Os -fomit-frame-pointer  -fpic -c src/unix/dl.c -o src/unix/dl.o
gcc --std=c89 -pedantic -Wall -Wextra -Wno-unused-parameter -D_GNU_SOURCE -I/tmp/RtmpepbcnM/R.INSTALL9fe113be93d/httpuv/src/libuv/include -I/tmp/RtmpepbcnM/R.INSTALL9fe113be93d/httpuv/src/libuv/include/uv-private -I/tmp/RtmpepbcnM/R.INSTALL9fe113be93d/httpuv/src/libuv/src -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Os -fomit-frame-pointer  -fpic -c src/unix/error.c -o src/unix/error.o
gcc --std=c89 -pedantic -Wall -Wextra -Wno-unused-parameter -D_GNU_SOURCE -I/tmp/RtmpepbcnM/R.INSTALL9fe113be93d/httpuv/src/libuv/include -I/tmp/RtmpepbcnM/R.INSTALL9fe113be93d/httpuv/src/libuv/include/uv-private -I/tmp/RtmpepbcnM/R.INSTALL9fe113be93d/httpuv/src/libuv/src -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Os -fomit-frame-pointer  -fpic -c src/unix/fs.c -o src/unix/fs.o
gcc --std=c89 -pedantic -Wall -Wextra -Wno-unused-parameter -D_GNU_SOURCE -I/tmp/RtmpepbcnM/R.INSTALL9fe113be93d/httpuv/src/libuv/include -I/tmp/RtmpepbcnM/R.INSTALL9fe113be93d/httpuv/src/libuv/include/uv-private -I/tmp/RtmpepbcnM/R.INSTALL9fe113be93d/httpuv/src/libuv/src -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Os -fomit-frame-pointer  -fpic -c src/unix/getaddrinfo.c -o src/unix/getaddrinfo.o
gcc --std=c89 -pedantic -Wall -Wextra -Wno-unused-parameter -D_GNU_SOURCE -I/tmp/RtmpepbcnM/R.INSTALL9fe113be93d/httpuv/src/libuv/include -I/tmp/RtmpepbcnM/R.INSTALL9fe113be93d/httpuv/src/libuv/include/uv-private -I/tmp/RtmpepbcnM/R.INSTALL9fe113be93d/httpuv/src/libuv/src -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Os -fomit-frame-pointer  -fpic -c src/unix/loop.c -o src/unix/loop.o
gcc --std=c89 -pedantic -Wall -Wextra -Wno-unused-parameter -D_GNU_SOURCE -I/tmp/RtmpepbcnM/R.INSTALL9fe113be93d/httpuv/src/libuv/include -I/tmp/RtmpepbcnM/R.INSTALL9fe113be93d/httpuv/src/libuv/include/uv-private -I/tmp/RtmpepbcnM/R.INSTALL9fe113be93d/httpuv/src/libuv/src -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Os -fomit-frame-pointer  -fpic -c src/unix/loop-watcher.c -o src/unix/loop-watcher.o
gcc --std=c89 -pedantic -Wall -Wextra -Wno-unused-parameter -D_GNU_SOURCE -I/tmp/RtmpepbcnM/R.INSTALL9fe113be93d/httpuv/src/libuv/include -I/tmp/RtmpepbcnM/R.INSTALL9fe113be93d/httpuv/src/libuv/include/uv-private -I/tmp/RtmpepbcnM/R.INSTALL9fe113be93d/httpuv/src/libuv/src -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Os -fomit-frame-pointer  -fpic -c src/unix/pipe.c -o src/unix/pipe.o
gcc --std=c89 -pedantic -Wall -Wextra -Wno-unused-parameter -D_GNU_SOURCE -I/tmp/RtmpepbcnM/R.INSTALL9fe113be93d/httpuv/src/libuv/include -I/tmp/RtmpepbcnM/R.INSTALL9fe113be93d/httpuv/src/libuv/include/uv-private -I/tmp/RtmpepbcnM/R.INSTALL9fe113be93d/httpuv/src/libuv/src -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Os -fomit-frame-pointer  -fpic -c src/unix/poll.c -o src/unix/poll.o
gcc --std=c89 -pedantic -Wall -Wextra -Wno-unused-parameter -D_GNU_SOURCE -I/tmp/RtmpepbcnM/R.INSTALL9fe113be93d/httpuv/src/libuv/include -I/tmp/RtmpepbcnM/R.INSTALL9fe113be93d/httpuv/src/libuv/include/uv-private -I/tmp/RtmpepbcnM/R.INSTALL9fe113be93d/httpuv/src/libuv/src -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Os -fomit-frame-pointer  -fpic -c src/unix/process.c -o src/unix/process.o
gcc --std=c89 -pedantic -Wall -Wextra -Wno-unused-parameter -D_GNU_SOURCE -I/tmp/RtmpepbcnM/R.INSTALL9fe113be93d/httpuv/src/libuv/include -I/tmp/RtmpepbcnM/R.INSTALL9fe113be93d/httpuv/src/libuv/include/uv-private -I/tmp/RtmpepbcnM/R.INSTALL9fe113be93d/httpuv/src/libuv/src -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Os -fomit-frame-pointer  -fpic -c src/unix/signal.c -o src/unix/signal.o
gcc --std=c89 -pedantic -Wall -Wextra -Wno-unused-parameter -D_GNU_SOURCE -I/tmp/RtmpepbcnM/R.INSTALL9fe113be93d/httpuv/src/libuv/include -I/tmp/RtmpepbcnM/R.INSTALL9fe113be93d/httpuv/src/libuv/include/uv-private -I/tmp/RtmpepbcnM/R.INSTALL9fe113be93d/httpuv/src/libuv/src -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Os -fomit-frame-pointer  -fpic -c src/unix/stream.c -o src/unix/stream.o
gcc --std=c89 -pedantic -Wall -Wextra -Wno-unused-parameter -D_GNU_SOURCE -I/tmp/RtmpepbcnM/R.INSTALL9fe113be93d/httpuv/src/libuv/include -I/tmp/RtmpepbcnM/R.INSTALL9fe113be93d/httpuv/src/libuv/include/uv-private -I/tmp/RtmpepbcnM/R.INSTALL9fe113be93d/httpuv/src/libuv/src -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Os -fomit-frame-pointer  -fpic -c src/unix/tcp.c -o src/unix/tcp.o
gcc --std=c89 -pedantic -Wall -Wextra -Wno-unused-parameter -D_GNU_SOURCE -I/tmp/RtmpepbcnM/R.INSTALL9fe113be93d/httpuv/src/libuv/include -I/tmp/RtmpepbcnM/R.INSTALL9fe113be93d/httpuv/src/libuv/include/uv-private -I/tmp/RtmpepbcnM/R.INSTALL9fe113be93d/httpuv/src/libuv/src -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Os -fomit-frame-pointer  -fpic -c src/unix/thread.c -o src/unix/thread.o
gcc --std=c89 -pedantic -Wall -Wextra -Wno-unused-parameter -D_GNU_SOURCE -I/tmp/RtmpepbcnM/R.INSTALL9fe113be93d/httpuv/src/libuv/include -I/tmp/RtmpepbcnM/R.INSTALL9fe113be93d/httpuv/src/libuv/include/uv-private -I/tmp/RtmpepbcnM/R.INSTALL9fe113be93d/httpuv/src/libuv/src -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Os -fomit-frame-pointer  -fpic -c src/unix/threadpool.c -o src/unix/threadpool.o
gcc --std=c89 -pedantic -Wall -Wextra -Wno-unused-parameter -D_GNU_SOURCE -I/tmp/RtmpepbcnM/R.INSTALL9fe113be93d/httpuv/src/libuv/include -I/tmp/RtmpepbcnM/R.INSTALL9fe113be93d/httpuv/src/libuv/include/uv-private -I/tmp/RtmpepbcnM/R.INSTALL9fe113be93d/httpuv/src/libuv/src -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Os -fomit-frame-pointer  -fpic -c src/unix/timer.c -o src/unix/timer.o
gcc --std=c89 -pedantic -Wall -Wextra -Wno-unused-parameter -D_GNU_SOURCE -I/tmp/RtmpepbcnM/R.INSTALL9fe113be93d/httpuv/src/libuv/include -I/tmp/RtmpepbcnM/R.INSTALL9fe113be93d/httpuv/src/libuv/include/uv-private -I/tmp/RtmpepbcnM/R.INSTALL9fe113be93d/httpuv/src/libuv/src -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Os -fomit-frame-pointer  -fpic -c src/unix/tty.c -o src/unix/tty.o
gcc --std=c89 -pedantic -Wall -Wextra -Wno-unused-parameter -D_GNU_SOURCE -I/tmp/RtmpepbcnM/R.INSTALL9fe113be93d/httpuv/src/libuv/include -I/tmp/RtmpepbcnM/R.INSTALL9fe113be93d/httpuv/src/libuv/include/uv-private -I/tmp/RtmpepbcnM/R.INSTALL9fe113be93d/httpuv/src/libuv/src -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Os -fomit-frame-pointer  -fpic -c src/unix/udp.c -o src/unix/udp.o
mkdir -p src
touch src/.buildstamp
gcc --std=c89 -pedantic -Wall -Wextra -Wno-unused-parameter -D_GNU_SOURCE -I/tmp/RtmpepbcnM/R.INSTALL9fe113be93d/httpuv/src/libuv/include -I/tmp/RtmpepbcnM/R.INSTALL9fe113be93d/httpuv/src/libuv/include/uv-private -I/tmp/RtmpepbcnM/R.INSTALL9fe113be93d/httpuv/src/libuv/src -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Os -fomit-frame-pointer  -fpic -c src/fs-poll.c -o src/fs-poll.o
src/fs-poll.c: In function 'statbuf_eq':
src/fs-poll.c:205:8: error: 'uv_statbuf_t {aka const struct stat}' has no member named 'st_ctimensec'; did you mean 'st_ctim'?
   if (a->st_ctimensec != b->st_ctimensec) return 0;
        ^~
src/fs-poll.c:205:27: error: 'uv_statbuf_t {aka const struct stat}' has no member named 'st_ctimensec'; did you mean 'st_ctim'?
   if (a->st_ctimensec != b->st_ctimensec) return 0;
                           ^~
src/fs-poll.c:206:8: error: 'uv_statbuf_t {aka const struct stat}' has no member named 'st_mtimensec'; did you mean 'st_mtim'?
   if (a->st_mtimensec != b->st_mtimensec) return 0;
        ^~
src/fs-poll.c:206:27: error: 'uv_statbuf_t {aka const struct stat}' has no member named 'st_mtimensec'; did you mean 'st_mtim'?
   if (a->st_mtimensec != b->st_mtimensec) return 0;
                           ^~
make[1]: *** [/tmp/RtmpepbcnM/R.INSTALL9fe113be93d/httpuv/src/libuv/config-unix.mk:192: src/fs-poll.o] Error 1
make[1]: Leaving directory '/tmp/RtmpepbcnM/R.INSTALL9fe113be93d/httpuv/src/libuv'
make: *** [Makevars:27: libuv.a] Error 2
ERROR: compilation failed for package ‘httpuv’
* removing ‘/usr/lib/R/library/httpuv’

however I don't see that in CFLAGS, how can I force it?

@artemklevtsov
Copy link
Author

Edit ~/.R/Makefile or Makevars in the package sources.

@alex88
Copy link

alex88 commented Jan 20, 2017

Ok gotcha, thanks

@jeroen
Copy link
Contributor

jeroen commented Apr 11, 2017

Whats the output of cmd uname in your distribution? Then we can add this to the Makevars OS tweaks.

@artemklevtsov
Copy link
Author

@jeroen Linux.

@jeroen
Copy link
Contributor

jeroen commented May 10, 2017

Is this still broken in master?

devtools::install_github("rstudio/httpuv")

@jcheng5
Copy link
Member

jcheng5 commented May 10, 2017

I couldn't get it to build off master just now. This seems to be because Alpine uses musl.

However, the rstudio/httpuv@libuv-1.8.0 branch does work. You have to install these dependencies first:

apk add automake libtool m4 autoconf linux-headers

(I am way overdue on finishing and merging that branch, sorry.)

@jcheng5
Copy link
Member

jcheng5 commented May 10, 2017

@jeroen Actually it looks like most of the Linux distributions have libuv packages now, at least 0.10 if not 1.x. Would it be better to start linking to the distro-provided versions? (For Mac and Windows I would continue bundling)

@commandline-be
Copy link

commandline-be commented Dec 15, 2018

this also fails on a Alpine VPS/VM, automake 1.16 installed but there appears a hard coded dependency for automake-1.15

@wch
Copy link
Collaborator

wch commented Jan 23, 2019

@commandline-be Can you try installing the development version from github? If it fails, please include the full output, as well as the output of devtools::session_info().

devtools::install_github('rstudio/httpuv')

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants