From: "nagachika (Tomoyuki Chikanaga)" Date: 2022-03-13T06:43:27+00:00 Subject: [ruby-core:107873] [Ruby master Bug#17788] ruby 3.0.0 - compiling c++ extension on alpine fails Issue #17788 has been updated by nagachika (Tomoyuki Chikanaga). Backport changed from 2.6: DONTNEED, 2.7: UNKNOWN, 3.0: REQUIRED to 2.6: DONTNEED, 2.7: UNKNOWN, 3.0: DONE ruby_3_0 2bb5fa495bf9d366d3c1fefc6b093dc4830f27bf merged revision(s) 29f6f79e7396018962eb25c5f5e409f5fe28a73b. ---------------------------------------- Bug #17788: ruby 3.0.0 - compiling c++ extension on alpine fails https://bugs.ruby-lang.org/issues/17788#change-96814 * Author: memel (Maia Engeli) * Status: Closed * Priority: Normal * ruby -v: ruby 3.0.0p0 (2020-12-25 revision 95aff21468) [x86_64-linux-musl] * Backport: 2.6: DONTNEED, 2.7: UNKNOWN, 3.0: DONE ---------------------------------------- Compiling gem with C++ extension fails on alpine 3xx with Ruby 3.0.0 and Ruby 3.0.1 (does not fail on Ubuntu 18 ��\\_(���)_/��) Error: ``` compiling testgem.cc In file included from /root/.rbenv/versions/3.0.0/include/ruby-3.0.0/ruby/ruby.h:39, from /root/.rbenv/versions/3.0.0/include/ruby-3.0.0/ruby.h:38, from testgem.cc:2: /root/.rbenv/versions/3.0.0/include/ruby-3.0.0/ruby/internal/memory.h:275:16: error: conflicting declaration of 'void* ruby_nonempty_memcpy(void*, const void*, size_t)' with 'C' linkage 275 | #define memcpy ruby_nonempty_memcpy | ^~~~~~~~~~~~~~~~~~~~ /root/.rbenv/versions/3.0.0/include/ruby-3.0.0/ruby/internal/memory.h:265:1: note: previous declaration with 'C++' linkage 265 | ruby_nonempty_memcpy(void *dest, const void *src, size_t n) | ^~~~~~~~~~~~~~~~~~~~ ``` Code for reproduction: extconf.rb ``` require 'mkmf' create_makefile 'testgem' ``` testgem.cc ``` #include #include #include VALUE says(VALUE _self, VALUE str) { Check_Type(str, T_STRING); puts(StringValueCStr(str)); return Qnil; } void Init_testgem() { VALUE mod = rb_define_module("Simon"); const int num_args = 1; std::cout << "*** testgem initialized ***" << std::endl; rb_define_module_function(mod, "says", says, num_args); } ---Files-------------------------------- testgem.cc (394 Bytes) extconf.rb (41 Bytes) ruby-ruby_nonempty_memcpy-musl-cxx.patch (370 Bytes) -- https://bugs.ruby-lang.org/ Unsubscribe: