rstudio / httpuv

HTTP and WebSocket server package for R
Other
224 stars 84 forks source link

uv.h issue building for r-3.4.3 on rhel6 #110

Closed blueagave closed 6 years ago

blueagave commented 6 years ago

Hello,

We're running into a uv.h issue when attempting to install httpuv for r-3.4.3 on a rhel6 host. Compiling with gcc-4.4.7. I would appreciate any suggestions you may have to offer.

..... In file included from ./libuv/include/uv.h:67, from uvutil.h:6, from filedatasource.h:4, from filedatasource-unix.cpp:3: ./libuv/include/uv-private/uv-unix.h:132: error: ‘sem_t’ does not name a type In file included from uvutil.h:6, from filedatasource.h:4, from filedatasource-unix.cpp:3: ./libuv/include/uv.h:1893: error: ‘uv_sem_t’ was not declared in this scope ./libuv/include/uv.h:1893: error: ‘sem’ was not declared in this scope ./libuv/include/uv.h:1893: error: expected primary-expression before ‘unsigned’ ./libuv/include/uv.h:1893: error: initializer expression list treated as compound expression ./libuv/include/uv.h:1894: error: variable or field ‘uv_sem_destroy’ declared void

Thanks, Tom

wch commented 6 years ago

Using Docker with Centos 6, I've been able to get a similar error.

Dockerfile:

FROM centos:centos6

RUN yum -y install epel-release 
RUN yum -y update 

RUN echo "LANG=en_US.utf8" >> /etc/locale.conf
RUN localedef -c -f UTF-8 -i en_US en_US.UTF-8
RUN export LC_ALL=en_US.UTF-8

RUN yum -y install libtool R-core R-core-devel R-java R-cpp openssl-devel libcurl-devel \
  && echo 'options(repos = c(CRAN = "https://cran.rstudio.com/"), download.file.method = "libcurl")' >> /usr/lib64/R/etc/Rprofile.site

# Create directories for documentation
RUN mkdir -p /usr/share/doc/R-3.4.3/html
RUN cp /usr/lib64/R/library/stats/html/R.css /usr/share/doc/R-3.4.3/html/

# First install devtools and CRAN version httpuv so that we have dependencies
RUN R -e "install.packages(c('devtools', 'httpuv'))"

CMD bash

Build the container, then build httpuv:

docker build -t centos6r .

docker run --rm -ti centos6r
R
devtools::install_github('rstudio/httpuv')

The error I get is this:

g++ -m64 -std=gnu++0x -I/usr/include/R -DNDEBUG -I./libuv/include -I./http-parser -I./sha1 -I./base64 -fvisibility=hidden -I"/usr/lib64/R/library/Rcpp/include" -I"/usr/lib64/R/library/BH/include" -I"/usr/lib64/R/library/later/include" -I/usr/local/include   -fpic  -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -c http.cpp -o http.o
In file included from websockets.h:11,
                 from webapplication.h:7,
                 from http.h:7,
                 from http.cpp:1:
utils.h: In function ‘void err_printf(const char*, ...)’:
utils.h:52: warning: ignoring return value of ‘ssize_t write(int, const void*, size_t)’, declared with attribute warn_unused_result
In file included from http.cpp:2:
httprequest.h: In constructor ‘HttpRequest::HttpRequest(uv_loop_t*, boost::shared_ptr<WebApplication>, boost::shared_ptr<Socket>, CallbackQueue*)’:
httprequest.h:98: error: no matching function for call to ‘boost::shared_ptr<Rcpp::Environment_Impl<Rcpp::PreserveStorage> >::shared_ptr(NULL)’
/usr/lib64/R/library/BH/include/boost/smart_ptr/shared_ptr.hpp:634: note: candidates are: boost::shared_ptr<T>::shared_ptr(boost::shared_ptr<T>&&) [with T = Rcpp::Environment_Impl<Rcpp::PreserveStorage>]
/usr/lib64/R/library/BH/include/boost/smart_ptr/shared_ptr.hpp:422: note:                 boost::shared_ptr<T>::shared_ptr(const boost::shared_ptr<T>&) [with T = Rcpp::Environment_Impl<Rcpp::PreserveStorage>]
/usr/lib64/R/library/BH/include/boost/smart_ptr/shared_ptr.hpp:370: note:                 boost::shared_ptr<T>::shared_ptr(boost::detail::sp_internal_constructor_tag, typename boost::detail::sp_element<T>::type*, boost::detail::shared_count&&) [with T = Rcpp::Environment_Impl<Rcpp::PreserveStorage>]
/usr/lib64/R/library/BH/include/boost/smart_ptr/shared_ptr.hpp:364: note:                 boost::shared_ptr<T>::shared_ptr(boost::detail::sp_internal_constructor_tag, typename boost::detail::sp_element<T>::type*, const boost::detail::shared_count&) [with T = Rcpp::Environment_Impl<Rcpp::PreserveStorage>]
/usr/lib64/R/library/BH/include/boost/smart_ptr/shared_ptr.hpp:352: note:                 boost::shared_ptr<T>::shared_ptr() [with T = Rcpp::Environment_Impl<Rcpp::PreserveStorage>]
make: *** [http.o] Error 1
ERROR: compilation failed for package ‘httpuv’
[root@0a0fa6f6d84e /]# g++ --version
g++ (GCC) 4.4.7 20120313 (Red Hat 4.4.7-18)
Copyright (C) 2010 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
wch commented 6 years ago

@blueagave Can you copy and paste the full output when you try to install the package? Also, do you have a ~/.R/Makevars file?

It turns out that the problem I was seeing is a completely different one - your problem was with the CRAN version of httpuv, but mine was with the development version.

blueagave commented 6 years ago

No problem. Thanks for looking into this!

There is no ~/.R directory

Output:

The downloaded source packages are in ‘/tmp/RtmpKbVB0c/downloaded_packages’ Updating HTML index of packages in '.Library' Making 'packages.html' ... done Warning message: In install.packages("httpuv") : installation of package ‘httpuv’ had non-zero exit status

wch commented 6 years ago

When I use the Dockerfile from above and then run install.packages("httpuv") (as opposed to the install_github() that I ran previously) to install the package from CRAN, it works fine.

Do you have a self-compiled version of R installed? I see that it's trying to put the package into /usr/local. The reason I ask is because if you have a self-compiled version of R, it might have been configured to use compiler flags that are different from the ones used to build the .rpm that would be installed with yum. That would be a reason why I'm not able to reproduce your issue.

Here's some of the output from my setup:

$ docker run --rm -ti centos6r
[root@662280fe350b /]# R

R version 3.4.3 (2017-11-30) -- "Kite-Eating Tree"
Copyright (C) 2017 The R Foundation for Statistical Computing
Platform: x86_64-redhat-linux-gnu (64-bit)

R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under certain conditions.
Type 'license()' or 'licence()' for distribution details.

  Natural language support but running in an English locale

R is a collaborative project with many contributors.
Type 'contributors()' for more information and
'citation()' on how to cite R or R packages in publications.

Type 'demo()' for some demos, 'help()' for on-line help, or
'help.start()' for an HTML browser interface to help.
Type 'q()' to quit R.

> 
> 
> 
> install.packages("httpuv")
Installing package into ‘/usr/lib64/R/library’
(as ‘lib’ is unspecified)
trying URL 'https://cran.rstudio.com/src/contrib/httpuv_1.3.6.2.tar.gz'
Content type 'application/x-gzip' length 427598 bytes (417 KB)
==================================================
downloaded 417 KB

* installing *source* package ‘httpuv’ ...
** package ‘httpuv’ successfully unpacked and MD5 sums checked
** libs
g++ -m64 -std=gnu++0x -I/usr/include/R -DNDEBUG -I./libuv/include -I./http-parser -I./sha1 -I./base64 -I"/usr/lib64/R/library/Rcpp/include" -I/usr/local/include   -fpic  -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -c RcppExports.cpp -o RcppExports.o
g++ -m64 -std=gnu++0x -I/usr/include/R -DNDEBUG -I./libuv/include -I./http-parser -I./sha1 -I./base64 -I"/usr/lib64/R/library/Rcpp/include" -I/usr/local/include   -fpic  -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -c filedatasource-unix.cpp -o filedatasource-unix.o

....

(cd sha1 && gcc -m64 -std=gnu99 -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -fpic -fPIC   -fpic -c sha1.c -o sha1.o)
(cd base64 && g++ -m64 -std=gnu++0x -I/usr/include/R -DNDEBUG -I./libuv/include -I./http-parser -I./sha1 -I./base64 -I"/usr/lib64/R/library/Rcpp/include" -I/usr/local/include   -fpic  -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -c base64.cpp -o base64.o)
g++ -m64 -std=gnu++0x -shared -L/usr/lib64/R/lib -o httpuv.so RcppExports.o filedatasource-unix.o filedatasource-win.o http.o httpuv.o md5.o register.o set_invalid_parameter.o uvutil.o websockets-base.o websockets-hixie76.o websockets-hybi03.o websockets-ietf.o websockets.o ./libuv/libuv.a ./http-parser/http_parser.o ./sha1/sha1.o ./base64/base64.o -L/usr/lib64/R/lib -lR
installing to /usr/lib64/R/library/httpuv/libs
** R
** demo
** preparing package for lazy loading
** help
*** installing help indices
  converting help for package ‘httpuv’
    finding HTML links ... done
    WebSocket-class                         html  
    encodeURI                               html  
Rd warning: /tmp/RtmpMISAZD/R.INSTALL173311dc54/httpuv/man/encodeURI.Rd:36: missing file link ‘URLdecode’
    getRNGState                             html  
    httpuv-package                          html  
    interrupt                               html  
    rawToBase64                             html  
    runServer                               html  
    service                                 html  
    startDaemonizedServer                   html  
    startServer                             html  
    stopDaemonizedServer                    html  
    stopServer                              html  
** building package indices
** testing if installed package can be loaded
* DONE (httpuv)
Making 'packages.html' ... done

The downloaded source packages are in
    ‘/tmp/RtmpeC2Dwk/downloaded_packages’
Updating HTML index of packages in '.Library'
Making 'packages.html' ... done
wch commented 6 years ago

@blueagave Could you also try installing httpuv 1.3.5 and see if it gives the same error? You can do this with:

devtools::install_version('httpuv', '1.3.5')
blueagave commented 6 years ago

Thanks. We'll do some more investigation of the setup on our end. Just not sure what is causing the sem_t errors.

blueagave commented 6 years ago

Will try version 1.3.5 as suggested.

blueagave commented 6 years ago

No luck. The admin got the same error as before.

wch commented 6 years ago

@blueagave the sem_t type is defined in semaphore.h, which should be a part of the standard C library available on your machine. Maybe for some reason you are getting the wrong copy of semaphore.h? It should be in /usr/include.

blueagave commented 6 years ago

Thanks. Will check.

wch commented 6 years ago

@blueagave I don't know if this will work for you, but you can also try installing the fix-compile branch:

devtools::install_github("rstudio/httpuv@fix-compile")

That branch doesn't fix your problem specifically -- it fixes some other ones that I encountered with Centos 6 -- but it is branched off of the master branch of httpuv, which has changed significantly since the version that you were trying to install from CRAN. Notably, we upgrade libuv, and it's possible that the new version might avoid the sem_t issue.

wch commented 6 years ago

For the record: another user reported the same sem_t problem installing on Ubuntu 14.04, using an R installation from miniconda. However, I wasn't able to reproduce the problem with the following -- the installation of httpuv works fine:

docker run --rm -ti ubuntu:14.04 /bin/bash

apt-get update && apt-get install -y wget
wget https://repo.continuum.io/miniconda/Miniconda3-4.4.10-Linux-x86_64.sh -O ~/miniconda.sh
bash ~/miniconda.sh -b -p $HOME/miniconda
export PATH="$HOME/miniconda/bin:$PATH"

conda install -y r-base make
R -e "install.packages('httpuv', repos='https://cloud.r-project.org')"
blueagave commented 6 years ago

We tried the fix-compile branch, but that failed with the same error. At this point, we suspect something is probably wrong with the host.

ivlachos commented 6 years ago

Thanks,

I've tried that before many times. It still fails:


Downloading GitHub repo rstudio/httpuv@master
from URL https://api.github.com/repos/rstudio/httpuv/zipball/master
Installing httpuv
'/usr/lib64/R/bin/R' --no-site-file --no-environ --no-save --no-restore --quiet CMD INSTALL  \
  '/tmp/Rtmp2wDhmf/devtools3aff311b38a2f/rstudio-httpuv-0d65c87' --library='/home/iv/R/x86_64-redhat-linux-gnu-library/3.4'  \
  --install-tests 

* installing *source* package ?httpuv? ...
** libs
g++ -m64 -std=gnu++11 -I/usr/include/R -DNDEBUG -I./libuv/include -I./http-parser -I./sha1 -I./base64 -fvisibility=hidden -I"/home/iv/R/x86_64-redhat-linux-gnu-library/3.4/Rcpp/include" -I"/home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include" -I"/home/iv/R/x86_64-redhat-linux-gnu-library/3.4/later/include" -I/usr/local/include   -fpic  -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches   -m64 -mtune=generic -c RcppExports-legacy.cpp -o RcppExports-legacy.o
g++ -m64 -std=gnu++11 -I/usr/include/R -DNDEBUG -I./libuv/include -I./http-parser -I./sha1 -I./base64 -fvisibility=hidden -I"/home/iv/R/x86_64-redhat-linux-gnu-library/3.4/Rcpp/include" -I"/home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include" -I"/home/iv/R/x86_64-redhat-linux-gnu-library/3.4/later/include" -I/usr/local/include   -fpic  -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches   -m64 -mtune=generic -c RcppExports.cpp -o RcppExports.o
g++ -m64 -std=gnu++11 -I/usr/include/R -DNDEBUG -I./libuv/include -I./http-parser -I./sha1 -I./base64 -fvisibility=hidden -I"/home/iv/R/x86_64-redhat-linux-gnu-library/3.4/Rcpp/include" -I"/home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include" -I"/home/iv/R/x86_64-redhat-linux-gnu-library/3.4/later/include" -I/usr/local/include   -fpic  -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches   -m64 -mtune=generic -c callback.cpp -o callback.o
g++ -m64 -std=gnu++11 -I/usr/include/R -DNDEBUG -I./libuv/include -I./http-parser -I./sha1 -I./base64 -fvisibility=hidden -I"/home/iv/R/x86_64-redhat-linux-gnu-library/3.4/Rcpp/include" -I"/home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include" -I"/home/iv/R/x86_64-redhat-linux-gnu-library/3.4/later/include" -I/usr/local/include   -fpic  -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches   -m64 -mtune=generic -c callbackqueue.cpp -o callbackqueue.o
In file included from ./libuv/include/uv.h:62:0,
                 from thread.h:4,
                 from queue.h:7,
                 from callbackqueue.h:4,
                 from callbackqueue.cpp:1:
./libuv/include/uv-unix.h:104:28: error: ?sem_t? does not name a type
 # define UV_PLATFORM_SEM_T sem_t
                            ^
./libuv/include/uv-unix.h:136:9: note: in expansion of macro ?UV_PLATFORM_SEM_T?
 typedef UV_PLATFORM_SEM_T uv_sem_t;
         ^
In file included from thread.h:4:0,
                 from queue.h:7,
                 from callbackqueue.h:4,
                 from callbackqueue.cpp:1:
./libuv/include/uv.h:1461:27: error: ?uv_sem_t? was not declared in this scope
 UV_EXTERN int uv_sem_init(uv_sem_t* sem, unsigned int value);
                           ^
./libuv/include/uv.h:1461:37: error: ?sem? was not declared in this scope
 UV_EXTERN int uv_sem_init(uv_sem_t* sem, unsigned int value);
                                     ^
./libuv/include/uv.h:1461:42: error: expected primary-expression before ?unsigned?
 UV_EXTERN int uv_sem_init(uv_sem_t* sem, unsigned int value);
                                          ^
./libuv/include/uv.h:1461:60: error: expression list treated as compound expression in initializer [-fpermissive]
 UV_EXTERN int uv_sem_init(uv_sem_t* sem, unsigned int value);
                                                            ^
./libuv/include/uv.h:1462:31: error: variable or field ?uv_sem_destroy? declared void
 UV_EXTERN void uv_sem_destroy(uv_sem_t* sem);
                               ^
./libuv/include/uv.h:1462:31: error: ?uv_sem_t? was not declared in this scope
./libuv/include/uv.h:1462:41: error: ?sem? was not declared in this scope
 UV_EXTERN void uv_sem_destroy(uv_sem_t* sem);
                                         ^
./libuv/include/uv.h:1463:28: error: variable or field ?uv_sem_post? declared void
 UV_EXTERN void uv_sem_post(uv_sem_t* sem);
                            ^
./libuv/include/uv.h:1463:28: error: ?uv_sem_t? was not declared in this scope
./libuv/include/uv.h:1463:38: error: ?sem? was not declared in this scope
 UV_EXTERN void uv_sem_post(uv_sem_t* sem);
                                      ^
./libuv/include/uv.h:1464:28: error: variable or field ?uv_sem_wait? declared void
 UV_EXTERN void uv_sem_wait(uv_sem_t* sem);
                            ^
./libuv/include/uv.h:1464:28: error: ?uv_sem_t? was not declared in this scope
./libuv/include/uv.h:1464:38: error: ?sem? was not declared in this scope
 UV_EXTERN void uv_sem_wait(uv_sem_t* sem);
                                      ^
./libuv/include/uv.h:1465:30: error: ?uv_sem_t? was not declared in this scope
 UV_EXTERN int uv_sem_trywait(uv_sem_t* sem);
                              ^
./libuv/include/uv.h:1465:40: error: ?sem? was not declared in this scope
 UV_EXTERN int uv_sem_trywait(uv_sem_t* sem);
                                        ^
make: *** [callbackqueue.o] Error 1
ERROR: compilation failed for package ?httpuv?
* removing ?/home/iv/R/x86_64-redhat-linux-gnu-library/3.4/httpuv?
Installation failed: Command failed (1)```
wch commented 6 years ago

@ivlachos Can you try this and paste the output? (You may need to install the withr package.)

withr::with_makevars(c(CFLAGS="-v", CXXFLAGS="-v"), {
  install.packages('httpuv')
}, assignment = "+=")
ivlachos commented 6 years ago

Seems similar


+     install.packages('httpuv')
+ }, assignment = "+=")
Installing package into ?/home/iv/R/x86_64-redhat-linux-gnu-library/3.4?
(as ?lib? is unspecified)
trying URL 'https://cran.rstudio.com/src/contrib/httpuv_1.3.6.2.tar.gz'
Content type 'application/x-gzip' length 427598 bytes (417 KB)
==================================================
downloaded 417 KB

* installing *source* package ?httpuv? ...
** package ?httpuv? successfully unpacked and MD5 sums checked
** libs
g++ -m64 -std=gnu++11 -I/usr/include/R -DNDEBUG -I./libuv/include -I./http-parser -I./sha1 -I./base64 -I"/home/iv/R/x86_64-redhat-linux-gnu-library/3.4/Rcpp/include" -I/usr/local/include   -fpic  -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches   -m64 -mtune=generic -c RcppExports.cpp -o RcppExports.o
g++ -m64 -std=gnu++11 -I/usr/include/R -DNDEBUG -I./libuv/include -I./http-parser -I./sha1 -I./base64 -I"/home/iv/R/x86_64-redhat-linux-gnu-library/3.4/Rcpp/include" -I/usr/local/include   -fpic  -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches   -m64 -mtune=generic -c filedatasource-unix.cpp -o filedatasource-unix.o
In file included from ./libuv/include/uv.h:67:0,
                 from uvutil.h:6,
                 from filedatasource.h:4,
                 from filedatasource-unix.cpp:3:
./libuv/include/uv-private/uv-unix.h:101:28: error: ?sem_t? does not name a type
 # define UV_PLATFORM_SEM_T sem_t
                            ^
./libuv/include/uv-private/uv-unix.h:132:9: note: in expansion of macro ?UV_PLATFORM_SEM_T?
 typedef UV_PLATFORM_SEM_T uv_sem_t;
         ^
In file included from uvutil.h:6:0,
                 from filedatasource.h:4,
                 from filedatasource-unix.cpp:3:
./libuv/include/uv.h:1893:27: error: ?uv_sem_t? was not declared in this scope
 UV_EXTERN int uv_sem_init(uv_sem_t* sem, unsigned int value);
                           ^
./libuv/include/uv.h:1893:37: error: ?sem? was not declared in this scope
 UV_EXTERN int uv_sem_init(uv_sem_t* sem, unsigned int value);
                                     ^
./libuv/include/uv.h:1893:42: error: expected primary-expression before ?unsigned?
 UV_EXTERN int uv_sem_init(uv_sem_t* sem, unsigned int value);
                                          ^
./libuv/include/uv.h:1893:60: error: expression list treated as compound expression in initializer [-fpermissive]
 UV_EXTERN int uv_sem_init(uv_sem_t* sem, unsigned int value);
                                                            ^
./libuv/include/uv.h:1894:31: error: variable or field ?uv_sem_destroy? declared void
 UV_EXTERN void uv_sem_destroy(uv_sem_t* sem);
                               ^
./libuv/include/uv.h:1894:31: error: ?uv_sem_t? was not declared in this scope
./libuv/include/uv.h:1894:41: error: ?sem? was not declared in this scope
 UV_EXTERN void uv_sem_destroy(uv_sem_t* sem);
                                         ^
./libuv/include/uv.h:1895:28: error: variable or field ?uv_sem_post? declared void
 UV_EXTERN void uv_sem_post(uv_sem_t* sem);
                            ^
./libuv/include/uv.h:1895:28: error: ?uv_sem_t? was not declared in this scope
./libuv/include/uv.h:1895:38: error: ?sem? was not declared in this scope
 UV_EXTERN void uv_sem_post(uv_sem_t* sem);
                                      ^
./libuv/include/uv.h:1896:28: error: variable or field ?uv_sem_wait? declared void
 UV_EXTERN void uv_sem_wait(uv_sem_t* sem);
                            ^
./libuv/include/uv.h:1896:28: error: ?uv_sem_t? was not declared in this scope
./libuv/include/uv.h:1896:38: error: ?sem? was not declared in this scope
 UV_EXTERN void uv_sem_wait(uv_sem_t* sem);
                                      ^
./libuv/include/uv.h:1897:30: error: ?uv_sem_t? was not declared in this scope
 UV_EXTERN int uv_sem_trywait(uv_sem_t* sem);
                              ^
./libuv/include/uv.h:1897:40: error: ?sem? was not declared in this scope
 UV_EXTERN int uv_sem_trywait(uv_sem_t* sem);
                                        ^
make: *** [filedatasource-unix.o] Error 1
ERROR: compilation failed for package ?httpuv?
* removing ?/home/iv/R/x86_64-redhat-linux-gnu-library/3.4/httpuv?
Warning in install.packages :
  installation of package ?httpuv? had non-zero exit status

The downloaded source packages are in
    ?/tmp/Rtmp2wDhmf/downloaded_packages?```
wch commented 6 years ago

Sorry, it should have been CPPFLAGS instead of CXXFLAGS:

withr::with_makevars(c(CFLAGS="-v", CPPFLAGS="-v"), {
  install.packages('httpuv')
}, assignment = "+=")

I'm trying to find out why your copy of semaphore.h doesn't define sem_t, and the -v tells gcc to print out lots of information, including where it's looking for included files. It might look like this, for example:

#include <...> search starts here:
 /usr/share/R/include
 ./libuv/include
 ./http-parser
 ./sha1
 ./base64
 /usr/local/lib/R/site-library/Rcpp/include
 /usr/include/c++/7
 /usr/include/x86_64-linux-gnu/c++/7
 /usr/include/c++/7/backward
 /usr/lib/gcc/x86_64-linux-gnu/7/include
 /usr/local/include
 /usr/lib/gcc/x86_64-linux-gnu/7/include-fixed
 /usr/include/x86_64-linux-gnu
 /usr/include
End of search list.

Then if you can search in those directories, in order, for files named semaphore.h, that will help us find why your copy of semaphore.h isn't defining sem_t.

wch commented 6 years ago

@ivlachos Can you also try this and paste the output? It will print out all of the header files that are actually included when compiling the file:

devtools::install_github('rstudio/httpuv@wch-temp-headers')

This should pinpoint exactly which semaphore.h file is being included.

ivlachos commented 6 years ago

Thank you. Here is the first:

+     install.packages('httpuv')
+ }, assignment = "+=")
Installing package into ?/home/iv/R/x86_64-redhat-linux-gnu-library/3.4?
(as ?lib? is unspecified)
trying URL 'https://cran.rstudio.com/src/contrib/httpuv_1.3.6.2.tar.gz'
Content type 'application/x-gzip' length 427598 bytes (417 KB)
==================================================
downloaded 417 KB

