From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on dcvr.yhbt.net X-Spam-Flag: YES X-Spam-Level: *** X-Spam-ASN: AS15169 209.85.128.0/17 X-Spam-Status: Yes, score=3.8 required=3.0 tests=BAYES_50,FREEMAIL_FROM, HTML_MESSAGE shortcircuit=no autolearn=no version=3.3.2 X-Spam-Report: * 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider * (doug.forster[at]gmail.com) * 3.0 HTML_MESSAGE BODY: HTML included in message * 0.8 BAYES_50 BODY: Bayes spam probability is 40 to 60% * [score: 0.4998] X-Original-To: raindrops-public@bogomips.org Delivered-To: pi@dcvr.yhbt.net Received: from mail-lb0-f180.google.com (mail-lb0-f180.google.com [209.85.217.180]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by dcvr.yhbt.net (Postfix) with ESMTPS id 5F70663385C for ; Thu, 9 Jul 2015 21:47:24 +0000 (UTC) Received: by lbnk3 with SMTP id k3so82443213lbn.1 for ; Thu, 09 Jul 2015 14:47:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:date:message-id:subject:from:to:content-type; bh=mux/m5rGAwtWDciR6aD7j26aWP/7CSIAYA9G9dogI6I=; b=C9sMyJZzWeDFzXbOa2PbEvWCE8N8G5Ry4suUPr2Fg6U49V8qX/iPEp+8XCHMfTO75Y NGkhW+OanKlqWBFR6yp6zBTFKCgq7adZtjkzdzeXaMxSG+RHciQFcNv+T7BFzoAMXua+ rBA3okh92zQtbC3ftq+KlFVy64fowYO9pZP7GjeVRlsQ227PClAHtNnvxMnOXIAdBzMG O9w+zgV1KfiZD4PqPtkza4kZgl/Hqm3olMXpzQ2MnBqL7VTFxiAoKYJqfR0zTqJUf7wv eyrFqKKdlxeop4Q7mvCt8a34jwQIDVwASK1CIW+bXYRYvA19D8W2MMmTJUw4OTbDJHyP U20g== MIME-Version: 1.0 X-Received: by 10.112.164.35 with SMTP id yn3mr16522441lbb.91.1436478442553; Thu, 09 Jul 2015 14:47:22 -0700 (PDT) Received: by 10.25.79.74 with HTTP; Thu, 9 Jul 2015 14:47:22 -0700 (PDT) Date: Thu, 9 Jul 2015 15:47:22 -0600 Message-ID: Subject: raindrops fails to install with ruby 2.2.2 From: Doug Forster To: raindrops-public@bogomips.org Content-Type: text/plain; charset=UTF-8 X-Content-Filtered-By: PublicInbox::Filter 0.0.1 Problem seems to be the removal of rb_thread_blocking_region in ruby. System Info: ruby 2.2.2p95 (2015-04-13 revision 50295) [x86_64-linux-musl] alpine linux apk --update add ruby ruby-dev build-base Build output: / # gem install unicorn Fetching: raindrops-0.14.0.gem (100%) Building native extensions. This could take a while... ERROR: Error installing unicorn: ERROR: Failed to build gem native extension. /usr/bin/ruby -r ./siteconf20150709-14-j1t8nj.rb extconf.rb checking for mmap() in sys/mman.h... yes checking for munmap() in sys/mman.h... yes checking for mremap() in sys/mman.h... yes checking for getpagesize() in unistd.h... yes checking for rb_thread_blocking_region()... no checking for rb_thread_io_blocking_region()... yes checking for GCC 4+ atomic builtins... yes creating Makefile make "DESTDIR=" clean make "DESTDIR=" compiling linux_tcp_info.c linux_tcp_info.c:5:23: fatal error: linux/tcp.h: No such file or directory #include ^ compilation terminated. Makefile:237: recipe for target 'linux_tcp_info.o' failed make: *** [linux_tcp_info.o] Error 1 make failed, exit code 2 Gem files will remain installed in /usr/lib/ruby/gems/2.2.0/gems/raindrops-0.14.0 for inspection. Results logged to /usr/lib/ruby/gems/2.2.0/extensions/x86_64-linux/2.2.0/raindrops-0.14.0/gem_make.out Other file: / # cat /usr/lib/ruby/gems/2.2.0/extensions/x86_64-linux/2.2.0/raindrops-0.14.0/mkmf.log have_func: checking for mmap() in sys/mman.h... -------------------- yes "gcc -o conftest -I/usr/include/ruby-2.2.0/x86_64-linux-musl -I/usr/include/ruby-2.2.0/ruby/backward -I/usr/include/ruby-2.2.0 -I. -Os -fomit-frame-pointer -Os -fomit-frame-pointer -fno-omit-frame-pointer -fno-strict-aliasing -fPIC conftest.c -L. -L/usr/lib -L. -Wl,--as-needed -fstack-protector -rdynamic -Wl,-export-dynamic -lruby -lpthread -ldl -lcrypt -lm -lc" checked program was: /* begin */ 1: #include "ruby.h" 2: 3: int main(int argc, char **argv) 4: { 5: return 0; 6: } /* end */ "gcc -o conftest -I/usr/include/ruby-2.2.0/x86_64-linux-musl -I/usr/include/ruby-2.2.0/ruby/backward -I/usr/include/ruby-2.2.0 -I. -Os -fomit-frame-pointer -Os -fomit-frame-pointer -fno-omit-frame-pointer -fno-strict-aliasing -fPIC conftest.c -L. -L/usr/lib -L. -Wl,--as-needed -fstack-protector -rdynamic -Wl,-export-dynamic -lruby -lpthread -ldl -lcrypt -lm -lc" checked program was: /* begin */ 1: #include "ruby.h" 2: 3: #include 4: 5: /*top*/ 6: extern int t(void); 7: int main(int argc, char **argv) 8: { 9: if (argc > 1000000) { 10: printf("%p", &t); 11: } 12: 13: return 0; 14: } 15: int t(void) { void ((*volatile p)()); p = (void ((*)()))mmap; return 0; } /* end */ -------------------- have_func: checking for munmap() in sys/mman.h... -------------------- yes "gcc -o conftest -I/usr/include/ruby-2.2.0/x86_64-linux-musl -I/usr/include/ruby-2.2.0/ruby/backward -I/usr/include/ruby-2.2.0 -I. -Os -fomit-frame-pointer -Os -fomit-frame-pointer -fno-omit-frame-pointer -fno-strict-aliasing -fPIC conftest.c -L. -L/usr/lib -L. -Wl,--as-needed -fstack-protector -rdynamic -Wl,-export-dynamic -lruby -lpthread -ldl -lcrypt -lm -lc" checked program was: /* begin */ 1: #include "ruby.h" 2: 3: #include 4: 5: /*top*/ 6: extern int t(void); 7: int main(int argc, char **argv) 8: { 9: if (argc > 1000000) { 10: printf("%p", &t); 11: } 12: 13: return 0; 14: } 15: int t(void) { void ((*volatile p)()); p = (void ((*)()))munmap; return 0; } /* end */ -------------------- have_func: checking for mremap() in sys/mman.h... -------------------- yes "gcc -o conftest -I/usr/include/ruby-2.2.0/x86_64-linux-musl -I/usr/include/ruby-2.2.0/ruby/backward -I/usr/include/ruby-2.2.0 -I. -Os -fomit-frame-pointer -D_GNU_SOURCE -Os -fomit-frame-pointer -fno-omit-frame-pointer -fno-strict-aliasing -fPIC conftest.c -L. -L/usr/lib -L. -Wl,--as-needed -fstack-protector -rdynamic -Wl,-export-dynamic -lruby -lpthread -ldl -lcrypt -lm -lc" checked program was: /* begin */ 1: #include "ruby.h" 2: 3: #include 4: 5: /*top*/ 6: extern int t(void); 7: int main(int argc, char **argv) 8: { 9: if (argc > 1000000) { 10: printf("%p", &t); 11: } 12: 13: return 0; 14: } 15: int t(void) { void ((*volatile p)()); p = (void ((*)()))mremap; return 0; } /* end */ -------------------- have_func: checking for getpagesize() in unistd.h... -------------------- yes "gcc -o conftest -I/usr/include/ruby-2.2.0/x86_64-linux-musl -I/usr/include/ruby-2.2.0/ruby/backward -I/usr/include/ruby-2.2.0 -I. -Os -fomit-frame-pointer -D_GNU_SOURCE -D_BSD_SOURCE -Os -fomit-frame-pointer -fno-omit-frame-pointer -fno-strict-aliasing -fPIC conftest.c -L. -L/usr/lib -L. -Wl,--as-needed -fstack-protector -rdynamic -Wl,-export-dynamic -lruby -lpthread -ldl -lcrypt -lm -lc" checked program was: /* begin */ 1: #include "ruby.h" 2: 3: #include 4: 5: /*top*/ 6: extern int t(void); 7: int main(int argc, char **argv) 8: { 9: if (argc > 1000000) { 10: printf("%p", &t); 11: } 12: 13: return 0; 14: } 15: int t(void) { void ((*volatile p)()); p = (void ((*)()))getpagesize; return 0; } /* end */ -------------------- have_func: checking for rb_thread_blocking_region()... -------------------- no "gcc -o conftest -I/usr/include/ruby-2.2.0/x86_64-linux-musl -I/usr/include/ruby-2.2.0/ruby/backward -I/usr/include/ruby-2.2.0 -I. -Os -fomit-frame-pointer -D_GNU_SOURCE -D_BSD_SOURCE -Os -fomit-frame-pointer -fno-omit-frame-pointer -fno-strict-aliasing -fPIC conftest.c -L. -L/usr/lib -L. -Wl,--as-needed -fstack-protector -rdynamic -Wl,-export-dynamic -lruby -lpthread -ldl -lcrypt -lm -lc" conftest.c: In function 't': conftest.c:13:57: error: 'rb_thread_blocking_region' undeclared (first use in this function) int t(void) { void ((*volatile p)()); p = (void ((*)()))rb_thread_blocking_region; return 0; } ^ conftest.c:13:57: note: each undeclared identifier is reported only once for each function it appears in checked program was: /* begin */ 1: #include "ruby.h" 2: 3: /*top*/ 4: extern int t(void); 5: int main(int argc, char **argv) 6: { 7: if (argc > 1000000) { 8: printf("%p", &t); 9: } 10: 11: return 0; 12: } 13: int t(void) { void ((*volatile p)()); p = (void ((*)()))rb_thread_blocking_region; return 0; } /* end */ "gcc -o conftest -I/usr/include/ruby-2.2.0/x86_64-linux-musl -I/usr/include/ruby-2.2.0/ruby/backward -I/usr/include/ruby-2.2.0 -I. -Os -fomit-frame-pointer -D_GNU_SOURCE -D_BSD_SOURCE -Os -fomit-frame-pointer -fno-omit-frame-pointer -fno-strict-aliasing -fPIC conftest.c -L. -L/usr/lib -L. -Wl,--as-needed -fstack-protector -rdynamic -Wl,-export-dynamic -lruby -lpthread -ldl -lcrypt -lm -lc" /tmp/ccEklkdf.o: In function `t': conftest.c:(.text+0x7): undefined reference to `rb_thread_blocking_region' collect2: error: ld returned 1 exit status checked program was: /* begin */ 1: #include "ruby.h" 2: 3: /*top*/ 4: extern int t(void); 5: int main(int argc, char **argv) 6: { 7: if (argc > 1000000) { 8: printf("%p", &t); 9: } 10: 11: return 0; 12: } 13: int t(void) { rb_thread_blocking_region(); return 0; } /* end */ -------------------- have_func: checking for rb_thread_io_blocking_region()... -------------------- yes "gcc -o conftest -I/usr/include/ruby-2.2.0/x86_64-linux-musl -I/usr/include/ruby-2.2.0/ruby/backward -I/usr/include/ruby-2.2.0 -I. -Os -fomit-frame-pointer -D_GNU_SOURCE -D_BSD_SOURCE -Os -fomit-frame-pointer -fno-omit-frame-pointer -fno-strict-aliasing -fPIC conftest.c -L. -L/usr/lib -L. -Wl,--as-needed -fstack-protector -rdynamic -Wl,-export-dynamic -lruby -lpthread -ldl -lcrypt -lm -lc" conftest.c: In function 't': conftest.c:13:57: error: 'rb_thread_io_blocking_region' undeclared (first use in this function) int t(void) { void ((*volatile p)()); p = (void ((*)()))rb_thread_io_blocking_region; return 0; } ^ conftest.c:13:57: note: each undeclared identifier is reported only once for each function it appears in checked program was: /* begin */ 1: #include "ruby.h" 2: 3: /*top*/ 4: extern int t(void); 5: int main(int argc, char **argv) 6: { 7: if (argc > 1000000) { 8: printf("%p", &t); 9: } 10: 11: return 0; 12: } 13: int t(void) { void ((*volatile p)()); p = (void ((*)()))rb_thread_io_blocking_region; return 0; } /* end */ "gcc -o conftest -I/usr/include/ruby-2.2.0/x86_64-linux-musl -I/usr/include/ruby-2.2.0/ruby/backward -I/usr/include/ruby-2.2.0 -I. -Os -fomit-frame-pointer -D_GNU_SOURCE -D_BSD_SOURCE -Os -fomit-frame-pointer -fno-omit-frame-pointer -fno-strict-aliasing -fPIC conftest.c -L. -L/usr/lib -L. -Wl,--as-needed -fstack-protector -rdynamic -Wl,-export-dynamic -lruby -lpthread -ldl -lcrypt -lm -lc" checked program was: /* begin */ 1: #include "ruby.h" 2: 3: /*top*/ 4: extern int t(void); 5: int main(int argc, char **argv) 6: { 7: if (argc > 1000000) { 8: printf("%p", &t); 9: } 10: 11: return 0; 12: } 13: int t(void) { rb_thread_io_blocking_region(); return 0; } /* end */ -------------------- checking for GCC 4+ atomic builtins... -------------------- yes "gcc -o conftest -I/usr/include/ruby-2.2.0/x86_64-linux-musl -I/usr/include/ruby-2.2.0/ruby/backward -I/usr/include/ruby-2.2.0 -I. -Os -fomit-frame-pointer -D_GNU_SOURCE -D_BSD_SOURCE -Os -fomit-frame-pointer -fno-omit-frame-pointer -fno-strict-aliasing -fPIC conftest.c -L. -L/usr/lib -L. -Wl,--as-needed -fstack-protector -rdynamic -Wl,-export-dynamic -lruby -lpthread -ldl -lcrypt -lm -lc" checked program was: /* begin */ 1: #include "ruby.h" 2: 3: int main(int argc, char * const argv[]) { 4: unsigned long i = 0; 5: __sync_lock_test_and_set(&i, 0); 6: __sync_lock_test_and_set(&i, 1); 7: __sync_bool_compare_and_swap(&i, 0, 1); 8: __sync_add_and_fetch(&i, argc); 9: __sync_sub_and_fetch(&i, argc); 10: return 0; 11: } /* end */ --------------------