{"action":"created","issue":{"url":"https://api.github.com/repos/grpc/grpc/issues/4020","labels_url":"https://api.github.com/repos/grpc/grpc/issues/4020/labels{/name}","comments_url":"https://api.github.com/repos/grpc/grpc/issues/4020/comments","events_url":"https://api.github.com/repos/grpc/grpc/issues/4020/events","html_url":"https://github.com/grpc/grpc/issues/4020","id":114698615,"number":4020,"title":"can't install gem under 2.0.0 due to RUBY_TYPED_FREE_IMMEDIATELY","user":{"login":"glennmatthews","id":5603551,"avatar_url":"https://avatars.githubusercontent.com/u/5603551?v=3","gravatar_id":"","url":"https://api.github.com/users/glennmatthews","html_url":"https://github.com/glennmatthews","followers_url":"https://api.github.com/users/glennmatthews/followers","following_url":"https://api.github.com/users/glennmatthews/following{/other_user}","gists_url":"https://api.github.com/users/glennmatthews/gists{/gist_id}","starred_url":"https://api.github.com/users/glennmatthews/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/glennmatthews/subscriptions","organizations_url":"https://api.github.com/users/glennmatthews/orgs","repos_url":"https://api.github.com/users/glennmatthews/repos","events_url":"https://api.github.com/users/glennmatthews/events{/privacy}","received_events_url":"https://api.github.com/users/glennmatthews/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/grpc/grpc/labels/ruby","name":"ruby","color":"E0115F"},{"url":"https://api.github.com/repos/grpc/grpc/labels/wrapped%20languages","name":"wrapped languages","color":"103dff"}],"state":"open","locked":false,"assignee":{"login":"tbetbetbe","id":9272342,"avatar_url":"https://avatars.githubusercontent.com/u/9272342?v=3","gravatar_id":"","url":"https://api.github.com/users/tbetbetbe","html_url":"https://github.com/tbetbetbe","followers_url":"https://api.github.com/users/tbetbetbe/followers","following_url":"https://api.github.com/users/tbetbetbe/following{/other_user}","gists_url":"https://api.github.com/users/tbetbetbe/gists{/gist_id}","starred_url":"https://api.github.com/users/tbetbetbe/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tbetbetbe/subscriptions","organizations_url":"https://api.github.com/users/tbetbetbe/orgs","repos_url":"https://api.github.com/users/tbetbetbe/repos","events_url":"https://api.github.com/users/tbetbetbe/events{/privacy}","received_events_url":"https://api.github.com/users/tbetbetbe/received_events","type":"User","site_admin":false},"milestone":{"url":"https://api.github.com/repos/grpc/grpc/milestones/35","html_url":"https://github.com/grpc/grpc/milestones/GA","labels_url":"https://api.github.com/repos/grpc/grpc/milestones/35/labels","id":1207499,"number":35,"title":"GA","description":"","creator":{"login":"nicolasnoble","id":7281574,"avatar_url":"https://avatars.githubusercontent.com/u/7281574?v=3","gravatar_id":"","url":"https://api.github.com/users/nicolasnoble","html_url":"https://github.com/nicolasnoble","followers_url":"https://api.github.com/users/nicolasnoble/followers","following_url":"https://api.github.com/users/nicolasnoble/following{/other_user}","gists_url":"https://api.github.com/users/nicolasnoble/gists{/gist_id}","starred_url":"https://api.github.com/users/nicolasnoble/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nicolasnoble/subscriptions","organizations_url":"https://api.github.com/users/nicolasnoble/orgs","repos_url":"https://api.github.com/users/nicolasnoble/repos","events_url":"https://api.github.com/users/nicolasnoble/events{/privacy}","received_events_url":"https://api.github.com/users/nicolasnoble/received_events","type":"User","site_admin":false},"open_issues":284,"closed_issues":100,"state":"open","created_at":"2015-07-14T17:46:14Z","updated_at":"2015-11-10T23:16:26Z","due_on":null,"closed_at":null},"comments":7,"created_at":"2015-11-02T22:29:21Z","updated_at":"2015-11-11T15:08:06Z","closed_at":null,"body":"```\r\ncreating Makefile\r\nmake \"DESTDIR=\" clean\r\nmake \"DESTDIR=\"\r\ncompiling rb_server_credentials.c\r\nrb_server_credentials.c:94:5: error: ‘RUBY_TYPED_FREE_IMMEDIATELY’ undeclared here (not in a function)\r\nrb_server_credentials.c:95:1: error: excess elements in struct initializer [-Werror]\r\nrb_server_credentials.c:95:1: error: (near initialization for ‘grpc_rb_server_credentials_data_type’) [-Werror]\r\ncc1: all warnings being treated as errors\r\nmake: *** [rb_server_credentials.o] Error 1\r\nmake failed, exit code 2\r\n```\r\n\r\nLooks like `RUBY_TYPED_FREE_IMMEDIATELY` was added in Ruby 2.1.x and doesn't exist in 2.0.x. The fix appears to be to wrap these entries in `#ifdef RUBY_TYPED_FREE_IMMEDIATELY`."},"comment":{"url":"https://api.github.com/repos/grpc/grpc/issues/comments/155806940","html_url":"https://github.com/grpc/grpc/issues/4020#issuecomment-155806940","issue_url":"https://api.github.com/repos/grpc/grpc/issues/4020","id":155806940,"user":{"login":"jgeewax","id":112928,"avatar_url":"https://avatars.githubusercontent.com/u/112928?v=3","gravatar_id":"","url":"https://api.github.com/users/jgeewax","html_url":"https://github.com/jgeewax","followers_url":"https://api.github.com/users/jgeewax/followers","following_url":"https://api.github.com/users/jgeewax/following{/other_user}","gists_url":"https://api.github.com/users/jgeewax/gists{/gist_id}","starred_url":"https://api.github.com/users/jgeewax/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jgeewax/subscriptions","organizations_url":"https://api.github.com/users/jgeewax/orgs","repos_url":"https://api.github.com/users/jgeewax/repos","events_url":"https://api.github.com/users/jgeewax/events{/privacy}","received_events_url":"https://api.github.com/users/jgeewax/received_events","type":"User","site_admin":false},"created_at":"2015-11-11T15:08:06Z","updated_at":"2015-11-11T15:08:06Z","body":"OK, reproduced:\r\n\r\nBoot up Debian 8.2 (Jessie):\r\n\r\n```sh\r\n# Install RVM (to get Ruby 2.0.0): rvm.io\r\n$ gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3\r\n$ curl -sSL https://get.rvm.io | bash -s stable --ruby=2.0.0\r\n\r\n# Check that it worked\r\n$ ruby -v\r\nruby 2.0.0p643 (2015-02-25 revision 49749) [x86_64-linux]\r\n$ gem -v\r\n2.4.8\r\n\r\n# Install gRPC\r\n$ gem install grpc\r\nFetching: extlib-0.9.16.gem (100%)\r\nSuccessfully installed extlib-0.9.16\r\nFetching: jwt-1.5.2.gem (100%)\r\nSuccessfully installed jwt-1.5.2\r\nFetching: multi_json-1.11.2.gem (100%)\r\nSuccessfully installed multi_json-1.11.2\r\nFetching: multipart-post-2.0.0.gem (100%)\r\nSuccessfully installed multipart-post-2.0.0\r\nFetching: faraday-0.9.2.gem (100%)\r\nSuccessfully installed faraday-0.9.2\r\nFetching: addressable-2.3.8.gem (100%)\r\nSuccessfully installed addressable-2.3.8\r\nFetching: signet-0.6.1.gem (100%)\r\nSuccessfully installed signet-0.6.1\r\nFetching: memoist-0.12.0.gem (100%)\r\nSuccessfully installed memoist-0.12.0\r\nFetching: little-plugger-1.1.4.gem (100%)\r\nSuccessfully installed little-plugger-1.1.4\r\nFetching: logging-2.0.0.gem (100%)\r\nSuccessfully installed logging-2.0.0\r\nFetching: googleauth-0.4.2.gem (100%)\r\nSuccessfully installed googleauth-0.4.2\r\nFetching: google-protobuf-3.0.0.alpha.4.0.gem (100%)\r\nBuilding native extensions.  This could take a while...\r\nSuccessfully installed google-protobuf-3.0.0.alpha.4.0\r\nFetching: grpc-0.11.0.gem (100%)\r\nBuilding native extensions.  This could take a while...\r\nERROR:  Error installing grpc:\r\n\tERROR: Failed to build gem native extension.\r\n\r\n    /home/jjg/.rvm/rubies/ruby-2.0.0-p643/bin/ruby -r ./siteconf20151111-19285-q2ap2v.rb extconf.rb\r\nchecking for dlopen() in -ldl... yes\r\nchecking for inflate() in -lz... yes\r\nchecking for gpr_now() in -lgpr... yes\r\nchecking for grpc_channel_destroy() in -lgrpc... yes\r\ncreating Makefile\r\n\r\nmake \"DESTDIR=\" clean\r\n\r\nmake \"DESTDIR=\"\r\ncompiling rb_server_credentials.c\r\nrb_server_credentials.c:94:5: error: ‘RUBY_TYPED_FREE_IMMEDIATELY’ undeclared here (not in a function)\r\n     RUBY_TYPED_FREE_IMMEDIATELY\r\n     ^\r\nrb_server_credentials.c:95:1: error: excess elements in struct initializer [-Werror]\r\n };\r\n ^\r\nrb_server_credentials.c:95:1: error: (near initialization for ‘grpc_rb_server_credentials_data_type’) [-Werror]\r\ncc1: all warnings being treated as errors\r\nMakefile:223: recipe for target 'rb_server_credentials.o' failed\r\nmake: *** [rb_server_credentials.o] Error 1\r\n\r\nmake failed, exit code 2\r\n\r\nGem files will remain installed in /home/jjg/.rvm/gems/ruby-2.0.0-p643/gems/grpc-0.11.0 for inspection.\r\nResults logged to /home/jjg/.rvm/gems/ruby-2.0.0-p643/extensions/x86_64-linux/2.0.0/grpc-0.11.0/gem_make.out\r\n```"}}