* installing *source* package ?httpuv? ...
** package ?httpuv? successfully unpacked and MD5 sums checked
** libs
g++ -m64 -std=gnu++11 -I/usr/include/R -DNDEBUG -I./libuv/include -I./http-parser -I./sha1 -I./base64 -I"/home/iv/R/x86_64-redhat-linux-gnu-library/3.4/Rcpp/include" -I/usr/local/include -v   -fpic  -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches   -m64 -mtune=generic -c RcppExports.cpp -o RcppExports.o
Using built-in specs.
COLLECT_GCC=g++
Target: x86_64-redhat-linux
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-linker-hash-style=gnu --enable-languages=c,c++,objc,obj-c++,java,fortran,ada,go,lto --enable-plugin --enable-initfini-array --disable-libgcj --with-isl=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/isl-install --with-cloog=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/cloog-install --enable-gnu-indirect-function --with-tune=generic --with-arch_32=x86-64 --build=x86_64-redhat-linux
Thread model: posix
gcc version 4.8.5 20150623 (Red Hat 4.8.5-16) (GCC) 
COLLECT_GCC_OPTIONS='-std=gnu++11' '-I' '/usr/include/R' '-D' 'NDEBUG' '-I' './libuv/include' '-I' './http-parser' '-I' './sha1' '-I' './base64' '-I' '/home/iv/R/x86_64-redhat-linux-gnu-library/3.4/Rcpp/include' '-I' '/usr/local/include' '-v' '-fpic' '-O2' '-g' '-pipe' '-Wall' '-fexceptions' '-fstack-protector-strong' '--param' 'ssp-buffer-size=4' '-grecord-gcc-switches' '-m64' '-mtune=generic' '-c' '-o' 'RcppExports.o' '-shared-libgcc' '-march=x86-64'
 /usr/libexec/gcc/x86_64-redhat-linux/4.8.5/cc1plus -quiet -v -I /usr/include/R -I ./libuv/include -I ./http-parser -I ./sha1 -I ./base64 -I /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/Rcpp/include -I /usr/local/include -D_GNU_SOURCE -D NDEBUG -D_FORTIFY_SOURCE=2 RcppExports.cpp -quiet -dumpbase RcppExports.cpp -m64 -mtune=generic -march=x86-64 -auxbase-strip RcppExports.o -g -grecord-gcc-switches -O2 -Wall -std=gnu++11 -version -fpic -fexceptions -fstack-protector-strong --param ssp-buffer-size=4 -o - |
 as -v -I /usr/include/R -I ./libuv/include -I ./http-parser -I ./sha1 -I ./base64 -I /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/Rcpp/include -I /usr/local/include --64 -o RcppExports.o
GNU C++ (GCC) version 4.8.5 20150623 (Red Hat 4.8.5-16) (x86_64-redhat-linux)
    compiled by GNU C version 4.8.5 20150623 (Red Hat 4.8.5-16), GMP version 6.0.0, MPFR version 3.1.1, MPC version 1.0.1
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
ignoring nonexistent directory "/usr/lib/gcc/x86_64-redhat-linux/4.8.5/include-fixed"
ignoring nonexistent directory "/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../x86_64-redhat-linux/include"
ignoring duplicate directory "/usr/local/include"
  as it is a non-system directory that duplicates a system directory
#include "..." search starts here:
#include <...> search starts here:
 /usr/include/R
 ./libuv/include
 ./http-parser
 ./sha1
 ./base64
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/Rcpp/include
 /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../include/c++/4.8.5
 /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../include/c++/4.8.5/x86_64-redhat-linux
 /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../include/c++/4.8.5/backward
 /usr/lib/gcc/x86_64-redhat-linux/4.8.5/include
 /usr/local/include
 /usr/include
End of search list.
GNU C++ (GCC) version 4.8.5 20150623 (Red Hat 4.8.5-16) (x86_64-redhat-linux)
    compiled by GNU C version 4.8.5 20150623 (Red Hat 4.8.5-16), GMP version 6.0.0, MPFR version 3.1.1, MPC version 1.0.1
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
GNU assembler version 2.23.52.0.1 (x86_64-redhat-linux) using BFD version version 2.23.52.0.1-55.el7 20130226
Compiler executable checksum: 5a33fb4982a7d186bcafb6b36b3c0cf3
COMPILER_PATH=/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/:/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/:/usr/libexec/gcc/x86_64-redhat-linux/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/:/usr/lib/gcc/x86_64-redhat-linux/
LIBRARY_PATH=/usr/lib/gcc/x86_64-redhat-linux/4.8.5/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/:/lib/../lib64/:/usr/lib/../lib64/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../:/lib/:/usr/lib/
COLLECT_GCC_OPTIONS='-std=gnu++11' '-I' '/usr/include/R' '-D' 'NDEBUG' '-I' './libuv/include' '-I' './http-parser' '-I' './sha1' '-I' './base64' '-I' '/home/iv/R/x86_64-redhat-linux-gnu-library/3.4/Rcpp/include' '-I' '/usr/local/include' '-v' '-fpic' '-O2' '-g' '-pipe' '-Wall' '-fexceptions' '-fstack-protector-strong' '--param' 'ssp-buffer-size=4' '-grecord-gcc-switches' '-m64' '-mtune=generic' '-c' '-o' 'RcppExports.o' '-shared-libgcc' '-march=x86-64'
g++ -m64 -std=gnu++11 -I/usr/include/R -DNDEBUG -I./libuv/include -I./http-parser -I./sha1 -I./base64 -I"/home/iv/R/x86_64-redhat-linux-gnu-library/3.4/Rcpp/include" -I/usr/local/include -v   -fpic  -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches   -m64 -mtune=generic -c filedatasource-unix.cpp -o filedatasource-unix.o
Using built-in specs.
COLLECT_GCC=g++
Target: x86_64-redhat-linux
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-linker-hash-style=gnu --enable-languages=c,c++,objc,obj-c++,java,fortran,ada,go,lto --enable-plugin --enable-initfini-array --disable-libgcj --with-isl=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/isl-install --with-cloog=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/cloog-install --enable-gnu-indirect-function --with-tune=generic --with-arch_32=x86-64 --build=x86_64-redhat-linux
Thread model: posix
gcc version 4.8.5 20150623 (Red Hat 4.8.5-16) (GCC) 
COLLECT_GCC_OPTIONS='-std=gnu++11' '-I' '/usr/include/R' '-D' 'NDEBUG' '-I' './libuv/include' '-I' './http-parser' '-I' './sha1' '-I' './base64' '-I' '/home/iv/R/x86_64-redhat-linux-gnu-library/3.4/Rcpp/include' '-I' '/usr/local/include' '-v' '-fpic' '-O2' '-g' '-pipe' '-Wall' '-fexceptions' '-fstack-protector-strong' '--param' 'ssp-buffer-size=4' '-grecord-gcc-switches' '-m64' '-mtune=generic' '-c' '-o' 'filedatasource-unix.o' '-shared-libgcc' '-march=x86-64'
 /usr/libexec/gcc/x86_64-redhat-linux/4.8.5/cc1plus -quiet -v -I /usr/include/R -I ./libuv/include -I ./http-parser -I ./sha1 -I ./base64 -I /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/Rcpp/include -I /usr/local/include -D_GNU_SOURCE -D NDEBUG -D_FORTIFY_SOURCE=2 filedatasource-unix.cpp -quiet -dumpbase filedatasource-unix.cpp -m64 -mtune=generic -march=x86-64 -auxbase-strip filedatasource-unix.o -g -grecord-gcc-switches -O2 -Wall -std=gnu++11 -version -fpic -fexceptions -fstack-protector-strong --param ssp-buffer-size=4 -o - |
 as -v -I /usr/include/R -I ./libuv/include -I ./http-parser -I ./sha1 -I ./base64 -I /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/Rcpp/include -I /usr/local/include --64 -o filedatasource-unix.o
GNU assembler version 2.23.52.0.1 (x86_64-redhat-linux) using BFD version version 2.23.52.0.1-55.el7 20130226
GNU C++ (GCC) version 4.8.5 20150623 (Red Hat 4.8.5-16) (x86_64-redhat-linux)
    compiled by GNU C version 4.8.5 20150623 (Red Hat 4.8.5-16), GMP version 6.0.0, MPFR version 3.1.1, MPC version 1.0.1
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
ignoring nonexistent directory "/usr/lib/gcc/x86_64-redhat-linux/4.8.5/include-fixed"
ignoring nonexistent directory "/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../x86_64-redhat-linux/include"
ignoring duplicate directory "/usr/local/include"
  as it is a non-system directory that duplicates a system directory
#include "..." search starts here:
#include <...> search starts here:
 /usr/include/R
 ./libuv/include
 ./http-parser
 ./sha1
 ./base64
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/Rcpp/include
 /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../include/c++/4.8.5
 /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../include/c++/4.8.5/x86_64-redhat-linux
 /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../include/c++/4.8.5/backward
 /usr/lib/gcc/x86_64-redhat-linux/4.8.5/include
 /usr/local/include
 /usr/include
End of search list.
GNU C++ (GCC) version 4.8.5 20150623 (Red Hat 4.8.5-16) (x86_64-redhat-linux)
    compiled by GNU C version 4.8.5 20150623 (Red Hat 4.8.5-16), GMP version 6.0.0, MPFR version 3.1.1, MPC version 1.0.1
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
Compiler executable checksum: 5a33fb4982a7d186bcafb6b36b3c0cf3
In file included from ./libuv/include/uv.h:67:0,
                 from uvutil.h:6,
                 from filedatasource.h:4,
                 from filedatasource-unix.cpp:3:
./libuv/include/uv-private/uv-unix.h:101:28: error: ?sem_t? does not name a type
 # define UV_PLATFORM_SEM_T sem_t
                            ^
./libuv/include/uv-private/uv-unix.h:132:9: note: in expansion of macro ?UV_PLATFORM_SEM_T?
 typedef UV_PLATFORM_SEM_T uv_sem_t;
         ^
In file included from uvutil.h:6:0,
                 from filedatasource.h:4,
                 from filedatasource-unix.cpp:3:
./libuv/include/uv.h:1893:27: error: ?uv_sem_t? was not declared in this scope
 UV_EXTERN int uv_sem_init(uv_sem_t* sem, unsigned int value);
                           ^
./libuv/include/uv.h:1893:37: error: ?sem? was not declared in this scope
 UV_EXTERN int uv_sem_init(uv_sem_t* sem, unsigned int value);
                                     ^
./libuv/include/uv.h:1893:42: error: expected primary-expression before ?unsigned?
 UV_EXTERN int uv_sem_init(uv_sem_t* sem, unsigned int value);
                                          ^
./libuv/include/uv.h:1893:60: error: expression list treated as compound expression in initializer [-fpermissive]
 UV_EXTERN int uv_sem_init(uv_sem_t* sem, unsigned int value);
                                                            ^
./libuv/include/uv.h:1894:31: error: variable or field ?uv_sem_destroy? declared void
 UV_EXTERN void uv_sem_destroy(uv_sem_t* sem);
                               ^
./libuv/include/uv.h:1894:31: error: ?uv_sem_t? was not declared in this scope
./libuv/include/uv.h:1894:41: error: ?sem? was not declared in this scope
 UV_EXTERN void uv_sem_destroy(uv_sem_t* sem);
                                         ^
./libuv/include/uv.h:1895:28: error: variable or field ?uv_sem_post? declared void
 UV_EXTERN void uv_sem_post(uv_sem_t* sem);
                            ^
./libuv/include/uv.h:1895:28: error: ?uv_sem_t? was not declared in this scope
./libuv/include/uv.h:1895:38: error: ?sem? was not declared in this scope
 UV_EXTERN void uv_sem_post(uv_sem_t* sem);
                                      ^
./libuv/include/uv.h:1896:28: error: variable or field ?uv_sem_wait? declared void
 UV_EXTERN void uv_sem_wait(uv_sem_t* sem);
                            ^
./libuv/include/uv.h:1896:28: error: ?uv_sem_t? was not declared in this scope
./libuv/include/uv.h:1896:38: error: ?sem? was not declared in this scope
 UV_EXTERN void uv_sem_wait(uv_sem_t* sem);
                                      ^
./libuv/include/uv.h:1897:30: error: ?uv_sem_t? was not declared in this scope
 UV_EXTERN int uv_sem_trywait(uv_sem_t* sem);
                              ^
./libuv/include/uv.h:1897:40: error: ?sem? was not declared in this scope
 UV_EXTERN int uv_sem_trywait(uv_sem_t* sem);
                                        ^
make: *** [filedatasource-unix.o] Error 1
ERROR: compilation failed for package ?httpuv?
* removing ?/home/iv/R/x86_64-redhat-linux-gnu-library/3.4/httpuv?
Warning in install.packages :
  installation of package ?httpuv? had non-zero exit status

The downloaded source packages are in
    ?/tmp/RtmpzDxAb3/downloaded_packages?
ivlachos commented 6 years ago

And the second:

Downloading GitHub repo rstudio/httpuv@wch-temp-headers
from URL https://api.github.com/repos/rstudio/httpuv/zipball/wch-temp-headers
Installing httpuv
'/usr/lib64/R/bin/R' --no-site-file --no-environ --no-save --no-restore --quiet CMD INSTALL  \
  '/tmp/RtmpzDxAb3/devtools9b947821c934/rstudio-httpuv-ddfee29' --library='/home/iv/R/x86_64-redhat-linux-gnu-library/3.4' --install-tests 

* installing *source* package ?httpuv? ...
** libs
g++ -m64 -std=gnu++11 -I/usr/include/R -DNDEBUG -I./libuv/include -I./http-parser -I./sha1 -I./base64 -fvisibility=hidden -I"/home/iv/R/x86_64-redhat-linux-gnu-library/3.4/Rcpp/include" -I"/home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include" -I"/home/iv/R/x86_64-redhat-linux-gnu-library/3.4/later/include" -I/usr/local/include   -fpic  -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches   -m64 -mtune=generic -c RcppExports-legacy.cpp -o RcppExports-legacy.o
g++ -m64 -std=gnu++11 -I/usr/include/R -DNDEBUG -I./libuv/include -I./http-parser -I./sha1 -I./base64 -fvisibility=hidden -I"/home/iv/R/x86_64-redhat-linux-gnu-library/3.4/Rcpp/include" -I"/home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include" -I"/home/iv/R/x86_64-redhat-linux-gnu-library/3.4/later/include" -I/usr/local/include   -fpic  -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches   -m64 -mtune=generic -c RcppExports.cpp -o RcppExports.o
g++ -m64 -std=gnu++11 -I/usr/include/R -DNDEBUG -I./libuv/include -I./http-parser -I./sha1 -I./base64 -fvisibility=hidden -I"/home/iv/R/x86_64-redhat-linux-gnu-library/3.4/Rcpp/include" -I"/home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include" -I"/home/iv/R/x86_64-redhat-linux-gnu-library/3.4/later/include" -I/usr/local/include   -fpic  -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches   -m64 -mtune=generic -c callback.cpp -o callback.o
g++ -m64 -std=gnu++11 -I/usr/include/R -DNDEBUG -I./libuv/include -I./http-parser -I./sha1 -I./base64 -fvisibility=hidden -I"/home/iv/R/x86_64-redhat-linux-gnu-library/3.4/Rcpp/include" -I"/home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include" -I"/home/iv/R/x86_64-redhat-linux-gnu-library/3.4/later/include" -I/usr/local/include   -fpic  -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches   -m64 -mtune=generic -c callbackqueue.cpp -o callbackqueue.o
In file included from ./libuv/include/uv.h:62:0,
                 from thread.h:4,
                 from queue.h:7,
                 from callbackqueue.h:4,
                 from callbackqueue.cpp:1:
./libuv/include/uv-unix.h:104:28: error: ?sem_t? does not name a type
 # define UV_PLATFORM_SEM_T sem_t
                            ^
./libuv/include/uv-unix.h:136:9: note: in expansion of macro ?UV_PLATFORM_SEM_T?
 typedef UV_PLATFORM_SEM_T uv_sem_t;
         ^
In file included from thread.h:4:0,
                 from queue.h:7,
                 from callbackqueue.h:4,
                 from callbackqueue.cpp:1:
./libuv/include/uv.h:1461:27: error: ?uv_sem_t? was not declared in this scope
 UV_EXTERN int uv_sem_init(uv_sem_t* sem, unsigned int value);
                           ^
./libuv/include/uv.h:1461:37: error: ?sem? was not declared in this scope
 UV_EXTERN int uv_sem_init(uv_sem_t* sem, unsigned int value);
                                     ^
./libuv/include/uv.h:1461:42: error: expected primary-expression before ?unsigned?
 UV_EXTERN int uv_sem_init(uv_sem_t* sem, unsigned int value);
                                          ^
./libuv/include/uv.h:1461:60: error: expression list treated as compound expression in initializer [-fpermissive]
 UV_EXTERN int uv_sem_init(uv_sem_t* sem, unsigned int value);
                                                            ^
./libuv/include/uv.h:1462:31: error: variable or field ?uv_sem_destroy? declared void
 UV_EXTERN void uv_sem_destroy(uv_sem_t* sem);
                               ^
./libuv/include/uv.h:1462:31: error: ?uv_sem_t? was not declared in this scope
./libuv/include/uv.h:1462:41: error: ?sem? was not declared in this scope
 UV_EXTERN void uv_sem_destroy(uv_sem_t* sem);
                                         ^
./libuv/include/uv.h:1463:28: error: variable or field ?uv_sem_post? declared void
 UV_EXTERN void uv_sem_post(uv_sem_t* sem);
                            ^
./libuv/include/uv.h:1463:28: error: ?uv_sem_t? was not declared in this scope
./libuv/include/uv.h:1463:38: error: ?sem? was not declared in this scope
 UV_EXTERN void uv_sem_post(uv_sem_t* sem);
                                      ^
./libuv/include/uv.h:1464:28: error: variable or field ?uv_sem_wait? declared void
 UV_EXTERN void uv_sem_wait(uv_sem_t* sem);
                            ^
./libuv/include/uv.h:1464:28: error: ?uv_sem_t? was not declared in this scope
./libuv/include/uv.h:1464:38: error: ?sem? was not declared in this scope
 UV_EXTERN void uv_sem_wait(uv_sem_t* sem);
                                      ^
./libuv/include/uv.h:1465:30: error: ?uv_sem_t? was not declared in this scope
 UV_EXTERN int uv_sem_trywait(uv_sem_t* sem);
                              ^
./libuv/include/uv.h:1465:40: error: ?sem? was not declared in this scope
 UV_EXTERN int uv_sem_trywait(uv_sem_t* sem);
                                        ^
make: *** [callbackqueue.o] Error 1
ERROR: compilation failed for package ?httpuv?
* removing ?/home/iv/R/x86_64-redhat-linux-gnu-library/3.4/httpuv?
Installation failed: Command failed (1)
wch commented 6 years ago

Can you run this again? It compiled the files in a different order from what I was expecting, so it didn't print out the includes because it errored out first. I changed it slightly so it should work for you:

devtools::install_github('rstudio/httpuv@wch-temp-headers')
ivlachos commented 6 years ago

Sure,

Downloading GitHub repo rstudio/httpuv@wch-temp-headers
from URL https://api.github.com/repos/rstudio/httpuv/zipball/wch-temp-headers
Installing httpuv
'/usr/lib64/R/bin/R' --no-site-file --no-environ --no-save --no-restore --quiet CMD INSTALL  \
  '/tmp/RtmpzDxAb3/devtools9b9433afd79b/rstudio-httpuv-0ef8a27' --library='/home/iv/R/x86_64-redhat-linux-gnu-library/3.4' --install-tests 

