[ 
https://issues.apache.org/jira/browse/MESOS-7761?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Benjamin Bannier reassigned MESOS-7761:
---------------------------------------

    Assignee: Benjamin Bannier

> Website ruby deps do not bundle on macOS
> ----------------------------------------
>
>                 Key: MESOS-7761
>                 URL: https://issues.apache.org/jira/browse/MESOS-7761
>             Project: Mesos
>          Issue Type: Bug
>          Components: project website
>            Reporter: Benjamin Bannier
>            Assignee: Benjamin Bannier
>              Labels: mesosphere
>
> When trying to bundle the ruby dependencies of the website on macOS-10.12.5 I 
> get
> {code}
> $ cd site/
> $ bundle install
> Fetching gem metadata from https://rubygems.org/............
> Fetching version metadata from https://rubygems.org/..
> Fetching dependency metadata from https://rubygems.org/.
> Using coffee-script-source 1.6.3
> Using multi_json 1.8.2
> Using chunky_png 1.2.9
> Using fssm 0.2.10
> Using sass 3.2.12
> Using tilt 1.3.7
> Using kramdown 1.2.0
> Using i18n 0.6.5
> Using rb-fsevent 0.9.3
> Using ffi 1.9.3
> Using rack 1.5.2
> Using thor 0.18.1
> Using bundler 1.15.1
> Using hike 1.2.3
> Fetching eventmachine 1.0.3
> Installing eventmachine 1.0.3 with native extensions
> Using http_parser.rb 0.5.3
> Using addressable 2.3.5
> Using atomic 1.1.14
> Using rdiscount 2.1.7
> Using htmlentities 4.3.2
> Fetching libv8 3.16.14.15
> Installing libv8 3.16.14.15 with native extensions
> Using ref 2.0.0
> Using execjs 1.4.0
> Using compass 0.12.2
> Using haml 4.0.4
> Using activesupport 3.2.15
> Using rb-inotify 0.9.2
> Using rb-kqueue 0.2.0
> Using rack-test 0.6.2
> Using rack-livereload 0.3.15
> Using rouge 0.3.10
> Using sprockets 2.10.0
> Gem::Ext::BuildError: ERROR: Failed to build gem native extension.
>     current directory: 
> /Users/bbannier/src/mesos/site/vendor/ruby/2.4.0/gems/eventmachine-1.0.3/ext
> /Users/bbannier/src/homebrew/opt/ruby/bin/ruby -r 
> ./siteconf20170705-46478-cy91ue.rb extconf.rb
> checking for rb_trap_immediate in ruby.h,rubysig.h... no
> checking for rb_thread_blocking_region()... no
> checking for inotify_init() in sys/inotify.h... no
> checking for __NR_inotify_init in sys/syscall.h... no
> checking for writev() in sys/uio.h... yes
> checking for rb_wait_for_single_fd()... yes
> checking for rb_enable_interrupt()... no
> checking for rb_time_new()... yes
> checking for sys/event.h... yes
> checking for sys/queue.h... yes
> creating Makefile
> current directory: 
> /Users/bbannier/src/mesos/site/vendor/ruby/2.4.0/gems/eventmachine-1.0.3/ext
> make "DESTDIR=" clean
> current directory: 
> /Users/bbannier/src/mesos/site/vendor/ruby/2.4.0/gems/eventmachine-1.0.3/ext
> make "DESTDIR="
> compiling binder.cpp
> compiling cmain.cpp
> compiling ed.cpp
> compiling em.cpp
> compiling kb.cpp
> compiling page.cpp
> compiling pipe.cpp
> compiling rubymain.cpp
> compiling ssl.cpp
> In file included from pipe.cpp:20:
> In file included from ./project.h:149:
> ./binder.h:35:3: warning: 'const' type qualifier on return type has no effect 
> [-Wignored-qualifiers]
>                 const unsigned long GetBinding() {return Binding;}
>                 ^~~~~~
> In file included from page.cpp:21:
> In file included from ./project.h:149:
> ./binder.h:35:3: warning: 'const' type qualifier on return type has no effect 
> [-Wignored-qualifiers]
>                 const unsigned long GetBinding() {return Binding;}
>                 ^~~~~~
> In file included from kb.cpp:20:
> In file included from ./project.h:149:
> ./binder.h:35:3: warning: 'const' type qualifier on return type has no effect 
> [-Wignored-qualifiers]
>                 const unsigned long GetBinding() {return Binding;}
>                 ^~~~~~
> In file included from em.cpp:23:
> In file included from ./project.h:149:
> ./binder.h:35:3: warning: 'const' type qualifier on return type has no effect 
> [-Wignored-qualifiers]
>                 const unsigned long GetBinding() {return Binding;}
>                 ^~~~~~
> In file included from binder.cpp:20:
> In file included from ./project.h:149:
> ./binder.h:35:3: warning: 'const' type qualifier on return type has no effect 
> [-Wignored-qualifiers]
>                 const unsigned long GetBinding() {return Binding;}
>                 ^~~~~~
> In file included from rubymain.cpp:20:
> In file included from ./project.h:149:
> ./binder.h:35:3: warning: 'const' type qualifier on return type has no effect 
> [-Wignored-qualifiers]
>                 const unsigned long GetBinding() {return Binding;}
>                 ^~~~~~
> In file included from ed.cpp:20:
> In file included from ./project.h:149:
> ./binder.h:35:3: warning: 'const' type qualifier on return type has no effect 
> [-Wignored-qualifiers]
>                 const unsigned long GetBinding() {return Binding;}
>                 ^~~~~~
> In file included from cmain.cpp:20:
> In file included from ./project.h:149:
> ./binder.h:35:3: warning: 'const' type qualifier on return type has no effect 
> [-Wignored-qualifiers]
>                 const unsigned long GetBinding() {return Binding;}
>                 ^~~~~~
> In file included from ssl.cpp:23:
> In file included from ./project.h:149:
> ./binder.h:35:3: warning: 'const' type qualifier on return type has no effect 
> [-Wignored-qualifiers]
>                 const unsigned long GetBinding() {return Binding;}
>                 ^~~~~~
> In file included from pipe.cpp:20:
> In file included from ./project.h:150:
> ./em.h:84:3: warning: 'const' type qualifier on return type has no effect 
> [-Wignored-qualifiers]
>                 const unsigned long InstallOneshotTimer (int);
>                 ^~~~~~
> ./em.h:85:3: warning: 'const' type qualifier on return type has no effect 
> [-Wignored-qualifiers]
>                 const unsigned long ConnectToServer (const char *, int, const 
> char *, int);
>                 ^~~~~~
> ./em.h:86:3: warning: 'const' type qualifier on return type has no effect 
> [-Wignored-qualifiers]
>                 const unsigned long ConnectToUnixServer (const char *);
>                 ^~~~~~
> ./em.h:88:3: warning: 'const' type qualifier on return type has no effect 
> [-Wignored-qualifiers]
>                 const unsigned long CreateTcpServer (const char *, int);
>                 ^~~~~~
> ./em.h:89:3: warning: 'const' type qualifier on return type has no effect 
> [-Wignored-qualifiers]
>                 const unsigned long OpenDatagramSocket (const char *, int);
>                 ^~~~~~
> ./em.h:90:3: warning: 'const' type qualifier on return type has no effect 
> [-Wignored-qualifiers]
>                 const unsigned long CreateUnixDomainServer (const char*);
>                 ^~~~~~
> ./em.h:91:3: warning: 'const' type qualifier on return type has no effect 
> [-Wignored-qualifiers]
>                 const unsigned long OpenKeyboard();
>                 ^~~~~~
> ./em.h:93:3: warning: 'const' type qualifier on return type has no effect 
> [-Wignored-qualifiers]
>                 const unsigned long Socketpair (char* const*);
>                 ^~~~~~
> ./em.h:99:3: warning: 'const' type qualifier on return type has no effect 
> [-Wignored-qualifiers]
>                 const unsigned long AttachFD (int, bool);
>                 ^~~~~~
> ./em.h:116:3: warning: 'const' type qualifier on return type has no effect 
> [-Wignored-qualifiers]
>                 const unsigned long WatchFile (const char*);
>                 ^~~~~~
> ./em.h:125:3: warning: 'const' type qualifier on return type has no effect 
> [-Wignored-qualifiers]
>                 const unsigned long WatchPid (int);
>                 ^~~~~~
> In file included from binder.cpp:20:
> In file included from ./project.h:150:
> ./em.h:84:3: warning: 'const' type qualifier on return type has no effect 
> [-Wignored-qualifiers]
>                 const unsigned long InstallOneshotTimer (int);
>                 ^~~~~~
> ./em.h:In file included from kb.cpp:20:
> In file included from ./project.h:150:
> ./em.h:84:3: warning: 'const' type qualifier on return type has no effect 
> [-Wignored-qualifiers]
> 85:3:                const unsigned long InstallOneshotTimer (int);
>                 ^~~~~~
>  warning: 'const' type qualifier on return type has no effect 
> [-Wignored-qualifiers]
>                 const unsigned long ConnectToServer (const char *, int, const 
> char *, int);./em.h:
> 85:                ^~~~~~
> ./em.h:86:3: 3: warning: 'const' type qualifier on return type has no effect 
> [-Wignored-qualifiers]
>                 const unsigned long ConnectToServer (const char *, int, const 
> char *, int);
>                 ^~~~~~
> ./em.h:86:3: warning: 'const' type qualifier on return type has no effect 
> [-Wignored-qualifiers]
> In file included from                 const unsigned long ConnectToUnixServer 
> (const char *);
>                 ^~~~~~
> warning: 'const' type qualifier on return type has no effect 
> [-Wignored-qualifiers]
> ./em.h:88em.cpp:3: warning: 'const' type qualifier on return type has no 
> effect [-Wignored-qualifiers]
> :23:
> In file included from ./project.h                const unsigned long 
> CreateTcpServer (const char *, int);
>                 ^~~~~~
> :150:
> ./em.h:84:3: warning: ./em.h                const unsigned long 
> ConnectToUnixServer (const char *);'const' type qualifier on return type has 
> no effect [-Wignored-qualifiers]
>                 ^~~~~~
>                 const unsigned long InstallOneshotTimer (int);
>                 ^~~~~~
> ./em.h:./em.h:85:3::88:3: warning: 'const' type qualifier on return type has 
> no effect [-Wignored-qualifiers]
> 89: 3:warning:                 const unsigned long CreateTcpServer (const 
> char *, int);'const' type qualifier on return type has no effect 
> [-Wignored-qualifiers] warning: 
>                 ^~~~~~
> 'const' type qualifier on return type has no effect [-Wignored-qualifiers]
>                 const unsigned long OpenDatagramSocket (const char *, int);
>                 ^~~~~~
> ./em.h:89:3: warning: 'const' type qualifier on return type has no effect 
> [-Wignored-qualifiers]
> ./em.h:90:3: warning: 'const' type qualifier on return type has no effect 
> [-Wignored-qualifiers]
>                 const unsigned long CreateUnixDomainServer (const char*);
>                 ^~~~~~
>                 const unsigned long ConnectToServer (const char *, int, const 
> char *, int);
>                 ^~~~~~
> ./em.h:91:3: warning: 'const' type qualifier on return type has no effect 
> [-Wignored-qualifiers]
>                 const unsigned long OpenKeyboard();
>                 ^~~~~~
> ./em.h:./em.h:93                const unsigned long OpenDatagramSocket (const 
> char *, int);
> :                ^~~~~~
> 3: warning: 'const' type qualifier on return type has no effect 
> [-Wignored-qualifiers]
>                 const unsigned long Socketpair (char* const*);
>                 ^~~~~~
> ./em.h:90:3: warning: 'const' type qualifier on return type has no effect 
> [-Wignored-qualifiers]
> ./em.h:99:3                const unsigned long CreateUnixDomainServer (const 
> char*);86: warning: 'const' type qualifier on return type has no effect 
> [-Wignored-qualifiers]
>                 ^~~~~~
>                 const unsigned long AttachFD (int, bool);
>                 ^~~~~~
> ./em.h:91:3: warning: 'const' type qualifier on return type has no effect 
> [-Wignored-qualifiers]
>                 const unsigned long OpenKeyboard();
>                 ^~~~~~
> ./em.h:116:3:: warning: 'const' type qualifier on return type has no effect 
> [-Wignored-qualifiers]
>                 const unsigned long WatchFile (const char*);
>                 ^~~~~~
> ./em.h3:93:3: warning: 'const' type qualifier on return type has no effect 
> [-Wignored-qualifiers]
> : warning: 'const' type qualifier on return type has no effect 
> [-Wignored-qualifiers]                const unsigned long Socketpair (char* 
> const*);
>                 ^~~~~~
> ./em.h:125:3: warning: 'const' type qualifier on return type has no effect 
> [-Wignored-qualifiers]
>                 const unsigned long ConnectToUnixServer (const char *);
>                 ^~~~~~                const unsigned long WatchPid (int);
>                 ^~~~~~
> ./em.h:99:3: warning: 'const' type qualifier on return type has no effect 
> [-Wignored-qualifiers]
> ./em.h:88:3:                const unsigned long AttachFD (int, bool);
>                 ^~~~~~
>  warning: 'const' type qualifier on return type has no effect 
> [-Wignored-qualifiers]
>                 const unsigned long CreateTcpServer (const char *, int);
>                 ^~~~~~
> ./em.h:89:3: ./em.h:warning116:3: : warning'const' type qualifier on return 
> type has no effect [-Wignored-qualifiers]
> : 'const' type qualifier on return type has no effect [-Wignored-qualifiers]
>                 const unsigned long OpenDatagramSocket (const char *, int);
>                 ^~~~~~
>                 const unsigned long WatchFile (const char*);
>                 ^~~~~~
> ./em.h:90:3: warning: 'const' type qualifier on return type has no effect 
> [-Wignored-qualifiers]
>                 const unsigned long CreateUnixDomainServer (const char*);
>                 ^~~~~~
> ./em.h:125:3: warning: 'const' type qualifier on return type has no effect 
> [-Wignored-qualifiers]
> ./em.h:91:3: warning: 'const' type qualifier on return type has no effect 
> [-Wignored-qualifiers]
>                 const unsigned long WatchPid (int);                const 
> unsigned long OpenKeyboard();
>                 ^~~~~~
>                 ^~~~~~
> ./em.h:93:3: warning: 'const' type qualifier on return type has no effect 
> [-Wignored-qualifiers]
>                 const unsigned long Socketpair (char* const*);
>                 ^~~~~~
> ./em.h:99:3: warning: 'const' type qualifier on return type has no effect 
> [-Wignored-qualifiers]
>                 const unsigned long AttachFD (int, bool);
>                 ^~~~~~
> ./em.h:116:3: warning: 'const' type qualifier on return type has no effect 
> [-Wignored-qualifiers]
>                 const unsigned long WatchFile (const char*);
>                 ^~~~~~
> ./em.h:125:3: warning: 'const' type qualifier on return type has no effect 
> [-Wignored-qualifiers]
>                 const unsigned long WatchPid (int);
>                 ^~~~~~
> In file included from rubymain.cpp:20:
> In file included from ./project.h:150:
> ./em.h:84:3: warning: 'const' type qualifier on return type has no effect 
> [-Wignored-qualifiers]
> In file included from page.cpp:21:
> In file included from ./project.h:150                const unsigned long 
> InstallOneshotTimer (int);
>                 ^~~~~~
> :
> ./em.h:84:3: warning: 'const' type qualifier on return type has no effect 
> [-Wignored-qualifiers]
>                 const unsigned long InstallOneshotTimer (int);
>                 ^~~~~~
> ./em.h:85:3: warning: 'const' type qualifier on return type has no effect 
> [-Wignored-qualifiers]
> ./em.h:85                const unsigned long ConnectToServer (const char *, 
> int, const char *, int);:
> 3                ^~~~~~
> : warning: 'const' type qualifier on return type has no effect 
> [-Wignored-qualifiers]
>                 const unsigned long ConnectToServer (const char *, int, const 
> char *, int);
>                 ^~~~~~
> ./em.h:86:3: warning: 'const' type qualifier on return type has no effect 
> [-Wignored-qualifiers]
> ./em.h:86:3: warning: 'const' type qualifier on return type has no effect 
> [-Wignored-qualifiers]
>                 const unsigned long ConnectToUnixServer (const char *);
>                 ^~~~~~
>                 const unsigned long ConnectToUnixServer (const char *);
>                 ^~~~~~
> ./em.h:88:3: warning: 'const' type qualifier on return type has no effect 
> [-Wignored-qualifiers]./em.h:88:3: warning: 'const' type qualifier on return 
> type has no effect [-Wignored-qualifiers]
>                 const unsigned long CreateTcpServer (const char *, int);
>                 ^~~~~~
>                 const unsigned long CreateTcpServer (const char *, int);
>                 ^~~~~~
> ./em.h:89:3: warning: 'const' type qualifier on return type has no effect 
> [-Wignored-qualifiers]
>                 const unsigned long OpenDatagramSocket (const char *, int);
>                 ^~~~~~
> ./em.h:89:3: warning: 'const' type qualifier on return type has no effect 
> [-Wignored-qualifiers]
> ./em.h:90:3: warning: 'const' type qualifier on return type has no effect 
> [-Wignored-qualifiers]
>                 const unsigned long OpenDatagramSocket (const char *, int);
>                 ^~~~~~
>                 const unsigned long CreateUnixDomainServer (const char*);
>                 ^~~~~~
> ./em.h:90:3: warning: ./em.h:91:3'const' type qualifier on return type has no 
> effect [-Wignored-qualifiers]
> : warning: 'const' type qualifier on return type has no effect 
> [-Wignored-qualifiers]
>                 const unsigned long CreateUnixDomainServer (const char*);     
>            const unsigned long OpenKeyboard();
>                 ^~~~~~                ^~~~~~
> ./em.h:91:./em.h:93:3: warning: 'const' type qualifier on return type has no 
> effect [-Wignored-qualifiers]
> 3: warning: 'const' type qualifier on return type has no effect 
> [-Wignored-qualifiers]
>                 const unsigned long Socketpair (char* const*);
>                 ^~~~~~
>                 const unsigned long OpenKeyboard();
>                 ^~~~~~
> ./em.h:93:3: warning: 'const' type qualifier on return type has no effect 
> [-Wignored-qualifiers]
> ./em.h:99                const unsigned long Socketpair (char* const*);:
> 3                ^~~~~~:
>  warning: 'const' type qualifier on return type has no effect 
> [-Wignored-qualifiers]
>                 const unsigned long AttachFD (int, bool);
>                 ^~~~~~
> ./em.h:99:3: warning: 'const' type qualifier on return type has no effect 
> [-Wignored-qualifiers]
>                 const unsigned long AttachFD (int, bool);
>                 ^~~~~~
> ./em.h:116:3: warning: 'const' type qualifier on return type has no effect 
> [-Wignored-qualifiers]
>                 const unsigned long WatchFile (const char*);
>                 ^~~~~~
> ./em.h:116:3: warning: 'const' type qualifier on return type has no effect 
> [-Wignored-qualifiers]
> ./em.h:125:3: warning: 'const' type qualifier on return type has no effect 
> [-Wignored-qualifiers]
>                 const unsigned long WatchFile (const char*);
>                 ^~~~~~
>                 const unsigned long WatchPid (int);
>                 ^~~~~~
> ./em.h:125:3: warning: 'const' type qualifier on return type has no effect 
> [-Wignored-qualifiers]
>                 const unsigned long WatchPid (int);
>                 ^~~~~~
> In file included from cmain.cpp:20:
> In file included from ./project.h:150:
> ./em.h:84:3: warning: 'const' type qualifier on return type has no effect 
> [-Wignored-qualifiers]
>                 const unsigned long InstallOneshotTimer (int);
>                 ^~~~~~
> ./em.h:85:3: warning: 'const' type qualifier on return type has no effect 
> [-Wignored-qualifiers]
>                 const unsigned long ConnectToServer (const char *, int, const 
> char *, int);
>                 ^~~~~~
> ./em.h:86:3: warning: 'const' type qualifier on return type has no effect 
> [-Wignored-qualifiers]
>                 const unsigned long ConnectToUnixServer (const char *);
>                 ^~~~~~
> ./em.h:88:3: warning: 'const' type qualifier on return type has no effect 
> [-Wignored-qualifiers]
>                 const unsigned long CreateTcpServer (const char *, int);
>                 ^~~~~~
> ./em.h:89:3: warning: 'const' type qualifier on return type has no effect 
> [-Wignored-qualifiers]
>                 const unsigned long OpenDatagramSocket (const char *, int);
>                 ^~~~~~
> ./em.h:90:3: warning: 'const' type qualifier on return type has no effect 
> [-Wignored-qualifiers]
>                 const unsigned long CreateUnixDomainServer (const char*);
>                 ^~~~~~
> ./em.h:91:3: warning: 'const' type qualifier on return type has no effect 
> [-Wignored-qualifiers]
>                 const unsigned long OpenKeyboard();
>                 ^~~~~~
> ./em.h:93:3: warning: 'const' type qualifier on return type has no effect 
> [-Wignored-qualifiers]
>                 const unsigned long Socketpair (char* const*);
>                 ^~~~~~
> ./em.h:99:3: warning: 'const' type qualifier on return type has no effect 
> [-Wignored-qualifiers]
>                 const unsigned long AttachFD (int, bool);
>                 ^~~~~~
> ./em.h:116:3: warning: 'const' type qualifier on return type has no effect 
> [-Wignored-qualifiers]
>                 const unsigned long WatchFile (const char*);
>                 ^~~~~~
> ./em.h:125:3: warning: 'const' type qualifier on return type has no effect 
> [-Wignored-qualifiers]
>                 const unsigned long WatchPid (int);
>                 ^~~~~~
> In file included from ed.cpp:20:
> In file included from ./project.h:150:
> ./em.h:84:3: warning: 'const' type qualifier on return type has no effect 
> [-Wignored-qualifiers]
>                 const unsigned long InstallOneshotTimer (int);
>                 ^~~~~~
> ./em.h:85:3: warning: 'const' type qualifier on return type has no effect 
> [-Wignored-qualifiers]
>                 const unsigned long ConnectToServer (const char *, int, const 
> char *, int);
>                 ^~~~~~
> ./em.h:86:3: warning: 'const' type qualifier on return type has no effect 
> [-Wignored-qualifiers]
>                 const unsigned long ConnectToUnixServer (const char *);
>                 ^~~~~~
> ./em.h:88:3: warning: 'const' type qualifier on return type has no effect 
> [-Wignored-qualifiers]
>                 const unsigned long CreateTcpServer (const char *, int);
>                 ^~~~~~
> ./em.h:89:3: warning: 'const' type qualifier on return type has no effect 
> [-Wignored-qualifiers]
>                 const unsigned long OpenDatagramSocket (const char *, int);
>                 ^~~~~~
> ./em.h:90:3: warning: 'const' type qualifier on return type has no effect 
> [-Wignored-qualifiers]
>                 const unsigned long CreateUnixDomainServer (const char*);
>                 ^~~~~~
> ./em.h:91:3: warning: 'const' type qualifier on return type has no effect 
> [-Wignored-qualifiers]
>                 const unsigned long OpenKeyboard();
>                 ^~~~~~
> ./em.h:93:3: warning: 'const' type qualifier on return type has no effect 
> [-Wignored-qualifiers]
>                 const unsigned long Socketpair (char* const*);
>                 ^~~~~~
> ./em.h:99:3: warning: 'const' type qualifier on return type has no effect 
> [-Wignored-qualifiers]
>                 const unsigned long AttachFD (int, bool);
>                 ^~~~~~
> ./em.h:116:3: warning: 'const' type qualifier on return type has no effect 
> [-Wignored-qualifiers]
>                 const unsigned long WatchFile (const char*);
>                 ^~~~~~
> ./em.h:125:3: warning: 'const' type qualifier on return type has no effect 
> [-Wignored-qualifiers]
>                 const unsigned long WatchPid (int);
>                 ^~~~~~
> In file included from ssl.cpp:23:
> In file included from ./project.h:150:
> ./em.h:84:3: warning: 'const' type qualifier on return type has no effect 
> [-Wignored-qualifiers]
>                 const unsigned long InstallOneshotTimer (int);
>                 ^~~~~~
> ./em.h:85:3: warning: 'const' type qualifier on return type has no effect 
> [-Wignored-qualifiers]
>                 const unsigned long ConnectToServer (const char *, int, const 
> char *, int);
>                 ^~~~~~
> ./em.h:86:3: warning: 'const' type qualifier on return type has no effect 
> [-Wignored-qualifiers]
>                 const unsigned long ConnectToUnixServer (const char *);
>                 ^~~~~~
> ./em.h:88:3: warning: 'const' type qualifier on return type has no effect 
> [-Wignored-qualifiers]
>                 const unsigned long CreateTcpServer (const char *, int);
>                 ^~~~~~
> ./em.h:89:3: warning: 'const' type qualifier on return type has no effect 
> [-Wignored-qualifiers]
>                 const unsigned long OpenDatagramSocket (const char *, int);
>                 ^~~~~~
> ./em.h:90:3: warning: 'const' type qualifier on return type has no effect 
> [-Wignored-qualifiers]
>                 const unsigned long CreateUnixDomainServer (const char*);
>                 ^~~~~~
> ./em.h:91:3: warning: 'const' type qualifier on return type has no effect 
> [-Wignored-qualifiers]
>                 const unsigned long OpenKeyboard();
>                 ^~~~~~
> ./em.h:93:3: warning: 'const' type qualifier on return type has no effect 
> [-Wignored-qualifiers]
>                 const unsigned long Socketpair (char* const*);
>                 ^~~~~~
> ./em.h:99:3: warning: 'const' type qualifier on return type has no effect 
> [-Wignored-qualifiers]
>                 const unsigned long AttachFD (int, bool);
>                 ^~~~~~
> ./em.h:116:3: warning: 'const' type qualifier on return type has no effect 
> [-Wignored-qualifiers]
>                 const unsigned long WatchFile (const char*);
>                 ^~~~~~
> ./em.h:125:3: warning: 'const' type qualifier on return type has no effect 
> [-Wignored-qualifiers]
>                 const unsigned long WatchPid (int);
>                 ^~~~~~
> In file included from pipe.cpp:20:
> In file included from ./project.h:154:
> ./eventmachine.h:46:2: warning: 'const' type qualifier on return type has no 
> effect [-Wignored-qualifiers]
>         const unsigned long evma_install_oneshot_timer (int seconds);
>         ^~~~~~
> ./eventmachine.h:47:2: warning: 'const' type qualifier on return type has no 
> effect [-Wignored-qualifiers]
>         const unsigned long evma_connect_to_server (const char *bind_addr, 
> int bind_port, const char *server, int port);
>         ^~~~~~
> ./eventmachine.h:48:2: warning: 'const' type qualifier on return type has no 
> effect [-Wignored-qualifiers]
>         const unsigned long evma_connect_to_unix_server (const char *server);
>         ^~~~~~
> ./eventmachine.h:50:2: warning: 'const' type qualifier on return type has no 
> effect [-Wignored-qualifiers]
>         const unsigned long evma_attach_fd (int file_descriptor, int 
> watch_mode);
>         ^~~~~~
> ./eventmachine.h:65:2: warning: 'const' type qualifier on return type has no 
> effect [-Wignored-qualifiers]
>         const unsigned long evma_create_tcp_server (const char *address, int 
> port);
>         ^~~~~~
> ./eventmachine.h:66:2: warning: 'const' type qualifier on return type has no 
> effect [-Wignored-qualifiers]
>         const unsigned long evma_create_unix_domain_server (const char 
> *filename);
>         ^~~~~~
> ./eventmachine.h:67:2: warning: 'const' type qualifier on return type has no 
> effect [-Wignored-qualifiers]
>         const unsigned long evma_open_datagram_socket (const char *server, 
> int port);
>         ^~~~~~
> ./eventmachine.h:68:2: warning: 'const' type qualifier on return type has no 
> effect [-Wignored-qualifiers]
>         const unsigned long evma_open_keyboard();
>         ^~~~~~
> ./eventmachine.h:103:2: warning: 'const' type qualifier on return type has no 
> effect [-Wignored-qualifiers]
>         const unsigned long evma_popen (char * const*cmd_strings);
>         ^~~~~~
> ./eventmachine.h:105:2: warning: 'const' type qualifier on return type has no 
> effect [-Wignored-qualifiers]
>         const unsigned long evma_watch_filename (const char *fname);
>         ^~~~~~
> ./eventmachine.h:108:2: warning: 'const' type qualifier on return type has no 
> effect [-Wignored-qualifiers]
>         const unsigned long evma_watch_pid (int);
>         ^~~~~~
> In file included from binder.cpp:20:
> In file included from ./project.h:154:
> ./eventmachine.h:46:2: warningIn file included from em.cpp: 'const' type 
> qualifier on return type has no effect [-Wignored-qualifiers]
> :23:
> In file included from ./project.h        const unsigned long 
> evma_install_oneshot_timer (int seconds);
>         ^~~~~~
> :154:
> ./eventmachine.h:46:2: warning: 'const' type qualifier on return type has no 
> effect [-Wignored-qualifiers]
> ./eventmachine.h:47:2:         const unsigned long evma_install_oneshot_timer 
> (int seconds);
>         ^~~~~~warning: 
> 'const' type qualifier on return type has no effect [-Wignored-qualifiers]
>         const unsigned long evma_connect_to_server (const char *bind_addr, 
> int bind_port, const char *server, int port);
>         ^~~~~~
> ./eventmachine.h:47:2: warning: 'const' type qualifier on return type has no 
> effect [-Wignored-qualifiers]
> ./eventmachine.h        const unsigned long evma_connect_to_server (const 
> char *bind_addr, int bind_port, const char *server, int port);
>         ^~~~~~
> :48:2: warning: 'const' type qualifier on return type has no effect 
> [-Wignored-qualifiers]
> ./eventmachine.h:48:2: warning: 'const' type qualifier on return type has no 
> effect [-Wignored-qualifiers]
>         const unsigned long evma_connect_to_unix_server (const char *server);
>         ^~~~~~
>         const unsigned long evma_connect_to_unix_server (const char *server);
>         ^~~~~~
> ./eventmachine.h:50:./eventmachine.h:50:22: warning: warning: : 'const' type 
> qualifier on return type has no effect [-Wignored-qualifiers]
> 'const' type qualifier on return type has no effect [-Wignored-qualifiers]
>         const unsigned long evma_attach_fd (int file_descriptor, int 
> watch_mode);
>         ^~~~~~
>         const unsigned long evma_attach_fd (int file_descriptor, int 
> watch_mode);
>         ^~~~~~
> ./eventmachine.h:65:2: warning: 'const' type qualifier on return type has no 
> effect [-Wignored-qualifiers]
> ./eventmachine.h:65:2: warning: 'const' type qualifier on return type has no 
> effect [-Wignored-qualifiers]        const unsigned long 
> evma_create_tcp_server (const char *address, int port);
>         ^~~~~~
>         const unsigned long evma_create_tcp_server (const char *address, int 
> port);
>         ^~~~~~
> ./eventmachine.h:66:2: ./eventmachine.h:66warning: 'const' type qualifier on 
> return type has no effect [-Wignored-qualifiers]
> :2: warning: 'const' type qualifier on return type has no effect 
> [-Wignored-qualifiers]
>         const unsigned long evma_create_unix_domain_server (const char 
> *filename);
>         ^~~~~~
>         const unsigned long evma_create_unix_domain_server (const char 
> *filename);
>         ^~~~~~
> ./eventmachine.h:67:2: warning: ./eventmachine.h:'const' type qualifier on 
> return type has no effect [-Wignored-qualifiers]67
> :2: warning: 'const' type qualifier on return type has no effect 
> [-Wignored-qualifiers]
>         const unsigned long evma_open_datagram_socket (const char *server, 
> int port);
>         ^~~~~~
>         const unsigned long evma_open_datagram_socket (const char *server, 
> int port);
>         ^~~~~~
> ./eventmachine.h./eventmachine.h::6868::22::  warning: 'const' type qualifier 
> on return type has no effect [-Wignored-qualifiers]
> warning: 'const' type qualifier on return type has no effect 
> [-Wignored-qualifiers]
>         const unsigned long evma_open_keyboard();
>         ^~~~~~
>         const unsigned long evma_open_keyboard();
>         ^~~~~~
> ./eventmachine.h:103:2: warning: 'const' type qualifier on return type has no 
> effect [-Wignored-qualifiers]
>         const unsigned long evma_popen (char * const*cmd_strings);
>         ^~~~~~
> ./eventmachine.h:103:2: warning: 'const' type qualifier on return type has no 
> effect [-Wignored-qualifiers]
> ./eventmachine.h:105:2        const unsigned long evma_popen (char * 
> const*cmd_strings);:
>          ^~~~~~warning
> : 'const' type qualifier on return type has no effect [-Wignored-qualifiers]
>         const unsigned long evma_watch_filename (const char *fname);
>         ^~~~~~
> ./eventmachine.h:105:2: warning: 'const' type qualifier on return type has no 
> effect [-Wignored-qualifiers]
> ./eventmachine.h:108:2: warning:         const unsigned long 
> evma_watch_filename (const char *fname);
> 'const' type qualifier on return type has no effect [-Wignored-qualifiers]
>         ^~~~~~
>         const unsigned long evma_watch_pid (int);
>         ^~~~~~
> In file included from page.cpp:21:
> In file included from ./project.h:154:
> ./eventmachine.h:46:2./eventmachine.h:108: warning: 'const' type qualifier on 
> return type has no effect [-Wignored-qualifiers]
> :2:         const unsigned long evma_install_oneshot_timer (int seconds);
>         ^~~~~~
> warning: 'const' type qualifier on return type has no effect 
> [-Wignored-qualifiers]
>         const unsigned long evma_watch_pid (int);
>         ^~~~~~
> ./eventmachine.h:47:2: warning: 'const' type qualifier on return type has no 
> effect [-Wignored-qualifiers]
>         const unsigned long evma_connect_to_server (const char *bind_addr, 
> int bind_port, const char *server, int port);
>         ^~~~~~
> ./eventmachine.h:48:2: warning: 'const' type qualifier on return type has no 
> effect [-Wignored-qualifiers]
>         const unsigned long evma_connect_to_unix_server (const char *server);
>         ^~~~~~
> ./eventmachine.h:50:2: warning: 'const' type qualifier on return type has no 
> effect [-Wignored-qualifiers]
>         const unsigned long evma_attach_fd (int file_descriptor, int 
> watch_mode);
>         ^~~~~~
> ./eventmachine.h:65:2: warning: 'const' type qualifier on return type has no 
> effect [-Wignored-qualifiers]
>         const unsigned long evma_create_tcp_server (const char *address, int 
> port);
>         ^~~~~~
> ./eventmachine.h:66:2: warning: 'const' type qualifier on return type has no 
> effect [-Wignored-qualifiers]
>         const unsigned long evma_create_unix_domain_server (const char 
> *filename);
>         ^~~~~~
> ./eventmachine.h:67:2: warning: 'const' type qualifier on return type has no 
> effect [-Wignored-qualifiers]
>         const unsigned long evma_open_datagram_socket (const char *server, 
> int port);
>         ^~~~~~
> ./eventmachine.h:68:2: warning: 'const' type qualifier on return type has no 
> effect [-Wignored-qualifiers]
>         const unsigned long evma_open_keyboard();
>         ^~~~~~
> In file included from kb.cppIn file included from rubymain.cpp:20:
> :In file included from 20:
> In file included from ./project.h:154./project.h:154:
> ./eventmachine.h:46:2:
> ./eventmachine.h: warning: :46'const' type qualifier on return type has no 
> effect [-Wignored-qualifiers]:2
> : warning: 'const' type qualifier on return type has no effect 
> [-Wignored-qualifiers]
>         const unsigned long evma_install_oneshot_timer (int seconds);
>         ^~~~~~
>         const unsigned long evma_install_oneshot_timer (int seconds);
>         ^~~~~~
> ./eventmachine.h:47:2:./eventmachine.h:47 :2: warning: warning: 'const' type 
> qualifier on return type has no effect [-Wignored-qualifiers]'const' type 
> qualifier on return type has no effect
> [-Wignored-qualifiers]
>         const unsigned long evma_connect_to_server (const char *bind_addr, 
> int bind_port, const char *server, int port);
>         ^~~~~~
>         const unsigned long evma_connect_to_server (const char *bind_addr, 
> int bind_port, const char *server, int port);
>         ^~~~~~
> ./eventmachine.h:103:2: warning: ./eventmachine.h:'const' type qualifier on 
> return type has no effect [-Wignored-qualifiers]
> 48:2./eventmachine.h:48:: warning: 'const' type qualifier on return type has 
> no effect [-Wignored-qualifiers]
>         const unsigned long evma_popen (char * const*cmd_strings);
> 2        ^~~~~~
> : warning: 'const' type qualifier on return type has no effect 
> [-Wignored-qualifiers]
>         const unsigned long evma_connect_to_unix_server (const char *server);
>         ^~~~~~
>         const unsigned long evma_connect_to_unix_server (const char *server);
>         ^~~~~~
> ./eventmachine.h:105:2: warning: 'const' type qualifier on return type has no 
> effect [-Wignored-qualifiers]
>         const unsigned long evma_watch_filename (const char *fname);
>         ^~~~~~
> ./eventmachine.h:50:2:./eventmachine.h:50:2:  warning: 'const' type qualifier 
> on return type has no effect [-Wignored-qualifiers]
> warning: 'const' type qualifier on return type has no effect 
> [-Wignored-qualifiers]
>         const unsigned long evma_attach_fd (int file_descriptor, int 
> watch_mode);
>         ^~~~~~
> ./eventmachine.h        const unsigned long evma_attach_fd (int 
> file_descriptor, int watch_mode);:
> 108        ^~~~~~:
> 2: warning: 'const' type qualifier on return type has no effect 
> [-Wignored-qualifiers]
>         const unsigned long evma_watch_pid (int);
>         ^~~~~~
> ./eventmachine.h:65:2: ./eventmachine.h:65:2: warning: warning'const' type 
> qualifier on return type has no effect [-Wignored-qualifiers]
> : 'const' type qualifier on return type has no effect [-Wignored-qualifiers]
>         const unsigned long evma_create_tcp_server (const char *address, int 
> port);
>         ^~~~~~
>         const unsigned long evma_create_tcp_server (const char *address, int 
> port);
>         ^~~~~~
> ./eventmachine.h:66:./eventmachine.h2: warning: :'const' type qualifier on 
> return type has no effect [-Wignored-qualifiers]
> 66:2: warning: 'const' type qualifier on return type has no effect 
> [-Wignored-qualifiers]
>         const unsigned long evma_create_unix_domain_server (const char 
> *filename);
>         ^~~~~~
>         const unsigned long evma_create_unix_domain_server (const char 
> *filename);
>         ^~~~~~
> ./eventmachine.h:67:2: warning: 'const' type qualifier on return type has no 
> effect [-Wignored-qualifiers]
> ./eventmachine.h:67:2: warning: 'const' type qualifier on return type has no 
> effect [-Wignored-qualifiers]
>         const unsigned long evma_open_datagram_socket (const char *server, 
> int port);
>         ^~~~~~
>         const unsigned long evma_open_datagram_socket (const char *server, 
> int port);
>         ^~~~~~
> ./eventmachine.h:68:2: warning: 'const' type qualifier on return type has no 
> effect [-Wignored-qualifiers]
> ./eventmachine.h:68:2: warning: 'const' type qualifier on return type has no 
> effect [-Wignored-qualifiers]
>         const unsigned long evma_open_keyboard();
>         ^~~~~~
>         const unsigned long evma_open_keyboard();
>         ^~~~~~
> ./eventmachine.h:103:2: warning./eventmachine.h:103:2: warning: 'const' type 
> qualifier on return type has no effect [-Wignored-qualifiers]
> : 'const' type qualifier on return type has no effect [-Wignored-qualifiers]
>         const unsigned long evma_popen (char * const*cmd_strings);
>         ^~~~~~
>         const unsigned long evma_popen (char * const*cmd_strings);
>         ^~~~~~
> ./eventmachine.h./eventmachine.h::105105::2: warning: 'const' type qualifier 
> on return type has no effect [-Wignored-qualifiers]
> 2: warning: 'const' type qualifier on return type has no effect 
> [-Wignored-qualifiers]
>         const unsigned long evma_watch_filename (const char *fname);
>         ^~~~~~
>         const unsigned long evma_watch_filename (const char *fname);
>         ^~~~~~
> ./eventmachine.h:108:2: warning: 'const' type qualifier on return type has no 
> effect [-Wignored-qualifiers]
> ./eventmachine.h:108:2: warning: 'const' type qualifier on return type has no 
> effect [-Wignored-qualifiers]
>         const unsigned long evma_watch_pid (int);
>         ^~~~~~
>         const unsigned long evma_watch_pid (int);
>         ^~~~~~
> page.cpp:55:15: warning: implicit conversion loses integer precision: 
> 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
>                 *length = p.Size;
>                         ~ ~~^~~~
> In file included from cmain.cpp:20:
> In file included from ./project.h:154:
> ./eventmachine.h:46:2: warning: 'const' type qualifier on return type has no 
> effect [-Wignored-qualifiers]
>         const unsigned long evma_install_oneshot_timer (int seconds);
>         ^~~~~~
> ./eventmachine.h:47:2: warning: 'const' type qualifier on return type has no 
> effect [-Wignored-qualifiers]
>         const unsigned long evma_connect_to_server (const char *bind_addr, 
> int bind_port, const char *server, int port);
>         ^~~~~~
> ./eventmachine.h:48:2: warning: 'const' type qualifier on return type has no 
> effect [-Wignored-qualifiers]
>         const unsigned long evma_connect_to_unix_server (const char *server);
>         ^~~~~~
> ./eventmachine.h:50:2: warning: 'const' type qualifier on return type has no 
> effect [-Wignored-qualifiers]
>         const unsigned long evma_attach_fd (int file_descriptor, int 
> watch_mode);
>         ^~~~~~
> ./eventmachine.h:65:2: warning: 'const' type qualifier on return type has no 
> effect [-Wignored-qualifiers]
>         const unsigned long evma_create_tcp_server (const char *address, int 
> port);
>         ^~~~~~
> ./eventmachine.h:66:2: warning: 'const' type qualifier on return type has no 
> effect [-Wignored-qualifiers]
>         const unsigned long evma_create_unix_domain_server (const char 
> *filename);
>         ^~~~~~
> ./eventmachine.h:67:2: warning: 'const' type qualifier on return type has no 
> effect [-Wignored-qualifiers]
>         const unsigned long evma_open_datagram_socket (const char *server, 
> int port);
>         ^~~~~~
> ./eventmachine.h:68:2: warning: 'const' type qualifier on return type has no 
> effect [-Wignored-qualifiers]
>         const unsigned long evma_open_keyboard();
>         ^~~~~~
> ./eventmachine.h:103:2: warning: 'const' type qualifier on return type has no 
> effect [-Wignored-qualifiers]
>         const unsigned long evma_popen (char * const*cmd_strings);
>         ^~~~~~
> ./eventmachine.h:105:2: warning: 'const' type qualifier on return type has no 
> effect [-Wignored-qualifiers]
>         const unsigned long evma_watch_filename (const char *fname);
>         ^~~~~~
> ./eventmachine.h:108:2: warning: 'const' type qualifier on return type has no 
> effect [-Wignored-qualifiers]
>         const unsigned long evma_watch_pid (int);
>         ^~~~~~
> cmain.cpp:96:12: warning: 'const' type qualifier on return type has no effect 
> [-Wignored-qualifiers]
> extern "C" const unsigned long evma_install_oneshot_timer (int seconds)
>            ^~~~~~
> cmain.cpp:107:12: warning: 'const' type qualifier on return type has no 
> effect [-Wignored-qualifiers]
> extern "C" const unsigned long evma_connect_to_server (const char *bind_addr, 
> int bind_port, const char *server, int port)
>            ^~~~~~
> cmain.cpp:117:12: warning: 'const' type qualifier on return type has no 
> effect [-Wignored-qualifiers]
> extern "C" const unsigned long evma_connect_to_unix_server (const char 
> *server)
>            ^~~~~~
> In file included from ed.cpp:20:
> In file included from ./project.h:154:
> cmain.cpp:127:12: warning: 'const' type qualifier on return type has no 
> effect [-Wignored-qualifiers]./eventmachine.h
> :46:2: extern "C" const unsigned long evma_attach_fd (int file_descriptor, 
> int watch_mode)
>            ^~~~~~
> warning: 'const' type qualifier on return type has no effect 
> [-Wignored-qualifiers]
>         const unsigned long evma_install_oneshot_timer (int seconds);
>         ^~~~~~
> ./eventmachine.h:47:2: warning: 'const' type qualifier on return type has no 
> effect [-Wignored-qualifiers]
>         const unsigned long evma_connect_to_server (const char *bind_addr, 
> int bind_port, const char *server, int port);
>         ^~~~~~
> ./eventmachine.h:48:2: warning: 'const' type qualifier on return type has no 
> effect [-Wignored-qualifiers]
>         const unsigned long evma_connect_to_unix_server (const char *server);
>         ^~~~~~
> ./eventmachine.h:50:2: warning: 'const' type qualifier on return type has no 
> effect [-Wignored-qualifiers]
>         const unsigned long evma_attach_fd (int file_descriptor, int 
> watch_mode);
>         ^~~~~~
> ./eventmachine.h:65:2: warning: 'const' type qualifier on return type has no 
> effect [-Wignored-qualifiers]
>         const unsigned long evma_create_tcp_server (const char *address, int 
> port);
>         ^~~~~~
> ./eventmachine.h:66:2: warning: 'const' type qualifier on return type has no 
> effect [-Wignored-qualifiers]
>         const unsigned long evma_create_unix_domain_server (const char 
> *filename);
>         ^~~~~~
> ./eventmachine.h:67:2: warning: 'const' type qualifier on return type has no 
> effect [-Wignored-qualifiers]
>         const unsigned long evma_open_datagram_socket (const char *server, 
> int port);
>         ^~~~~~
> ./eventmachine.h:68:2: warning: 'const' type qualifier on return type has no 
> effect [-Wignored-qualifiers]
>         const unsigned long evma_open_keyboard();
>         ^~~~~~
> ./eventmachine.h:103:2: warning: 'const' type qualifier on return type has no 
> effect [-Wignored-qualifiers]
>         const unsigned long evma_popen (char * const*cmd_strings);
>         ^~~~~~
> ./eventmachine.h:105:2: warning: 'const' type qualifier on return type has no 
> effect [-Wignored-qualifiers]
>         const unsigned long evma_watch_filename (const char *fname);
>         ^~~~~~
> rubymain.cpp:803:13: warning: implicit conversion loses integer precision: 
> 'long' to 'int' [-Wshorten-64-to-32]
>                 int len = RARRAY_LEN(cmd);
>                     ~~~   ^~~~~~~~~~~~~~~
> ./eventmachine.h:108:2: warning: 'const' type qualifier on return type has no 
> effect [-Wignored-qualifiers]
> /Users/bbannier/src/homebrew/Cellar/ruby/2.4.1_1/include/ruby-2.4.0/ruby/ruby.h:1026:23:
>         const unsigned long evma_watch_pid (int);
>         ^~~~~~
>  note: expanded from macro 'RARRAY_LEN'
> #define RARRAY_LEN(a) rb_array_len(a)
>                       ^~~~~~~~~~~~~~~
> rubymain.cpp:1020:42: warning: implicit conversion loses integer precision: 
> 'VALUE' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
>         return INT2NUM (evma_set_rlimit_nofile (arg));
>                         ~~~~~~~~~~~~~~~~~~~~~~  ^~~
> /Users/bbannier/src/homebrew/Cellar/ruby/2.4.1_1/include/ruby-2.4.0/ruby/ruby.h:1538:31:
>  note: expanded from macro 'INT2NUM'
> #define INT2NUM(x) RB_INT2NUM(x)
>                               ^
> /Users/bbannier/src/homebrew/Cellar/ruby/2.4.1_1/include/ruby-2.4.0/ruby/ruby.h:1515:41:
>  note: expanded from macro 'RB_INT2NUM'
> # define RB_INT2NUM(v) RB_INT2FIX((int)(v))
>                                         ^
> /Users/bbannier/src/homebrew/Cellar/ruby/2.4.1_1/include/ruby-2.4.0/ruby/ruby.h:231:33:
>  note: expanded from macro 'RB_INT2FIX'
> #define RB_INT2FIX(i) (((VALUE)(i))<<1 | RUBY_FIXNUM_FLAG)
>                                 ^
> em.cpp:75:2:pipe.cpp:160:11: warning: implicit conversion loses integer 
> precision: 'ssize_t' (aka 'long') to 'int' [-Wshorten-64-to-32]
>                 int r = read (sd, readbuffer, sizeof(readbuffer) - 1);
>                     ~   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> pipe.cpp:217:36: warning: implicit conversion loses integer precision: 
> 'unsigned long' to 'int' [-Wshorten-64-to-32]
>                         int len = sizeof(output_buffer) - nbytes;
>                             ~~~   ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
> pipe.cpp:231:22: warning: implicit conversion loses integer precision: 
> 'ssize_t' (aka 'long') to 'int' [-Wshorten-64-to-32]
>         int bytes_written = write (GetSocket(), output_buffer, nbytes);
>             ~~~~~~~~~~~~~   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> pipe.cpp:236:21: warning: implicit conversion loses integer precision: 
> 'unsigned long' to 'int' [-Wshorten-64-to-32]
>                         int len = nbytes - bytes_written;
>                             ~~~   ~~~~~~~^~~~~~~~~~~~~~~
>  warning: field 'LoopBreakerWriter' will be initialized after field 
> 'NumCloseScheduled' [-Wreorder]
>         LoopBreakerWriter (-1),
>         ^
> In file included from ssl.cpp:23:
> In file included from ./project.h:154:
> ./eventmachine.h:46:2: warning: 'const' type qualifier on return type has no 
> effect [-Wignored-qualifiers]
>         const unsigned long evma_install_oneshot_timer (int seconds);
>         ^~~~~~
> ./eventmachine.h:47:2: warning: 'const' type qualifier on return type has no 
> effect [-Wignored-qualifiers]
> em.cpp:265:14: warning: implicit conversion loses integer precision: 'rlim_t' 
> (aka 'unsigned long long') to 'int' [-Wshorten-64-to-32]
>         const unsigned long evma_connect_to_server (const char *bind_addr, 
> int bind_port, const char *server, int port);
>         ^~~~~~
>         return rlim.rlim_cur;
>         ~~~~~~ ~~~~~^~~~~~~~
> ./eventmachine.h:48:2: warning: 'const' type qualifier on return type has no 
> effect [-Wignored-qualifiers]
>         const unsigned long evma_connect_to_unix_server (const char *server);
>         ^~~~~~
> ./eventmachine.h:50:2: warning: 'const' type qualifier on return type has no 
> effect [-Wignored-qualifiers]
>         const unsigned long evma_attach_fd (int file_descriptor, int 
> watch_mode);
>         ^~~~~~
> ./eventmachine.h:65:2: warning: 'const' type qualifier on return type has no 
> effect [-Wignored-qualifiers]
>         const unsigned long evma_create_tcp_server (const char *address, int 
> port);
>         ^~~~~~
> ./eventmachine.h:66:2: warning: 'const' type qualifier on return type has no 
> effect [-Wignored-qualifiers]
>         const unsigned long evma_create_unix_domain_server (const char 
> *filename);
>         ^~~~~~
> ./eventmachine.h:67:2: warning: 'const' type qualifier on return type has no 
> effect [-Wignored-qualifiers]
>         const unsigned long evma_open_datagram_socket (const char *server, 
> int port);
>         ^~~~~~
> ./eventmachine.h:68:2: warning: 'const' type qualifier on return type has no 
> effect [-Wignored-qualifiers]
>         const unsigned long evma_open_keyboard();
>         ^~~~~~
> ./eventmachine.h:103:2: warning: 'const' type qualifier on return type has no 
> effect [-Wignored-qualifiers]
>         const unsigned long evma_popen (char * const*cmd_strings);
>         ^~~~~~
> ./eventmachine.h:105:2: warning: 'const' type qualifier on return type has no 
> effect [-Wignored-qualifiers]
>         const unsigned long evma_watch_filename (const char *fname);
>         ^~~~~~
> ./eventmachine.h:108:2: warning: 'const' type qualifier on return type has no 
> effect [-Wignored-qualifiers]
>         const unsigned long evma_watch_pid (int);
>         ^~~~~~
> ed.cpp:297:39: warning: implicit conversion loses integer precision: 
> 'unsigned long' to 'int' [-Wshorten-64-to-32]
>                         ProxyTarget->SendOutboundData(buf, proxied);
>                                      ~~~~~~~~~~~~~~~~      ^~~~~~~
> ed.cpp:303:17: warning: comparison of integers of different signs: 'unsigned 
> long' and 'int' [-Wsign-compare]
>                                 if (proxied < size) {
>                                     ~~~~~~~ ^ ~~~~
> em.cpp:736:29: warning: cmain.cpp:269:12: warning: implicit conversion loses 
> integer precision: 'std::__1::vector<EventableDescriptor *, 
> std::__1::allocator<EventableDescriptor *> >::size_type' (aka
> 'unsigned long') to 'int' [-Wshorten-64-to-32]
>         int nSockets = Descriptors.size();
>             ~~~~~~~~   ~~~~~~~~~~~~^~~~~~
> 'const' type qualifier on return type has no effect [-Wignored-qualifiers]
> extern "C" const unsigned long evma_create_tcp_server (const char *address, 
> int port)
>            ^~~~~~
> cmain.cpp:279:12: warning: 'const' type qualifier on return type has no 
> effect [-Wignored-qualifiers]
> extern "C" const unsigned long evma_create_unix_domain_server (const char 
> *filename)
>            ^~~~~~
> cmain.cpp:289:12: warning: 'const' type qualifier on return type has no 
> effect [-Wignored-qualifiers]
> extern "C" const unsigned long evma_open_datagram_socket (const char 
> *address, int port)
>            ^~~~~~
> cmain.cpp:299:12: warning: 'const' type qualifier on return type has no 
> effect [-Wignored-qualifiers]
> extern "C" const unsigned long evma_open_keyboard()
>            ^~~~~~
> cmain.cpp:309:12: warning: 'const' type qualifier on return type has no 
> effect [-Wignored-qualifiers]
> extern "C" const unsigned long evma_watch_filename (const char *fname)
>            ^~~~~~
> cmain.cpp:329:12: warning: 'const' type qualifier on return type has no 
> effect [-Wignored-qualifiers]
> extern "C" const unsigned long evma_watch_pid (int pid)
>            ^~~~~~
> em.cpp:827:9: error: use of undeclared identifier 'rb_thread_select'; did you 
> mean 'rb_thread_fd_select'?
>         return EmSelect (maxsocket+1, &fdreads, &fdwrites, &fderrors, &tv);
>                ^~~~~~~~
>                rb_thread_fd_select
> ./em.h:25:20: note: expanded from macro 'EmSelect'
>   #define EmSelect rb_thread_select
>                    ^
> /Users/bbannier/src/homebrew/Cellar/ruby/2.4.1_1/include/ruby-2.4.0/ruby/intern.h:456:5:
>  note: 'rb_thread_fd_select' declared here
> int rb_thread_fd_select(int, rb_fdset_t *, rb_fdset_t *, rb_fdset_t *, struct 
> timeval *);
>     ^
> em.cpp:827:32: error: cannot initialize a parameter of type 'rb_fdset_t *' 
> with an rvalue of type 'fd_set *'
>         return EmSelect (maxsocket+1, &fdreads, &fdwrites, &fderrors, &tv);
>                                       ^~~~~~~~
> /Users/bbannier/src/homebrew/Cellar/ruby/2.4.1_1/include/ruby-2.4.0/ruby/intern.h:456:42:
>  note: passing argument to parameter here
> int rb_thread_fd_select(int, rb_fdset_t *, rb_fdset_t *, rb_fdset_t *, struct 
> timeval *);
>                                          ^
> ed.cpp:767:11: warning: implicit conversion loses integer precision: 
> 'ssize_t' (aka 'long') to 'int' [-Wshorten-64-to-32]
>                 int r = read (sd, readbuffer, sizeof(readbuffer) - 1);
>                     ~   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> cmain.cpp:678:12: warning: 'const' type qualifier on return type has no 
> effect [-Wignored-qualifiers]
> extern "C" const unsigned long evma_popen (char * const*cmd_strings)
>            ^~~~~~
> cmain.cpp:778:6: warning: implicit conversion loses integer precision: 
> 'ssize_t' (aka 'long') to 'int' [-Wshorten-64-to-32]
>         r = read (Fd, data, filesize);
>           ~ ^~~~~~~~~~~~~~~~~~~~~~~~~
> ed.cpp:980:29: warning: implicit conversion loses integer precision: 
> 'std::__1::deque<ConnectionDescriptor::OutboundPage, 
> std::__1::allocator<ConnectionDescriptor::OutboundPage> >::size_type' (aka
> 'unsigned long') to 'int' [-Wshorten-64-to-32]
>         int iovcnt = OutboundPages.size();
>             ~~~~~~   ~~~~~~~~~~~~~~^~~~~~
> ed.cpp:1029:22: warning: implicit conversion loses integer precision: 
> 'ssize_t' (aka 'long') to 'int' [-Wshorten-64-to-32]
>         int bytes_written = writev (GetSocket(), iov, iovcnt);
>             ~~~~~~~~~~~~~   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> em.cpp:946:6: error: use of undeclared identifier 'rb_thread_select'; did you 
> mean 'rb_thread_fd_select'?
>                                         EmSelect (0, NULL, NULL, NULL, &tv);
>                                         ^~~~~~~~
>                                         rb_thread_fd_select
> ./em.h:25:20: note: expanded from macro 'EmSelect'
>   #define EmSelect rb_thread_select
>                    ^
> /Users/bbannier/src/homebrew/Cellar/ruby/2.4.1_1/include/ruby-2.4.0/ruby/intern.h:456:5:
>  note: 'rb_thread_fd_select' declared here
> int rb_thread_fd_select(int, rb_fdset_t *, rb_fdset_t *, rb_fdset_t *, struct 
> timeval *);
>     ^
> em.cpp:1027:1: warning: 'const' type qualifier on return type has no effect 
> [-Wignored-qualifiers]
> const unsigned long EventMachine_t::InstallOneshotTimer (int milliseconds)
> ^~~~~~
> em.cpp:1049:1: warning: 'const' type qualifier on return type has no effect 
> [-Wignored-qualifiers]
> const unsigned long EventMachine_t::ConnectToServer (const char *bind_addr, 
> int bind_port, const char *server, int port)
> ^~~~~~
> em.cpp:1235:1: warning: 'const' type qualifier on return type has no effect 
> [-Wignored-qualifiers]
> const unsigned long EventMachine_t::ConnectToUnixServer (const char *server)
> ^~~~~~
> em.cpp:1308:1: warning: 'const' type qualifier on return type has no effect 
> [-Wignored-qualifiers]
> const unsigned long EventMachine_t::AttachFD (int fd, bool watch_mode)
> ^~~~~~
> 23 warnings generated.
> em.cpp:1480:1: warning: ed.cpp:1595:11: warning: implicit conversion loses 
> integer precision: 'ssize_t' (aka 'long') to 'int' [-Wshorten-64-to-32]
>                 int r = recvfrom (sd, readbuffer, sizeof(readbuffer) - 1, 0, 
> (struct sockaddr*)&sin, &slen);
>                     ~   
> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> 'const' type qualifier on return type has no effect [-Wignored-qualifiers]
> const unsigned long EventMachine_t::CreateTcpServer (const char *server, int 
> port)
> ^~~~~~
> em.cpp:1563:1: warning: 'const' type qualifier on return type has no effect 
> [-Wignored-qualifiers]
> const unsigned long EventMachine_t::OpenDatagramSocket (const char *address, 
> int port)
> ^~~~~~
> ed.cpp:1665:11: warning: implicit conversion loses integer precision: 
> 'ssize_t' (aka 'long') to 'int' [-Wshorten-64-to-32]
>                 int s = sendto (sd, (char*)op->Buffer, op->Length, 0, (struct 
> sockaddr*)&(op->From), sizeof(op->From));
>                     ~   
> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> em.cpp:1826:1: warning: 'const' type qualifier on return type has no effect 
> [-Wignored-qualifiers]
> const unsigned long EventMachine_t::CreateUnixDomainServer (const char 
> *filename)
> ^~~~~~
> ed.cpp:1782:24: warning: implicit conversion loses integer precision: 
> 'unsigned long' to 'in_addr_t' (aka 'unsigned int') [-Wshorten-64-to-32]
>         pin.sin_addr.s_addr = HostAddr;
>                             ~ ^~~~~~~~
> em.cpp:1952:1: warning: 'const' type qualifier on return type has no effect 
> [-Wignored-qualifiers]
> const unsigned long EventMachine_t::Socketpair (char * const*cmd_strings)
> ^~~~~~
> em.cpp:2016:1: warning: 'const' type qualifier on return type has no effect 
> [-Wignored-qualifiers]
> const unsigned long EventMachine_t::OpenKeyboard()
> ^~~~~~
> em.cpp:2032:28: warning: implicit conversion loses integer precision: 
> 'unsigned long' to 'int' [-Wshorten-64-to-32]
>         return Descriptors.size() + NewDescriptors.size();
>         ~~~~~~ ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
> em.cpp:2040:1: warning: 'const' type qualifier on return type has no effect 
> [-Wignored-qualifiers]
> const unsigned long EventMachine_t::WatchPid (int pid)
> ^~~~~~
> em.cpp:2112:1: warning: 'const' type qualifier on return type has no effect 
> [-Wignored-qualifiers]
> const unsigned long EventMachine_t::WatchFile (const char *fpath)
> ^~~~~~
> In file included from em.cpp:23:
> In file included from ./project.h:150:
> ./em.h:189:12: warning: private field 'NextHeartbeatTime' is not used 
> [-Wunused-private-field]
>                 uint64_t NextHeartbeatTime;
>                          ^
> ./em.h:221:22: warning: private field 'inotify' is not used 
> [-Wunused-private-field]
>                 InotifyDescriptor *inotify; // pollable descriptor for our 
> inotify instance
>                                    ^
> 40 warnings and 3 errors generated.
> make: *** [em.o] Error 1
> make: *** Waiting for unfinished jobs....
> 23 warnings generated.
> 35 warnings generated.
> 23 warnings generated.
> 24 warnings generated.
> 25 warnings generated.
> 27 warnings generated.
> 31 warnings generated.
> make failed, exit code 2
> Gem files will remain installed in 
> /Users/bbannier/src/mesos/site/vendor/ruby/2.4.0/gems/eventmachine-1.0.3 for 
> inspection.
> Results logged to 
> /Users/bbannier/src/mesos/site/vendor/ruby/2.4.0/extensions/x86_64-darwin-16/2.4.0/eventmachine-1.0.3/gem_make.out
> An error occurred while installing eventmachine (1.0.3), and Bundler cannot 
> continue.
> Make sure that `gem install eventmachine -v '1.0.3'` succeeds before bundling.
> In Gemfile:
>   middleman-livereload was resolved to 3.1.0, which depends on
>     em-websocket was resolved to 0.5.0, which depends on
>       eventmachine
> {code}
> It seems eventmachine-1.0.3 has known and fixed issues on macOS-10.10.1 
> already. I suspect there might be a similar issue for the macOS-10.12.5 I am 
> using.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to