* installing *source* package ?httpuv? ...
** libs
g++ -m64 -std=gnu++11 -I/usr/include/R -DNDEBUG -I./libuv/include -I./http-parser -I./sha1 -I./base64 -fvisibility=hidden -I"/home/iv/R/x86_64-redhat-linux-gnu-library/3.4/Rcpp/include" -I"/home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include" -I"/home/iv/R/x86_64-redhat-linux-gnu-library/3.4/later/include" -I/usr/local/include   -fpic  -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches   -m64 -mtune=generic -c RcppExports-legacy.cpp -o RcppExports-legacy.o
g++ -m64 -std=gnu++11 -I/usr/include/R -DNDEBUG -I./libuv/include -I./http-parser -I./sha1 -I./base64 -fvisibility=hidden -I"/home/iv/R/x86_64-redhat-linux-gnu-library/3.4/Rcpp/include" -I"/home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include" -I"/home/iv/R/x86_64-redhat-linux-gnu-library/3.4/later/include" -I/usr/local/include   -fpic  -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches   -m64 -mtune=generic -c RcppExports.cpp -o RcppExports.o
g++ -m64 -std=gnu++11 -I/usr/include/R -DNDEBUG -I./libuv/include -I./http-parser -I./sha1 -I./base64 -fvisibility=hidden -I"/home/iv/R/x86_64-redhat-linux-gnu-library/3.4/Rcpp/include" -I"/home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include" -I"/home/iv/R/x86_64-redhat-linux-gnu-library/3.4/later/include" -I/usr/local/include   -fpic  -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches   -m64 -mtune=generic -c callback.cpp -o callback.o
g++ -m64 -std=gnu++11 -I/usr/include/R -DNDEBUG -I./libuv/include -I./http-parser -I./sha1 -I./base64 -fvisibility=hidden -I"/home/iv/R/x86_64-redhat-linux-gnu-library/3.4/Rcpp/include" -I"/home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include" -I"/home/iv/R/x86_64-redhat-linux-gnu-library/3.4/later/include" -I/usr/local/include   -fpic  -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches   -m64 -mtune=generic -c -M callbackqueue.cpp
callbackqueue.o: callbackqueue.cpp /usr/include/stdc-predef.h \
 callbackqueue.h queue.h /usr/include/c++/4.8.2/queue \
 /usr/include/c++/4.8.2/deque /usr/include/c++/4.8.2/bits/stl_algobase.h \
 /usr/include/c++/4.8.2/x86_64-redhat-linux/bits/c++config.h \
 /usr/include/bits/wordsize.h \
 /usr/include/c++/4.8.2/x86_64-redhat-linux/bits/os_defines.h \
 /usr/include/features.h /usr/include/sys/cdefs.h \
 /usr/include/gnu/stubs.h /usr/include/gnu/stubs-64.h \
 /usr/include/c++/4.8.2/x86_64-redhat-linux/bits/cpu_defines.h \
 /usr/include/c++/4.8.2/bits/functexcept.h \
 /usr/include/c++/4.8.2/bits/exception_defines.h \
 /usr/include/c++/4.8.2/bits/cpp_type_traits.h \
 /usr/include/c++/4.8.2/ext/type_traits.h \
 /usr/include/c++/4.8.2/ext/numeric_traits.h \
 /usr/include/c++/4.8.2/bits/stl_pair.h \
 /usr/include/c++/4.8.2/bits/move.h \
 /usr/include/c++/4.8.2/bits/concept_check.h \
 /usr/include/c++/4.8.2/type_traits \
 /usr/include/c++/4.8.2/bits/stl_iterator_base_types.h \
 /usr/include/c++/4.8.2/bits/stl_iterator_base_funcs.h \
 /usr/include/c++/4.8.2/debug/debug.h \
 /usr/include/c++/4.8.2/bits/stl_iterator.h \
 /usr/include/c++/4.8.2/bits/allocator.h \
 /usr/include/c++/4.8.2/x86_64-redhat-linux/bits/c++allocator.h \
 /usr/include/c++/4.8.2/ext/new_allocator.h /usr/include/c++/4.8.2/new \
 /usr/include/c++/4.8.2/exception \
 /usr/include/c++/4.8.2/bits/atomic_lockfree_defines.h \
 /usr/include/c++/4.8.2/bits/exception_ptr.h \
 /usr/include/c++/4.8.2/bits/nested_exception.h \
 /usr/include/c++/4.8.2/bits/memoryfwd.h \
 /usr/include/c++/4.8.2/bits/stl_construct.h \
 /usr/include/c++/4.8.2/ext/alloc_traits.h \
 /usr/include/c++/4.8.2/bits/alloc_traits.h \
 /usr/include/c++/4.8.2/bits/ptr_traits.h \
 /usr/include/c++/4.8.2/bits/stl_uninitialized.h \
 /usr/include/c++/4.8.2/bits/stl_deque.h \
 /usr/include/c++/4.8.2/initializer_list \
 /usr/include/c++/4.8.2/bits/range_access.h \
 /usr/include/c++/4.8.2/bits/deque.tcc /usr/include/c++/4.8.2/vector \
 /usr/include/c++/4.8.2/bits/stl_vector.h \
 /usr/include/c++/4.8.2/bits/stl_bvector.h \
 /usr/include/c++/4.8.2/bits/functional_hash.h \
 /usr/include/c++/4.8.2/bits/hash_bytes.h \
 /usr/include/c++/4.8.2/bits/vector.tcc \
 /usr/include/c++/4.8.2/bits/stl_heap.h \
 /usr/include/c++/4.8.2/bits/stl_function.h \
 /usr/include/c++/4.8.2/backward/binders.h \
 /usr/include/c++/4.8.2/bits/stl_queue.h thread.h libuv/include/uv.h \
 libuv/include/uv-errno.h /usr/include/errno.h /usr/include/bits/errno.h \
 /usr/include/linux/errno.h /usr/include/asm/errno.h \
 /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
 libuv/include/uv-version.h \
 /usr/lib/gcc/x86_64-redhat-linux/4.8.5/include/stddef.h \
 /usr/include/stdio.h /usr/include/bits/types.h \
 /usr/include/bits/typesizes.h /usr/include/libio.h \
 /usr/include/_G_config.h /usr/include/wchar.h \
 /usr/lib/gcc/x86_64-redhat-linux/4.8.5/include/stdarg.h \
 /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
 /usr/include/bits/stdio.h /usr/include/bits/stdio2.h \
 /usr/lib/gcc/x86_64-redhat-linux/4.8.5/include/stdint.h \
 /usr/include/stdint.h /usr/include/bits/wchar.h libuv/include/uv-unix.h \
 /usr/include/sys/types.h /usr/include/time.h /usr/include/endian.h \
 /usr/include/bits/endian.h /usr/include/bits/byteswap.h \
 /usr/include/bits/byteswap-16.h /usr/include/sys/select.h \
 /usr/include/bits/select.h /usr/include/bits/sigset.h \
 /usr/include/bits/time.h /usr/include/bits/select2.h \
 /usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h \
 /usr/include/sys/stat.h /usr/include/bits/stat.h /usr/include/fcntl.h \
 /usr/include/bits/fcntl.h /usr/include/bits/fcntl-linux.h \
 /usr/include/bits/uio.h /usr/include/bits/fcntl2.h /usr/include/dirent.h \
 /usr/include/bits/dirent.h /usr/include/bits/posix1_lim.h \
 /usr/include/bits/local_lim.h /usr/include/linux/limits.h \
 /usr/include/sys/socket.h /usr/include/sys/uio.h \
 /usr/include/bits/socket.h /usr/include/bits/socket_type.h \
 /usr/include/bits/sockaddr.h /usr/include/asm/socket.h \
 /usr/include/asm-generic/socket.h /usr/include/asm/sockios.h \
 /usr/include/asm-generic/sockios.h /usr/include/bits/socket2.h \
 /usr/include/netinet/in.h /usr/include/bits/in.h \
 /usr/include/netinet/tcp.h /usr/include/arpa/inet.h /usr/include/netdb.h \
 /usr/include/rpc/netdb.h /usr/include/bits/siginfo.h \
 /usr/include/bits/netdb.h /usr/include/termios.h \
 /usr/include/bits/termios.h /usr/include/sys/ttydefaults.h \
 /usr/include/pwd.h /usr/local/include/semaphore.h /usr/include/pthread.h \
 /usr/include/sched.h /usr/include/bits/sched.h /usr/include/bits/timex.h \
 /usr/include/xlocale.h /usr/include/bits/setjmp.h /usr/include/signal.h \
 /usr/include/bits/signum.h /usr/include/bits/sigaction.h \
 /usr/include/bits/sigcontext.h /usr/include/bits/sigstack.h \
 /usr/include/sys/ucontext.h /usr/include/bits/sigthread.h \
 libuv/include/uv-threadpool.h libuv/include/uv-linux.h \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/function.hpp \
 /usr/include/c++/4.8.2/functional /usr/include/c++/4.8.2/typeinfo \
 /usr/include/c++/4.8.2/tuple /usr/include/c++/4.8.2/utility \
 /usr/include/c++/4.8.2/bits/stl_relops.h /usr/include/c++/4.8.2/array \
 /usr/include/c++/4.8.2/stdexcept /usr/include/c++/4.8.2/string \
 /usr/include/c++/4.8.2/bits/stringfwd.h \
 /usr/include/c++/4.8.2/bits/char_traits.h \
 /usr/include/c++/4.8.2/bits/postypes.h /usr/include/c++/4.8.2/cwchar \
 /usr/include/bits/wchar2.h /usr/include/c++/4.8.2/cstdint \
 /usr/include/c++/4.8.2/bits/localefwd.h \
 /usr/include/c++/4.8.2/x86_64-redhat-linux/bits/c++locale.h \
 /usr/include/c++/4.8.2/clocale /usr/include/locale.h \
 /usr/include/bits/locale.h /usr/include/c++/4.8.2/iosfwd \
 /usr/include/c++/4.8.2/cctype /usr/include/ctype.h \
 /usr/include/c++/4.8.2/bits/ostream_insert.h \
 /usr/include/c++/4.8.2/bits/cxxabi_forced.h \
 /usr/include/c++/4.8.2/bits/basic_string.h \
 /usr/include/c++/4.8.2/ext/atomicity.h \
 /usr/include/c++/4.8.2/x86_64-redhat-linux/bits/gthr.h \
 /usr/include/c++/4.8.2/x86_64-redhat-linux/bits/gthr-default.h \
 /usr/include/c++/4.8.2/x86_64-redhat-linux/bits/atomic_word.h \
 /usr/include/c++/4.8.2/ext/string_conversions.h \
 /usr/include/c++/4.8.2/cstdlib /usr/include/stdlib.h \
 /usr/include/bits/waitflags.h /usr/include/bits/waitstatus.h \
 /usr/include/alloca.h /usr/include/bits/stdlib-float.h \
 /usr/include/bits/stdlib.h /usr/include/c++/4.8.2/cstdio \
 /usr/include/c++/4.8.2/cerrno \
 /usr/include/c++/4.8.2/bits/basic_string.tcc \
 /usr/include/c++/4.8.2/bits/uses_allocator.h \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/preprocessor/iterate.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/preprocessor/iteration/iterate.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/preprocessor/arithmetic/dec.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/preprocessor/config/config.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/preprocessor/arithmetic/inc.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/preprocessor/array/elem.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/preprocessor/array/data.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/preprocessor/tuple/elem.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/preprocessor/cat.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/preprocessor/facilities/expand.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/preprocessor/facilities/overload.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/preprocessor/variadic/size.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/preprocessor/tuple/rem.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/preprocessor/tuple/detail/is_single_return.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/preprocessor/variadic/elem.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/preprocessor/array/size.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/preprocessor/slot/slot.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/preprocessor/slot/detail/def.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/detail/workaround.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/config/workaround.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/config.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/config/user.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/config/detail/select_compiler_config.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/config/compiler/gcc.hpp \
 /usr/include/c++/4.8.2/cstddef \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/config/detail/select_stdlib_config.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/config/stdlib/libstdcpp3.hpp \
 /usr/include/unistd.h /usr/include/bits/posix_opt.h \
 /usr/include/bits/environments.h /usr/include/bits/confname.h \
 /usr/include/getopt.h /usr/include/bits/unistd.h \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/config/detail/select_platform_config.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/config/platform/linux.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/config/detail/posix_features.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/config/detail/suffix.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/function/detail/prologue.hpp \
 /usr/include/c++/4.8.2/cassert /usr/include/assert.h \
 /usr/include/c++/4.8.2/algorithm /usr/include/c++/4.8.2/bits/stl_algo.h \
 /usr/include/c++/4.8.2/bits/algorithmfwd.h \
 /usr/include/c++/4.8.2/bits/stl_tempbuf.h /usr/include/c++/4.8.2/random \
 /usr/include/c++/4.8.2/cmath /usr/include/math.h \
 /usr/include/bits/huge_val.h /usr/include/bits/huge_valf.h \
 /usr/include/bits/huge_vall.h /usr/include/bits/inf.h \
 /usr/include/bits/nan.h /usr/include/bits/mathdef.h \
 /usr/include/bits/mathcalls.h /usr/include/bits/mathinline.h \
 /usr/include/c++/4.8.2/limits /usr/include/c++/4.8.2/bits/random.h \
 /usr/include/c++/4.8.2/x86_64-redhat-linux/bits/opt_random.h \
 /usr/lib/gcc/x86_64-redhat-linux/4.8.5/include/x86intrin.h \
 /usr/lib/gcc/x86_64-redhat-linux/4.8.5/include/ia32intrin.h \
 /usr/lib/gcc/x86_64-redhat-linux/4.8.5/include/mmintrin.h \
 /usr/lib/gcc/x86_64-redhat-linux/4.8.5/include/xmmintrin.h \
 /usr/lib/gcc/x86_64-redhat-linux/4.8.5/include/mm_malloc.h \
 /usr/lib/gcc/x86_64-redhat-linux/4.8.5/include/emmintrin.h \
 /usr/lib/gcc/x86_64-redhat-linux/4.8.5/include/immintrin.h \
 /usr/lib/gcc/x86_64-redhat-linux/4.8.5/include/fxsrintrin.h \
 /usr/lib/gcc/x86_64-redhat-linux/4.8.5/include/adxintrin.h \
 /usr/include/c++/4.8.2/bits/random.tcc /usr/include/c++/4.8.2/numeric \
 /usr/include/c++/4.8.2/bits/stl_numeric.h \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/config/no_tr1/functional.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/throw_exception.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/exception/exception.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/current_function.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/function/function_base.hpp \
 /usr/include/c++/4.8.2/memory \
 /usr/include/c++/4.8.2/bits/stl_raw_storage_iter.h \
 /usr/include/c++/4.8.2/ext/concurrence.h \
 /usr/include/c++/4.8.2/bits/unique_ptr.h \
 /usr/include/c++/4.8.2/bits/shared_ptr.h \
 /usr/include/c++/4.8.2/bits/shared_ptr_base.h \
 /usr/include/c++/4.8.2/backward/auto_ptr.h \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/assert.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/integer.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/integer_fwd.hpp \
 /usr/include/c++/4.8.2/climits \
 /usr/lib/gcc/x86_64-redhat-linux/4.8.5/include/limits.h \
 /usr/lib/gcc/x86_64-redhat-linux/4.8.5/include/syslimits.h \
 /usr/include/limits.h /usr/include/bits/posix2_lim.h \
 /usr/include/bits/xopen_lim.h \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/limits.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/cstdint.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/integer_traits.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/static_assert.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/type_index.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/type_index/stl_type_index.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/type_index/type_index_facade.hpp \
 /usr/include/c++/4.8.2/cstring /usr/include/string.h \
 /usr/include/bits/string3.h \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/core/demangle.hpp \
 /usr/include/c++/4.8.2/cxxabi.h \
 /usr/include/c++/4.8.2/x86_64-redhat-linux/bits/cxxabi_tweaks.h \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/type_traits/is_const.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/type_traits/integral_constant.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/type_traits/is_reference.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/type_traits/is_lvalue_reference.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/type_traits/is_rvalue_reference.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/type_traits/is_volatile.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/type_traits/remove_cv.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/type_traits/remove_reference.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/mpl/if.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/mpl/aux_/value_wknd.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/mpl/aux_/static_cast.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/mpl/aux_/config/workaround.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/mpl/aux_/config/integral.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/mpl/aux_/config/msvc.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/mpl/aux_/config/eti.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/mpl/aux_/na_spec.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/mpl/lambda_fwd.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/mpl/void_fwd.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/mpl/aux_/adl_barrier.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/mpl/aux_/config/adl.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/mpl/aux_/config/intel.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/mpl/aux_/config/gcc.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/mpl/aux_/na.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/mpl/bool.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/mpl/bool_fwd.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/mpl/integral_c_tag.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/mpl/aux_/config/static_constant.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/mpl/aux_/na_fwd.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/mpl/aux_/config/ctps.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/mpl/aux_/config/lambda.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/mpl/aux_/config/ttp.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/mpl/int.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/mpl/int_fwd.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/mpl/aux_/nttp_decl.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/mpl/aux_/config/nttp.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/mpl/aux_/integral_wrapper.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/mpl/aux_/lambda_arity_param.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/mpl/aux_/template_arity_fwd.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/mpl/aux_/arity.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/mpl/aux_/config/dtp.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/mpl/aux_/preprocessor/params.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/mpl/aux_/config/preprocessor.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/preprocessor/comma_if.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/preprocessor/punctuation/comma_if.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/preprocessor/control/if.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/preprocessor/control/iif.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/preprocessor/logical/bool.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/preprocessor/facilities/empty.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/preprocessor/punctuation/comma.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/preprocessor/repeat.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/preprocessor/repetition/repeat.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/preprocessor/debug/error.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/preprocessor/detail/auto_rec.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/preprocessor/tuple/eat.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/preprocessor/inc.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/mpl/aux_/preprocessor/enum.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/mpl/aux_/preprocessor/def_params_tail.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/mpl/limits/arity.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/preprocessor/logical/and.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/preprocessor/logical/bitand.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/preprocessor/identity.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/preprocessor/facilities/identity.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/preprocessor/empty.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/preprocessor/arithmetic/add.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/preprocessor/control/while.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/preprocessor/list/fold_left.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/preprocessor/list/detail/fold_left.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/preprocessor/control/expr_iif.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/preprocessor/list/adt.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/preprocessor/detail/is_binary.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/preprocessor/detail/check.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/preprocessor/logical/compl.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/preprocessor/list/fold_right.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/preprocessor/list/detail/fold_right.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/preprocessor/list/reverse.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/preprocessor/control/detail/while.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/preprocessor/arithmetic/sub.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/mpl/aux_/config/overload_resolution.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/mpl/aux_/lambda_support.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/mpl/or.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/mpl/aux_/config/use_preprocessed.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/mpl/aux_/nested_type_wknd.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/mpl/aux_/include_preprocessed.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/mpl/aux_/config/compiler.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/preprocessor/stringize.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/mpl/aux_/preprocessed/gcc/or.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/type_traits/has_trivial_copy.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/type_traits/intrinsics.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/type_traits/detail/config.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/version.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/type_traits/is_pod.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/type_traits/is_void.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/type_traits/is_scalar.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/type_traits/is_arithmetic.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/type_traits/is_integral.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/type_traits/is_floating_point.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/type_traits/is_enum.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/type_traits/is_pointer.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/type_traits/is_member_pointer.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/type_traits/is_member_function_pointer.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/type_traits/detail/is_mem_fun_pointer_impl.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/type_traits/has_trivial_destructor.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/type_traits/is_destructible.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/type_traits/detail/yes_no_type.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/type_traits/declval.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/type_traits/add_rvalue_reference.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/type_traits/composite_traits.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/type_traits/is_array.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/type_traits/is_union.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/ref.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/core/ref.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/core/addressof.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/type_traits/alignment_of.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/utility/enable_if.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/core/enable_if.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/function_equal.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/function/function_fwd.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/mem_fn.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/bind/mem_fn.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/get_pointer.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/config/no_tr1/memory.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/bind/mem_fn_template.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/bind/mem_fn_cc.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/preprocessor/enum.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/preprocessor/repetition/enum.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/preprocessor/enum_params.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/preprocessor/repetition/enum_params.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/preprocessor/iteration/detail/iter/forward1.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/preprocessor/slot/detail/shared.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/function/detail/function_iterate.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/function/detail/maybe_include.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/function/function_template.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/detail/no_exceptions_support.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/core/no_exceptions_support.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/move/utility_core.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/move/detail/config_begin.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/move/detail/workaround.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/move/core.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/move/detail/config_end.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/move/detail/meta_utils.hpp \
 /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/move/detail/meta_utils_core.hpp
g++ -m64 -std=gnu++11 -I/usr/include/R -DNDEBUG -I./libuv/include -I./http-parser -I./sha1 -I./base64 -fvisibility=hidden -I"/home/iv/R/x86_64-redhat-linux-gnu-library/3.4/Rcpp/include" -I"/home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include" -I"/home/iv/R/x86_64-redhat-linux-gnu-library/3.4/later/include" -I/usr/local/include   -fpic  -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches   -m64 -mtune=generic -c callbackqueue.cpp -o callbackqueue.o
In file included from ./libuv/include/uv.h:62:0,
                 from thread.h:4,
                 from queue.h:7,
                 from callbackqueue.h:4,
                 from callbackqueue.cpp:1:
./libuv/include/uv-unix.h:104:28: error: ?sem_t? does not name a type
 # define UV_PLATFORM_SEM_T sem_t
                            ^
./libuv/include/uv-unix.h:136:9: note: in expansion of macro ?UV_PLATFORM_SEM_T?
 typedef UV_PLATFORM_SEM_T uv_sem_t;
         ^
In file included from thread.h:4:0,
                 from queue.h:7,
                 from callbackqueue.h:4,
                 from callbackqueue.cpp:1:
./libuv/include/uv.h:1461:27: error: ?uv_sem_t? was not declared in this scope
 UV_EXTERN int uv_sem_init(uv_sem_t* sem, unsigned int value);
                           ^
./libuv/include/uv.h:1461:37: error: ?sem? was not declared in this scope
 UV_EXTERN int uv_sem_init(uv_sem_t* sem, unsigned int value);
                                     ^
./libuv/include/uv.h:1461:42: error: expected primary-expression before ?unsigned?
 UV_EXTERN int uv_sem_init(uv_sem_t* sem, unsigned int value);
                                          ^
./libuv/include/uv.h:1461:60: error: expression list treated as compound expression in initializer [-fpermissive]
 UV_EXTERN int uv_sem_init(uv_sem_t* sem, unsigned int value);
                                                            ^
./libuv/include/uv.h:1462:31: error: variable or field ?uv_sem_destroy? declared void
 UV_EXTERN void uv_sem_destroy(uv_sem_t* sem);
                               ^
./libuv/include/uv.h:1462:31: error: ?uv_sem_t? was not declared in this scope
./libuv/include/uv.h:1462:41: error: ?sem? was not declared in this scope
 UV_EXTERN void uv_sem_destroy(uv_sem_t* sem);
                                         ^
./libuv/include/uv.h:1463:28: error: variable or field ?uv_sem_post? declared void
 UV_EXTERN void uv_sem_post(uv_sem_t* sem);
                            ^
./libuv/include/uv.h:1463:28: error: ?uv_sem_t? was not declared in this scope
./libuv/include/uv.h:1463:38: error: ?sem? was not declared in this scope
 UV_EXTERN void uv_sem_post(uv_sem_t* sem);
                                      ^
./libuv/include/uv.h:1464:28: error: variable or field ?uv_sem_wait? declared void
 UV_EXTERN void uv_sem_wait(uv_sem_t* sem);
                            ^
./libuv/include/uv.h:1464:28: error: ?uv_sem_t? was not declared in this scope
./libuv/include/uv.h:1464:38: error: ?sem? was not declared in this scope
 UV_EXTERN void uv_sem_wait(uv_sem_t* sem);
                                      ^
./libuv/include/uv.h:1465:30: error: ?uv_sem_t? was not declared in this scope
 UV_EXTERN int uv_sem_trywait(uv_sem_t* sem);
                              ^
./libuv/include/uv.h:1465:40: error: ?sem? was not declared in this scope
 UV_EXTERN int uv_sem_trywait(uv_sem_t* sem);
                                        ^
make: *** [callbackqueue.o] Error 1
ERROR: compilation failed for package ?httpuv?
* removing ?/home/iv/R/x86_64-redhat-linux-gnu-library/3.4/httpuv?
Installation failed: Command failed (1)
wch commented 6 years ago

On my phone now so I can't go into detail, but it looks like it's picking up semaphore.h from /usr/local/include, so that was probably installed by... something. At any rate, that's probably the source of the problem. I can add more info later.

On Thu, Mar 8, 2018 at 4:26 PM ivlachos notifications@github.com wrote:

Sure,

Downloading GitHub repo rstudio/httpuv@wch-temp-headers from URL https://api.github.com/repos/rstudio/httpuv/zipball/wch-temp-headers

Installing httpuv '/usr/lib64/R/bin/R' --no-site-file --no-environ --no-save --no-restore --quiet CMD INSTALL \ '/tmp/RtmpzDxAb3/devtools9b9433afd79b/rstudio-httpuv-0ef8a27' --library='/home/iv/R/x86_64-redhat-linux-gnu-library/3.4' --install-tests

  • installing source package ?httpuv? ... ** libs g++ -m64 -std=gnu++11 -I/usr/include/R -DNDEBUG -I./libuv/include -I./http-parser -I./sha1 -I./base64 -fvisibility=hidden -I"/home/iv/R/x86_64-redhat-linux-gnu-library/3.4/Rcpp/include" -I"/home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include" -I"/home/iv/R/x86_64-redhat-linux-gnu-library/3.4/later/include" -I/usr/local/include -fpic -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -c RcppExports-legacy.cpp -o RcppExports-legacy.o g++ -m64 -std=gnu++11 -I/usr/include/R -DNDEBUG -I./libuv/include -I./http-parser -I./sha1 -I./base64 -fvisibility=hidden -I"/home/iv/R/x86_64-redhat-linux-gnu-library/3.4/Rcpp/include" -I"/home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include" -I"/home/iv/R/x86_64-redhat-linux-gnu-library/3.4/later/include" -I/usr/local/include -fpic -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -c RcppExports.cpp -o RcppExports.o g++ -m64 -std=gnu++11 -I/usr/include/R -DNDEBUG -I./libuv/include -I./http-parser -I./sha1 -I./base64 -fvisibility=hidden -I"/home/iv/R/x86_64-redhat-linux-gnu-library/3.4/Rcpp/include" -I"/home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include" -I"/home/iv/R/x86_64-redhat-linux-gnu-library/3.4/later/include" -I/usr/local/include -fpic -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -c callback.cpp -o callback.o g++ -m64 -std=gnu++11 -I/usr/include/R -DNDEBUG -I./libuv/include -I./http-parser -I./sha1 -I./base64 -fvisibility=hidden -I"/home/iv/R/x86_64-redhat-linux-gnu-library/3.4/Rcpp/include" -I"/home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include" -I"/home/iv/R/x86_64-redhat-linux-gnu-library/3.4/later/include" -I/usr/local/include -fpic -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -c -M callbackqueue.cpp callbackqueue.o: callbackqueue.cpp /usr/include/stdc-predef.h \ callbackqueue.h queue.h /usr/include/c++/4.8.2/queue \ /usr/include/c++/4.8.2/deque /usr/include/c++/4.8.2/bits/stl_algobase.h \ /usr/include/c++/4.8.2/x86_64-redhat-linux/bits/c++config.h \ /usr/include/bits/wordsize.h \ /usr/include/c++/4.8.2/x86_64-redhat-linux/bits/os_defines.h \ /usr/include/features.h /usr/include/sys/cdefs.h \ /usr/include/gnu/stubs.h /usr/include/gnu/stubs-64.h \ /usr/include/c++/4.8.2/x86_64-redhat-linux/bits/cpu_defines.h \ /usr/include/c++/4.8.2/bits/functexcept.h \ /usr/include/c++/4.8.2/bits/exception_defines.h \ /usr/include/c++/4.8.2/bits/cpp_type_traits.h \ /usr/include/c++/4.8.2/ext/type_traits.h \ /usr/include/c++/4.8.2/ext/numeric_traits.h \ /usr/include/c++/4.8.2/bits/stl_pair.h \ /usr/include/c++/4.8.2/bits/move.h \ /usr/include/c++/4.8.2/bits/concept_check.h \ /usr/include/c++/4.8.2/type_traits \ /usr/include/c++/4.8.2/bits/stl_iterator_base_types.h \ /usr/include/c++/4.8.2/bits/stl_iterator_base_funcs.h \ /usr/include/c++/4.8.2/debug/debug.h \ /usr/include/c++/4.8.2/bits/stl_iterator.h \ /usr/include/c++/4.8.2/bits/allocator.h \ /usr/include/c++/4.8.2/x86_64-redhat-linux/bits/c++allocator.h \ /usr/include/c++/4.8.2/ext/new_allocator.h /usr/include/c++/4.8.2/new \ /usr/include/c++/4.8.2/exception \ /usr/include/c++/4.8.2/bits/atomic_lockfree_defines.h \ /usr/include/c++/4.8.2/bits/exception_ptr.h \ /usr/include/c++/4.8.2/bits/nested_exception.h \ /usr/include/c++/4.8.2/bits/memoryfwd.h \ /usr/include/c++/4.8.2/bits/stl_construct.h \ /usr/include/c++/4.8.2/ext/alloc_traits.h \ /usr/include/c++/4.8.2/bits/alloc_traits.h \ /usr/include/c++/4.8.2/bits/ptr_traits.h \ /usr/include/c++/4.8.2/bits/stl_uninitialized.h \ /usr/include/c++/4.8.2/bits/stl_deque.h \ /usr/include/c++/4.8.2/initializer_list \ /usr/include/c++/4.8.2/bits/range_access.h \ /usr/include/c++/4.8.2/bits/deque.tcc /usr/include/c++/4.8.2/vector \ /usr/include/c++/4.8.2/bits/stl_vector.h \ /usr/include/c++/4.8.2/bits/stl_bvector.h \ /usr/include/c++/4.8.2/bits/functional_hash.h \ /usr/include/c++/4.8.2/bits/hash_bytes.h \ /usr/include/c++/4.8.2/bits/vector.tcc \ /usr/include/c++/4.8.2/bits/stl_heap.h \ /usr/include/c++/4.8.2/bits/stl_function.h \ /usr/include/c++/4.8.2/backward/binders.h \ /usr/include/c++/4.8.2/bits/stl_queue.h thread.h libuv/include/uv.h \ libuv/include/uv-errno.h /usr/include/errno.h /usr/include/bits/errno.h \ /usr/include/linux/errno.h /usr/include/asm/errno.h \ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ libuv/include/uv-version.h \ /usr/lib/gcc/x86_64-redhat-linux/4.8.5/include/stddef.h \ /usr/include/stdio.h /usr/include/bits/types.h \ /usr/include/bits/typesizes.h /usr/include/libio.h \ /usr/include/_G_config.h /usr/include/wchar.h \ /usr/lib/gcc/x86_64-redhat-linux/4.8.5/include/stdarg.h \ /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ /usr/include/bits/stdio.h /usr/include/bits/stdio2.h \ /usr/lib/gcc/x86_64-redhat-linux/4.8.5/include/stdint.h \ /usr/include/stdint.h /usr/include/bits/wchar.h libuv/include/uv-unix.h \ /usr/include/sys/types.h /usr/include/time.h /usr/include/endian.h \ /usr/include/bits/endian.h /usr/include/bits/byteswap.h \ /usr/include/bits/byteswap-16.h /usr/include/sys/select.h \ /usr/include/bits/select.h /usr/include/bits/sigset.h \ /usr/include/bits/time.h /usr/include/bits/select2.h \ /usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h \ /usr/include/sys/stat.h /usr/include/bits/stat.h /usr/include/fcntl.h \ /usr/include/bits/fcntl.h /usr/include/bits/fcntl-linux.h \ /usr/include/bits/uio.h /usr/include/bits/fcntl2.h /usr/include/dirent.h \ /usr/include/bits/dirent.h /usr/include/bits/posix1_lim.h \ /usr/include/bits/local_lim.h /usr/include/linux/limits.h \ /usr/include/sys/socket.h /usr/include/sys/uio.h \ /usr/include/bits/socket.h /usr/include/bits/socket_type.h \ /usr/include/bits/sockaddr.h /usr/include/asm/socket.h \ /usr/include/asm-generic/socket.h /usr/include/asm/sockios.h \ /usr/include/asm-generic/sockios.h /usr/include/bits/socket2.h \ /usr/include/netinet/in.h /usr/include/bits/in.h \ /usr/include/netinet/tcp.h /usr/include/arpa/inet.h /usr/include/netdb.h \ /usr/include/rpc/netdb.h /usr/include/bits/siginfo.h \ /usr/include/bits/netdb.h /usr/include/termios.h \ /usr/include/bits/termios.h /usr/include/sys/ttydefaults.h \ /usr/include/pwd.h /usr/local/include/semaphore.h /usr/include/pthread.h \ /usr/include/sched.h /usr/include/bits/sched.h /usr/include/bits/timex.h \ /usr/include/xlocale.h /usr/include/bits/setjmp.h /usr/include/signal.h \ /usr/include/bits/signum.h /usr/include/bits/sigaction.h \ /usr/include/bits/sigcontext.h /usr/include/bits/sigstack.h \ /usr/include/sys/ucontext.h /usr/include/bits/sigthread.h \ libuv/include/uv-threadpool.h libuv/include/uv-linux.h \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/function.hpp \ /usr/include/c++/4.8.2/functional /usr/include/c++/4.8.2/typeinfo \ /usr/include/c++/4.8.2/tuple /usr/include/c++/4.8.2/utility \ /usr/include/c++/4.8.2/bits/stl_relops.h /usr/include/c++/4.8.2/array \ /usr/include/c++/4.8.2/stdexcept /usr/include/c++/4.8.2/string \ /usr/include/c++/4.8.2/bits/stringfwd.h \ /usr/include/c++/4.8.2/bits/char_traits.h \ /usr/include/c++/4.8.2/bits/postypes.h /usr/include/c++/4.8.2/cwchar \ /usr/include/bits/wchar2.h /usr/include/c++/4.8.2/cstdint \ /usr/include/c++/4.8.2/bits/localefwd.h \ /usr/include/c++/4.8.2/x86_64-redhat-linux/bits/c++locale.h \ /usr/include/c++/4.8.2/clocale /usr/include/locale.h \ /usr/include/bits/locale.h /usr/include/c++/4.8.2/iosfwd \ /usr/include/c++/4.8.2/cctype /usr/include/ctype.h \ /usr/include/c++/4.8.2/bits/ostream_insert.h \ /usr/include/c++/4.8.2/bits/cxxabi_forced.h \ /usr/include/c++/4.8.2/bits/basic_string.h \ /usr/include/c++/4.8.2/ext/atomicity.h \ /usr/include/c++/4.8.2/x86_64-redhat-linux/bits/gthr.h \ /usr/include/c++/4.8.2/x86_64-redhat-linux/bits/gthr-default.h \ /usr/include/c++/4.8.2/x86_64-redhat-linux/bits/atomic_word.h \ /usr/include/c++/4.8.2/ext/string_conversions.h \ /usr/include/c++/4.8.2/cstdlib /usr/include/stdlib.h \ /usr/include/bits/waitflags.h /usr/include/bits/waitstatus.h \ /usr/include/alloca.h /usr/include/bits/stdlib-float.h \ /usr/include/bits/stdlib.h /usr/include/c++/4.8.2/cstdio \ /usr/include/c++/4.8.2/cerrno \ /usr/include/c++/4.8.2/bits/basic_string.tcc \ /usr/include/c++/4.8.2/bits/uses_allocator.h \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/preprocessor/iterate.hpp \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/preprocessor/iteration/iterate.hpp \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/preprocessor/arithmetic/dec.hpp \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/preprocessor/config/config.hpp \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/preprocessor/arithmetic/inc.hpp \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/preprocessor/array/elem.hpp \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/preprocessor/array/data.hpp \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/preprocessor/tuple/elem.hpp \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/preprocessor/cat.hpp \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/preprocessor/facilities/expand.hpp \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/preprocessor/facilities/overload.hpp \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/preprocessor/variadic/size.hpp \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/preprocessor/tuple/rem.hpp \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/preprocessor/tuple/detail/is_single_return.hpp \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/preprocessor/variadic/elem.hpp \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/preprocessor/array/size.hpp \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/preprocessor/slot/slot.hpp \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/preprocessor/slot/detail/def.hpp \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/detail/workaround.hpp \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/config/workaround.hpp \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/config.hpp \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/config/user.hpp \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/config/detail/select_compiler_config.hpp \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/config/compiler/gcc.hpp \ /usr/include/c++/4.8.2/cstddef \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/config/detail/select_stdlib_config.hpp \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/config/stdlib/libstdcpp3.hpp \ /usr/include/unistd.h /usr/include/bits/posix_opt.h \ /usr/include/bits/environments.h /usr/include/bits/confname.h \ /usr/include/getopt.h /usr/include/bits/unistd.h \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/config/detail/select_platform_config.hpp \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/config/platform/linux.hpp \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/config/detail/posix_features.hpp \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/config/detail/suffix.hpp \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/function/detail/prologue.hpp \ /usr/include/c++/4.8.2/cassert /usr/include/assert.h \ /usr/include/c++/4.8.2/algorithm /usr/include/c++/4.8.2/bits/stl_algo.h \ /usr/include/c++/4.8.2/bits/algorithmfwd.h \ /usr/include/c++/4.8.2/bits/stl_tempbuf.h /usr/include/c++/4.8.2/random \ /usr/include/c++/4.8.2/cmath /usr/include/math.h \ /usr/include/bits/huge_val.h /usr/include/bits/huge_valf.h \ /usr/include/bits/huge_vall.h /usr/include/bits/inf.h \ /usr/include/bits/nan.h /usr/include/bits/mathdef.h \ /usr/include/bits/mathcalls.h /usr/include/bits/mathinline.h \ /usr/include/c++/4.8.2/limits /usr/include/c++/4.8.2/bits/random.h \ /usr/include/c++/4.8.2/x86_64-redhat-linux/bits/opt_random.h \ /usr/lib/gcc/x86_64-redhat-linux/4.8.5/include/x86intrin.h \ /usr/lib/gcc/x86_64-redhat-linux/4.8.5/include/ia32intrin.h \ /usr/lib/gcc/x86_64-redhat-linux/4.8.5/include/mmintrin.h \ /usr/lib/gcc/x86_64-redhat-linux/4.8.5/include/xmmintrin.h \ /usr/lib/gcc/x86_64-redhat-linux/4.8.5/include/mm_malloc.h \ /usr/lib/gcc/x86_64-redhat-linux/4.8.5/include/emmintrin.h \ /usr/lib/gcc/x86_64-redhat-linux/4.8.5/include/immintrin.h \ /usr/lib/gcc/x86_64-redhat-linux/4.8.5/include/fxsrintrin.h \ /usr/lib/gcc/x86_64-redhat-linux/4.8.5/include/adxintrin.h \ /usr/include/c++/4.8.2/bits/random.tcc /usr/include/c++/4.8.2/numeric \ /usr/include/c++/4.8.2/bits/stl_numeric.h \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/config/no_tr1/functional.hpp \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/throw_exception.hpp \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/exception/exception.hpp \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/current_function.hpp \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/function/function_base.hpp \ /usr/include/c++/4.8.2/memory \ /usr/include/c++/4.8.2/bits/stl_raw_storage_iter.h \ /usr/include/c++/4.8.2/ext/concurrence.h \ /usr/include/c++/4.8.2/bits/unique_ptr.h \ /usr/include/c++/4.8.2/bits/shared_ptr.h \ /usr/include/c++/4.8.2/bits/shared_ptr_base.h \ /usr/include/c++/4.8.2/backward/auto_ptr.h \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/assert.hpp \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/integer.hpp \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/integer_fwd.hpp \ /usr/include/c++/4.8.2/climits \ /usr/lib/gcc/x86_64-redhat-linux/4.8.5/include/limits.h \ /usr/lib/gcc/x86_64-redhat-linux/4.8.5/include/syslimits.h \ /usr/include/limits.h /usr/include/bits/posix2_lim.h \ /usr/include/bits/xopen_lim.h \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/limits.hpp \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/cstdint.hpp \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/integer_traits.hpp \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/static_assert.hpp \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/type_index.hpp \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/type_index/stl_type_index.hpp \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/type_index/type_index_facade.hpp \ /usr/include/c++/4.8.2/cstring /usr/include/string.h \ /usr/include/bits/string3.h \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/core/demangle.hpp \ /usr/include/c++/4.8.2/cxxabi.h \ /usr/include/c++/4.8.2/x86_64-redhat-linux/bits/cxxabi_tweaks.h \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/type_traits/is_const.hpp \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/type_traits/integral_constant.hpp \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/type_traits/is_reference.hpp \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/type_traits/is_lvalue_reference.hpp \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/type_traits/is_rvalue_reference.hpp \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/type_traits/is_volatile.hpp \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/type_traits/remove_cv.hpp \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/type_traits/remove_reference.hpp \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/mpl/if.hpp \ /home/iv/R/x8664-redhat-linux-gnu-library/3.4/BH/include/boost/mpl/aux/value_wknd.hpp \ /home/iv/R/x8664-redhat-linux-gnu-library/3.4/BH/include/boost/mpl/aux/static_cast.hpp \ /home/iv/R/x8664-redhat-linux-gnu-library/3.4/BH/include/boost/mpl/aux/config/workaround.hpp \ /home/iv/R/x8664-redhat-linux-gnu-library/3.4/BH/include/boost/mpl/aux/config/integral.hpp \ /home/iv/R/x8664-redhat-linux-gnu-library/3.4/BH/include/boost/mpl/aux/config/msvc.hpp \ /home/iv/R/x8664-redhat-linux-gnu-library/3.4/BH/include/boost/mpl/aux/config/eti.hpp \ /home/iv/R/x8664-redhat-linux-gnu-library/3.4/BH/include/boost/mpl/aux/na_spec.hpp \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/mpl/lambda_fwd.hpp \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/mpl/void_fwd.hpp \ /home/iv/R/x8664-redhat-linux-gnu-library/3.4/BH/include/boost/mpl/aux/adl_barrier.hpp \ /home/iv/R/x8664-redhat-linux-gnu-library/3.4/BH/include/boost/mpl/aux/config/adl.hpp \ /home/iv/R/x8664-redhat-linux-gnu-library/3.4/BH/include/boost/mpl/aux/config/intel.hpp \ /home/iv/R/x8664-redhat-linux-gnu-library/3.4/BH/include/boost/mpl/aux/config/gcc.hpp \ /home/iv/R/x8664-redhat-linux-gnu-library/3.4/BH/include/boost/mpl/aux/na.hpp \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/mpl/bool.hpp \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/mpl/bool_fwd.hpp \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/mpl/integral_c_tag.hpp \ /home/iv/R/x8664-redhat-linux-gnu-library/3.4/BH/include/boost/mpl/aux/config/static_constant.hpp \ /home/iv/R/x8664-redhat-linux-gnu-library/3.4/BH/include/boost/mpl/aux/na_fwd.hpp \ /home/iv/R/x8664-redhat-linux-gnu-library/3.4/BH/include/boost/mpl/aux/config/ctps.hpp \ /home/iv/R/x8664-redhat-linux-gnu-library/3.4/BH/include/boost/mpl/aux/config/lambda.hpp \ /home/iv/R/x8664-redhat-linux-gnu-library/3.4/BH/include/boost/mpl/aux/config/ttp.hpp \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/mpl/int.hpp \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/mpl/int_fwd.hpp \ /home/iv/R/x8664-redhat-linux-gnu-library/3.4/BH/include/boost/mpl/aux/nttp_decl.hpp \ /home/iv/R/x8664-redhat-linux-gnu-library/3.4/BH/include/boost/mpl/aux/config/nttp.hpp \ /home/iv/R/x8664-redhat-linux-gnu-library/3.4/BH/include/boost/mpl/aux/integral_wrapper.hpp \ /home/iv/R/x8664-redhat-linux-gnu-library/3.4/BH/include/boost/mpl/aux/lambda_arity_param.hpp \ /home/iv/R/x8664-redhat-linux-gnu-library/3.4/BH/include/boost/mpl/aux/template_arity_fwd.hpp \ /home/iv/R/x8664-redhat-linux-gnu-library/3.4/BH/include/boost/mpl/aux/arity.hpp \ /home/iv/R/x8664-redhat-linux-gnu-library/3.4/BH/include/boost/mpl/aux/config/dtp.hpp \ /home/iv/R/x8664-redhat-linux-gnu-library/3.4/BH/include/boost/mpl/aux/preprocessor/params.hpp \ /home/iv/R/x8664-redhat-linux-gnu-library/3.4/BH/include/boost/mpl/aux/config/preprocessor.hpp \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/preprocessor/comma_if.hpp \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/preprocessor/punctuation/comma_if.hpp \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/preprocessor/control/if.hpp \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/preprocessor/control/iif.hpp \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/preprocessor/logical/bool.hpp \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/preprocessor/facilities/empty.hpp \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/preprocessor/punctuation/comma.hpp \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/preprocessor/repeat.hpp \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/preprocessor/repetition/repeat.hpp \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/preprocessor/debug/error.hpp \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/preprocessor/detail/auto_rec.hpp \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/preprocessor/tuple/eat.hpp \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/preprocessor/inc.hpp \ /home/iv/R/x8664-redhat-linux-gnu-library/3.4/BH/include/boost/mpl/aux/preprocessor/enum.hpp \ /home/iv/R/x8664-redhat-linux-gnu-library/3.4/BH/include/boost/mpl/aux/preprocessor/def_params_tail.hpp \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/mpl/limits/arity.hpp \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/preprocessor/logical/and.hpp \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/preprocessor/logical/bitand.hpp \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/preprocessor/identity.hpp \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/preprocessor/facilities/identity.hpp \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/preprocessor/empty.hpp \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/preprocessor/arithmetic/add.hpp \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/preprocessor/control/while.hpp \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/preprocessor/list/fold_left.hpp \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/preprocessor/list/detail/fold_left.hpp \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/preprocessor/control/expr_iif.hpp \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/preprocessor/list/adt.hpp \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/preprocessor/detail/is_binary.hpp \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/preprocessor/detail/check.hpp \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/preprocessor/logical/compl.hpp \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/preprocessor/list/fold_right.hpp \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/preprocessor/list/detail/fold_right.hpp \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/preprocessor/list/reverse.hpp \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/preprocessor/control/detail/while.hpp \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/preprocessor/arithmetic/sub.hpp \ /home/iv/R/x8664-redhat-linux-gnu-library/3.4/BH/include/boost/mpl/aux/config/overload_resolution.hpp \ /home/iv/R/x8664-redhat-linux-gnu-library/3.4/BH/include/boost/mpl/aux/lambda_support.hpp \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/mpl/or.hpp \ /home/iv/R/x8664-redhat-linux-gnu-library/3.4/BH/include/boost/mpl/aux/config/use_preprocessed.hpp \ /home/iv/R/x8664-redhat-linux-gnu-library/3.4/BH/include/boost/mpl/aux/nested_type_wknd.hpp \ /home/iv/R/x8664-redhat-linux-gnu-library/3.4/BH/include/boost/mpl/aux/include_preprocessed.hpp \ /home/iv/R/x8664-redhat-linux-gnu-library/3.4/BH/include/boost/mpl/aux/config/compiler.hpp \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/preprocessor/stringize.hpp \ /home/iv/R/x8664-redhat-linux-gnu-library/3.4/BH/include/boost/mpl/aux/preprocessed/gcc/or.hpp \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/type_traits/has_trivial_copy.hpp \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/type_traits/intrinsics.hpp \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/type_traits/detail/config.hpp \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/version.hpp \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/type_traits/is_pod.hpp \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/type_traits/is_void.hpp \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/type_traits/is_scalar.hpp \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/type_traits/is_arithmetic.hpp \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/type_traits/is_integral.hpp \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/type_traits/is_floating_point.hpp \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/type_traits/is_enum.hpp \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/type_traits/is_pointer.hpp \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/type_traits/is_member_pointer.hpp \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/type_traits/is_member_function_pointer.hpp \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/type_traits/detail/is_mem_fun_pointer_impl.hpp \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/type_traits/has_trivial_destructor.hpp \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/type_traits/is_destructible.hpp \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/type_traits/detail/yes_no_type.hpp \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/type_traits/declval.hpp \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/type_traits/add_rvalue_reference.hpp \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/type_traits/composite_traits.hpp \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/type_traits/is_array.hpp \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/type_traits/is_union.hpp \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/ref.hpp \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/core/ref.hpp \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/core/addressof.hpp \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/type_traits/alignment_of.hpp \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/utility/enable_if.hpp \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/core/enable_if.hpp \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/function_equal.hpp \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/function/function_fwd.hpp \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/mem_fn.hpp \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/bind/mem_fn.hpp \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/get_pointer.hpp \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/config/no_tr1/memory.hpp \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/bind/mem_fn_template.hpp \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/bind/mem_fn_cc.hpp \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/preprocessor/enum.hpp \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/preprocessor/repetition/enum.hpp \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/preprocessor/enum_params.hpp \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/preprocessor/repetition/enum_params.hpp \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/preprocessor/iteration/detail/iter/forward1.hpp \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/preprocessor/slot/detail/shared.hpp \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/function/detail/function_iterate.hpp \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/function/detail/maybe_include.hpp \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/function/function_template.hpp \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/detail/no_exceptions_support.hpp \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/core/no_exceptions_support.hpp \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/move/utility_core.hpp \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/move/detail/config_begin.hpp \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/move/detail/workaround.hpp \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/move/core.hpp \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/move/detail/config_end.hpp \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/move/detail/meta_utils.hpp \ /home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include/boost/move/detail/meta_utils_core.hpp g++ -m64 -std=gnu++11 -I/usr/include/R -DNDEBUG -I./libuv/include -I./http-parser -I./sha1 -I./base64 -fvisibility=hidden -I"/home/iv/R/x86_64-redhat-linux-gnu-library/3.4/Rcpp/include" -I"/home/iv/R/x86_64-redhat-linux-gnu-library/3.4/BH/include" -I"/home/iv/R/x86_64-redhat-linux-gnu-library/3.4/later/include" -I/usr/local/include -fpic -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -c callbackqueue.cpp -o callbackqueue.o In file included from ./libuv/include/uv.h:62:0, from thread.h:4, from queue.h:7, from callbackqueue.h:4, from callbackqueue.cpp:1: ./libuv/include/uv-unix.h:104:28: error: ?sem_t? does not name a type

    define UV_PLATFORM_SEM_T sem_t

                        ^

    ./libuv/include/uv-unix.h:136:9: note: in expansion of macro ?UV_PLATFORM_SEM_T? typedef UV_PLATFORM_SEM_T uv_sem_t; ^ In file included from thread.h:4:0, from queue.h:7, from callbackqueue.h:4, from callbackqueue.cpp:1: ./libuv/include/uv.h:1461:27: error: ?uv_sem_t? was not declared in this scope UV_EXTERN int uv_sem_init(uv_sem_t sem, unsigned int value); ^ ./libuv/include/uv.h:1461:37: error: ?sem? was not declared in this scope UV_EXTERN int uv_sem_init(uv_sem_t sem, unsigned int value); ^ ./libuv/include/uv.h:1461:42: error: expected primary-expression before ?unsigned? UV_EXTERN int uv_sem_init(uv_sem_t sem, unsigned int value); ^ ./libuv/include/uv.h:1461:60: error: expression list treated as compound expression in initializer [-fpermissive] UV_EXTERN int uv_sem_init(uv_sem_t sem, unsigned int value); ^ ./libuv/include/uv.h:1462:31: error: variable or field ?uv_sem_destroy? declared void UV_EXTERN void uv_sem_destroy(uv_sem_t sem); ^ ./libuv/include/uv.h:1462:31: error: ?uv_sem_t? was not declared in this scope ./libuv/include/uv.h:1462:41: error: ?sem? was not declared in this scope UV_EXTERN void uv_sem_destroy(uv_sem_t sem); ^ ./libuv/include/uv.h:1463:28: error: variable or field ?uv_sem_post? declared void UV_EXTERN void uv_sem_post(uv_sem_t sem); ^ ./libuv/include/uv.h:1463:28: error: ?uv_sem_t? was not declared in this scope ./libuv/include/uv.h:1463:38: error: ?sem? was not declared in this scope UV_EXTERN void uv_sem_post(uv_sem_t sem); ^ ./libuv/include/uv.h:1464:28: error: variable or field ?uv_sem_wait? declared void UV_EXTERN void uv_sem_wait(uv_sem_t sem); ^ ./libuv/include/uv.h:1464:28: error: ?uv_sem_t? was not declared in this scope ./libuv/include/uv.h:1464:38: error: ?sem? was not declared in this scope UV_EXTERN void uv_sem_wait(uv_sem_t sem); ^ ./libuv/include/uv.h:1465:30: error: ?uv_sem_t? was not declared in this scope UV_EXTERN int uv_sem_trywait(uv_sem_t sem); ^ ./libuv/include/uv.h:1465:40: error: ?sem? was not declared in this scope UV_EXTERN int uv_sem_trywait(uv_sem_t sem); ^ make: *** [callbackqueue.o] Error 1 ERROR: compilation failed for package ?httpuv?

  • removing ?/home/iv/R/x86_64-redhat-linux-gnu-library/3.4/httpuv? Installation failed: Command failed (1)

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/rstudio/httpuv/issues/110#issuecomment-371646032, or mute the thread https://github.com/notifications/unsubscribe-auth/AAFTwrqEtrol3ylnQiguShwi7_s7AIvJks5tcbADgaJpZM4Sdr6t .

-- Sent from my phone

ivlachos commented 6 years ago

Kudos! That was it... thank you!

wch commented 6 years ago

Great! Can you find out where that file came from? I'd like to find the root cause since we've had a number of reports of this problem recently. If you could also email it to me at winston@rstudio.com, I'd appreciate it.

On Thu, Mar 8, 2018 at 4:35 PM ivlachos notifications@github.com wrote:

Kudos! That was it... thank you!

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/rstudio/httpuv/issues/110#issuecomment-371648590, or mute the thread https://github.com/notifications/unsubscribe-auth/AAFTwnqGusrM8RktS04aCJKB3mHItSfKks5tcbIogaJpZM4Sdr6t .

-- Sent from my phone

ivlachos commented 6 years ago

I believe it might've been installed during GSNAP/GMAP installation process. http://research-pub.gene.com/gmap/ We update our aligners every few versions and the file date coincides with the GSNAP update we performed. We rebuild from source with minimal configuration changes.

wch commented 6 years ago

The GSNAP/GMAP copy of semaphore.h is somehow getting installed to /usr/local/include. Putting a file in /usr/local/include that has the same name as a standard C header is a bad idea in general.

However, when I follow the standard install procedure on a clean system, I don't see any files in /usr/local/include. So perhaps the files were put there by a non-standard installation method?

I'm glad that we've found the cause and a workaround (deleting /usr/local/semaphore.h), although hopefully the workaround doesn't break something else related to GSNAP/GMAP.

To reproduce:

# Use r-base image because it has compile/build tools
docker run --rm -ti r-base /bin/bash

wget http://research-pub.gene.com/gmap/src/gmap-gsnap-2018-03-01.tar.gz
tar xvfz gmap-gsnap-2018-03-01.tar.gz 
cd gmap-2018-03-01
./configure
make
make install

ls /usr/local/include
# No files 
jcheng5 commented 6 years ago

Wonder if BioInstaller might be involved? It apparently can install GSNAP/GMAP.

wch commented 6 years ago

The fact that we've had so many reports in just the last couple of weeks suggests that there's some installer that's putting the files in /usr/local/include.

I tried with BioInstaller, though, and no files showed up in /usr/local/include.

docker run --rm -ti wch1/r-devel
RD
install.packages('BioInstaller')
library(BioInstaller)
install.bioinfo("gmap")

@ivlachos, @blueagave if you can provide details of how GSNAP/GMAP were installed, please let us know.

ivlachos commented 6 years ago

At least for us it was with the standard procedure (./configure, make, make install). We only change in the config.site, the folder for gmap_db. My 5 cents: 1) It might be version (GSNAP updates often) or system-specific (Centos 7 in our case) 2) User-specific (for instance does it behave the same if you use install or sudo install?) 3) I still cannot think of (3) but the list seemed quite short with only 2 options.

blueagave commented 6 years ago

GMAP/GSNAP turned out to be the issue here as well. Once /usr/local/include/semaphore.h was moved out of the way, httpuv installed successfully. Not sure how GMAP/GSNAP was installed since this host is administered by multiple researchers.

Thanks for your help!

wch commented 6 years ago

The other user who reported the issue told me that they were using version 2017-11-15. I tested out that version, and it did indeed put a bunch of .h files in /usr/local/include, including semaphore.h. The other, later version that I checked, 2018-03-01 didn't do that, so the author must have fixed it. Mystery solved!

# Use r-base image because it has compile/build tools
docker run --rm -ti r-base /bin/bash

wget http://research-pub.gene.com/gmap/src/gmap-gsnap-2017-11-15.tar.gz
tar xvfz gmap-gsnap-2017-11-15.tar.gz 
cd gmap-2017-11-15
./configure
make -j4
make install

ls /usr/local/include
# access.h             complement.h    iit-read.h       mem.h          tableuint.h
# assert.h             compress.h      iit-read-univ.h  mode.h         types.h
# bigendian.h          datadir.h       iit-write.h      parserange.h   uint8list.h
# bitpack64-read.h     doublelist.h    interval.h       popcount.h     uintlist.h
# bitpack64-readtwo.h  except.h        intlistdef.h     samflags.h     uinttable.h
# bool.h               filestring.h    intlist.h        sarray-read.h  uinttableuint.h
# bytecoding.h         fopen.h         listdef.h        semaphore.h    univinterval.h
# bzip2.h              genome128_hr.h  list.h           separator.h
# chrnum.h             genome.h        littleendian.h   sequence.h
# chrom.h              genomicpos.h    maxent_hr.h      stopwatch.h
# comp.h               iitdef.h        md5.h            table.h

Those files should not be there. My guess is that they will cause problems for other programs compiled on these machines. I suggest removing all of them from /usr/local/include.

bioinfotec commented 5 months ago

The GSNAP/GMAP copy of semaphore.h is somehow getting installed to /usr/local/include. Putting a file in /usr/local/include that has the same name as a standard C header is a bad idea in general.

However, when I follow the standard install procedure on a clean system, I don't see any files in /usr/local/include. So perhaps the files were put there by a non-standard installation method?

I'm glad that we've found the cause and a workaround (deleting /usr/local/semaphore.h), although hopefully the workaround doesn't break something else related to GSNAP/GMAP.

To reproduce:

# Use r-base image because it has compile/build tools
docker run --rm -ti r-base /bin/bash

wget http://research-pub.gene.com/gmap/src/gmap-gsnap-2018-03-01.tar.gz
tar xvfz gmap-gsnap-2018-03-01.tar.gz 
cd gmap-2018-03-01
./configure
make
make install

ls /usr/local/include
# No files 

After remove semaphore.h in /usr/local/include, it works!