kwilczynski / ruby-magic

Simple interface to libmagic for Ruby Programming Language
Apache License 2.0
27 stars 8 forks source link

Compiling fails after the introduction of https://github.com/kwilczynski/ruby-magic/pull/2 #6

Closed yorickpeterse closed 3 years ago

yorickpeterse commented 3 years ago

This MR removed the following line:

have_library('ruby')

On my Arch Linux installation this is now leading to the following compile error:

cd tmp/x86_64-linux/magic/2.7.2
/usr/bin/make
linking shared-object magic/magic.so
/usr/bin/ld: ruby-magic.o: in function `rb_data_object_get':
/home/yorickpeterse/.rubies/ruby-2.7.2/include/ruby-2.7.0/ruby/ruby.h:1425: undefined reference to `rb_check_type'
/usr/bin/ld: /home/yorickpeterse/.rubies/ruby-2.7.2/include/ruby-2.7.0/ruby/ruby.h:1425: undefined reference to `rb_check_type'
/usr/bin/ld: ruby-magic.o: in function `magic_unlock':
/home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:1282: undefined reference to `rb_funcallv'
/usr/bin/ld: /home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:1282: undefined reference to `rb_intern2'
/usr/bin/ld: ruby-magic.o: in function `magic_file_internal':
/home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:1051: undefined reference to `rb_thread_call_without_gvl'
/usr/bin/ld: /home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:1051: undefined reference to `rb_thread_call_without_gvl'
/usr/bin/ld: ruby-magic.o: in function `magic_descriptor_internal':
/home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:1111: undefined reference to `rb_thread_call_without_gvl'
/usr/bin/ld: /home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:1111: undefined reference to `rb_thread_call_without_gvl'
/usr/bin/ld: ruby-magic.o: in function `magic_exception':
/home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:1215: undefined reference to `rb_protect'
/usr/bin/ld: /home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:1220: undefined reference to `rb_iv_set'
/usr/bin/ld: /home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:1218: undefined reference to `rb_jump_tag'
/usr/bin/ld: ruby-magic.o: in function `magic_allocate':
/home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:1125: undefined reference to `ruby_xmalloc'
/usr/bin/ld: /home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:1144: undefined reference to `ruby_xfree'
/usr/bin/ld: /home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:1147: undefined reference to `rb_exc_raise'
/usr/bin/ld: ruby-magic.o: in function `magic_return':
/home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:1296: undefined reference to `rb_str_new_cstr'
/usr/bin/ld: /home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:1322: undefined reference to `rb_str_new_static'
/usr/bin/ld: /home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:1324: undefined reference to `rb_str_new_static'
/usr/bin/ld: ruby-magic.o: in function `magic_shift':
/home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.h:160: undefined reference to `rb_funcallv'
/usr/bin/ld: ruby-magic.o: in function `magic_return':
/home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:1305: undefined reference to `rb_str_new_static'
/usr/bin/ld: ruby-magic.o: in function `magic_split':
/home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.h:168: undefined reference to `rb_funcallv'
/usr/bin/ld: ruby-magic.o: in function `magic_shift':
/home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.h:160: undefined reference to `rb_intern2'
/usr/bin/ld: ruby-magic.o: in function `magic_split':
/home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.h:168: undefined reference to `rb_intern2'
/usr/bin/ld: ruby-magic.o: in function `magic_check_type':
/home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.h:234: undefined reference to `rb_cInteger'
/usr/bin/ld: /home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.h:234: undefined reference to `rb_class2name'
/usr/bin/ld: /home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.h:234: undefined reference to `rb_obj_classname'
/usr/bin/ld: /home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.h:234: undefined reference to `rb_eTypeError'
/usr/bin/ld: /home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.h:234: undefined reference to `rb_raise'
/usr/bin/ld: ruby-magic.o: in function `rb_mgc_get_paths':
/home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:351: undefined reference to `rb_ivar_get'
/usr/bin/ld: /home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:356: undefined reference to `rb_str_new_static'
/usr/bin/ld: /home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:356: undefined reference to `rb_str_new_cstr'
/usr/bin/ld: ruby-magic.o: in function `magic_split':
/home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.h:168: undefined reference to `rb_funcallv'
/usr/bin/ld: /home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.h:168: undefined reference to `rb_intern2'
/usr/bin/ld: ruby-magic.o: in function `rb_mgc_get_paths':
/home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:349: undefined reference to `rb_exc_raise'
/usr/bin/ld: ruby-magic.o: in function `magic_exception':
/home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:1215: undefined reference to `rb_protect'
/usr/bin/ld: /home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:1220: undefined reference to `rb_iv_set'
/usr/bin/ld: ruby-magic.o: in function `rb_mgc_get_do_not_stop_on_error':
/home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:224: undefined reference to `rb_exc_raise'
/usr/bin/ld: ruby-magic.o: in function `magic_exception':
/home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:1218: undefined reference to `rb_jump_tag'
/usr/bin/ld: ruby-magic.o: in function `rb_data_object_get':
/home/yorickpeterse/.rubies/ruby-2.7.2/include/ruby-2.7.0/ruby/ruby.h:1425: undefined reference to `rb_check_type'
/usr/bin/ld: /home/yorickpeterse/.rubies/ruby-2.7.2/include/ruby-2.7.0/ruby/ruby.h:1425: undefined reference to `rb_check_type'
/usr/bin/ld: /home/yorickpeterse/.rubies/ruby-2.7.2/include/ruby-2.7.0/ruby/ruby.h:1425: undefined reference to `rb_check_type'
/usr/bin/ld: /home/yorickpeterse/.rubies/ruby-2.7.2/include/ruby-2.7.0/ruby/ruby.h:1425: undefined reference to `rb_check_type'
/usr/bin/ld: /home/yorickpeterse/.rubies/ruby-2.7.2/include/ruby-2.7.0/ruby/ruby.h:1425: undefined reference to `rb_check_type'
/usr/bin/ld: ruby-magic.o: in function `magic_lock':
/home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:1271: undefined reference to `rb_funcallv'
/usr/bin/ld: /home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:1273: undefined reference to `rb_ensure'
/usr/bin/ld: /home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:1271: undefined reference to `rb_intern2'
/usr/bin/ld: ruby-magic.o: in function `rb_mgc_get_flags':
/home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:460: undefined reference to `rb_ivar_get'
/usr/bin/ld: ruby-magic.o: in function `magic_check_type':
/home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.h:232: undefined reference to `rb_cInteger'
/usr/bin/ld: /home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.h:232: undefined reference to `rb_obj_is_kind_of'
/usr/bin/ld: /home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.h:236: undefined reference to `rb_check_type'
/usr/bin/ld: ruby-magic.o: in function `rb_data_object_get':
/home/yorickpeterse/.rubies/ruby-2.7.2/include/ruby-2.7.0/ruby/ruby.h:1425: undefined reference to `rb_check_type'
/usr/bin/ld: ruby-magic.o: in function `magic_flags':
/home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:1339: undefined reference to `rb_ivar_get'
/usr/bin/ld: ruby-magic.o: in function `rb_num2int_inline':
/home/yorickpeterse/.rubies/ruby-2.7.2/include/ruby-2.7.0/ruby/ruby.h:701: undefined reference to `rb_num2int'
/usr/bin/ld: ruby-magic.o: in function `rb_mgc_check':
/home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:725: undefined reference to `rb_string_value_cstr'
/usr/bin/ld: ruby-magic.o: in function `rb_data_object_get':
/home/yorickpeterse/.rubies/ruby-2.7.2/include/ruby-2.7.0/ruby/ruby.h:1425: undefined reference to `rb_check_type'
/usr/bin/ld: ruby-magic.o: in function `magic_lock':
/home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:1271: undefined reference to `rb_funcallv'
/usr/bin/ld: /home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:1273: undefined reference to `rb_ensure'
/usr/bin/ld: ruby-magic.o: in function `rb_num2int_inline':
/home/yorickpeterse/.rubies/ruby-2.7.2/include/ruby-2.7.0/ruby/ruby.h:699: undefined reference to `rb_fix2int'
/usr/bin/ld: ruby-magic.o: in function `magic_lock':
/home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:1271: undefined reference to `rb_intern2'
/usr/bin/ld: ruby-magic.o: in function `magic_exception':
/home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:1215: undefined reference to `rb_protect'
/usr/bin/ld: /home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:1220: undefined reference to `rb_iv_set'
/usr/bin/ld: /home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:1218: undefined reference to `rb_jump_tag'
/usr/bin/ld: ruby-magic.o: in function `magic_check_type':
/home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.h:232: undefined reference to `rb_cInteger'
/usr/bin/ld: /home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.h:232: undefined reference to `rb_obj_is_kind_of'
/usr/bin/ld: /home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.h:236: undefined reference to `rb_check_type'
/usr/bin/ld: ruby-magic.o: in function `rb_data_object_get':
/home/yorickpeterse/.rubies/ruby-2.7.2/include/ruby-2.7.0/ruby/ruby.h:1425: undefined reference to `rb_check_type'
/usr/bin/ld: ruby-magic.o: in function `magic_flags':
/home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:1339: undefined reference to `rb_ivar_get'
/usr/bin/ld: ruby-magic.o: in function `rb_num2int_inline':
/home/yorickpeterse/.rubies/ruby-2.7.2/include/ruby-2.7.0/ruby/ruby.h:701: undefined reference to `rb_num2int'
/usr/bin/ld: ruby-magic.o: in function `rb_mgc_compile':
/home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:698: undefined reference to `rb_string_value_cstr'
/usr/bin/ld: ruby-magic.o: in function `rb_data_object_get':
/home/yorickpeterse/.rubies/ruby-2.7.2/include/ruby-2.7.0/ruby/ruby.h:1425: undefined reference to `rb_check_type'
/usr/bin/ld: ruby-magic.o: in function `magic_lock':
/home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:1271: undefined reference to `rb_funcallv'
/usr/bin/ld: /home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:1273: undefined reference to `rb_ensure'
/usr/bin/ld: ruby-magic.o: in function `rb_num2int_inline':
/home/yorickpeterse/.rubies/ruby-2.7.2/include/ruby-2.7.0/ruby/ruby.h:699: undefined reference to `rb_fix2int'
/usr/bin/ld: ruby-magic.o: in function `magic_lock':
/home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:1271: undefined reference to `rb_intern2'
/usr/bin/ld: ruby-magic.o: in function `rb_mgc_compile':
/home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:702: undefined reference to `rb_exc_raise'
/usr/bin/ld: /home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:694: undefined reference to `rb_exc_raise'
/usr/bin/ld: ruby-magic.o: in function `magic_check_type':
/home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.h:232: undefined reference to `rb_cInteger'
/usr/bin/ld: /home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.h:232: undefined reference to `rb_obj_is_kind_of'
/usr/bin/ld: /home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.h:236: undefined reference to `rb_check_type'
/usr/bin/ld: ruby-magic.o: in function `rb_data_object_get':
/home/yorickpeterse/.rubies/ruby-2.7.2/include/ruby-2.7.0/ruby/ruby.h:1425: undefined reference to `rb_check_type'
/usr/bin/ld: ruby-magic.o: in function `rb_mgc_buffer':
/home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:820: undefined reference to `rb_string_value'
/usr/bin/ld: ruby-magic.o: in function `magic_flags':
/home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:1339: undefined reference to `rb_ivar_get'
/usr/bin/ld: ruby-magic.o: in function `rb_num2int_inline':
/home/yorickpeterse/.rubies/ruby-2.7.2/include/ruby-2.7.0/ruby/ruby.h:701: undefined reference to `rb_num2int'
/usr/bin/ld: ruby-magic.o: in function `rb_data_object_get':
/home/yorickpeterse/.rubies/ruby-2.7.2/include/ruby-2.7.0/ruby/ruby.h:1425: undefined reference to `rb_check_type'
/usr/bin/ld: ruby-magic.o: in function `magic_lock':
/home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:1271: undefined reference to `rb_funcallv'
/usr/bin/ld: /home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:1273: undefined reference to `rb_ensure'
/usr/bin/ld: ruby-magic.o: in function `rb_num2int_inline':
/home/yorickpeterse/.rubies/ruby-2.7.2/include/ruby-2.7.0/ruby/ruby.h:699: undefined reference to `rb_fix2int'
/usr/bin/ld: ruby-magic.o: in function `magic_lock':
/home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:1271: undefined reference to `rb_intern2'
/usr/bin/ld: ruby-magic.o: in function `rb_mgc_buffer':
/home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:828: undefined reference to `rb_exc_raise'
/usr/bin/ld: /home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:817: undefined reference to `rb_exc_raise'
/usr/bin/ld: ruby-magic.o: in function `rb_data_object_get':
/home/yorickpeterse/.rubies/ruby-2.7.2/include/ruby-2.7.0/ruby/ruby.h:1425: undefined reference to `rb_check_type'
/usr/bin/ld: /home/yorickpeterse/.rubies/ruby-2.7.2/include/ruby-2.7.0/ruby/ruby.h:1425: undefined reference to `rb_check_type'
/usr/bin/ld: ruby-magic.o: in function `magic_lock':
/home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:1271: undefined reference to `rb_funcallv'
/usr/bin/ld: /home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:1273: undefined reference to `rb_ensure'
/usr/bin/ld: /home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:1271: undefined reference to `rb_intern2'
/usr/bin/ld: ruby-magic.o: in function `rb_mgc_descriptor':
/home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:850: undefined reference to `rb_respond_to'
/usr/bin/ld: ruby-magic.o: in function `magic_check_type':
/home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.h:232: undefined reference to `rb_cInteger'
/usr/bin/ld: /home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.h:232: undefined reference to `rb_obj_is_kind_of'
/usr/bin/ld: /home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.h:236: undefined reference to `rb_check_type'
/usr/bin/ld: ruby-magic.o: in function `rb_data_object_get':
/home/yorickpeterse/.rubies/ruby-2.7.2/include/ruby-2.7.0/ruby/ruby.h:1425: undefined reference to `rb_check_type'
/usr/bin/ld: ruby-magic.o: in function `magic_flags':
/home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:1339: undefined reference to `rb_ivar_get'
/usr/bin/ld: ruby-magic.o: in function `rb_num2int_inline':
/home/yorickpeterse/.rubies/ruby-2.7.2/include/ruby-2.7.0/ruby/ruby.h:701: undefined reference to `rb_num2int'
/usr/bin/ld: /home/yorickpeterse/.rubies/ruby-2.7.2/include/ruby-2.7.0/ruby/ruby.h:699: undefined reference to `rb_fix2int'
/usr/bin/ld: ruby-magic.o: in function `rb_data_object_get':
/home/yorickpeterse/.rubies/ruby-2.7.2/include/ruby-2.7.0/ruby/ruby.h:1425: undefined reference to `rb_check_type'
/usr/bin/ld: ruby-magic.o: in function `magic_lock':
/home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:1271: undefined reference to `rb_funcallv'
/usr/bin/ld: /home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:1273: undefined reference to `rb_ensure'
/usr/bin/ld: ruby-magic.o: in function `rb_num2int_inline':
/home/yorickpeterse/.rubies/ruby-2.7.2/include/ruby-2.7.0/ruby/ruby.h:699: undefined reference to `rb_fix2int'
/usr/bin/ld: /home/yorickpeterse/.rubies/ruby-2.7.2/include/ruby-2.7.0/ruby/ruby.h:701: undefined reference to `rb_num2int'
/usr/bin/ld: ruby-magic.o: in function `rb_mgc_descriptor':
/home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:868: undefined reference to `rb_exc_raise'
/usr/bin/ld: ruby-magic.o: in function `magic_fileno':
/home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.h:194: undefined reference to `rb_respond_to'
/usr/bin/ld: /home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.h:200: undefined reference to `rb_convert_type'
/usr/bin/ld: /home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.h:202: undefined reference to `rb_io_taint_check'
/usr/bin/ld: /home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.h:202: undefined reference to `rb_io_check_closed'
/usr/bin/ld: ruby-magic.o: in function `rb_mgc_descriptor':
/home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:850: undefined reference to `rb_intern2'
/usr/bin/ld: ruby-magic.o: in function `magic_lock':
/home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:1271: undefined reference to `rb_intern2'
/usr/bin/ld: ruby-magic.o: in function `rb_mgc_descriptor':
/home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:866: undefined reference to `rb_eIOError'
/usr/bin/ld: /home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:866: undefined reference to `rb_raise'
/usr/bin/ld: ruby-magic.o: in function `magic_fileno':
/home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.h:195: undefined reference to `rb_funcallv'
/usr/bin/ld: ruby-magic.o: in function `rb_num2int_inline':
/home/yorickpeterse/.rubies/ruby-2.7.2/include/ruby-2.7.0/ruby/ruby.h:699: undefined reference to `rb_fix2int'
/usr/bin/ld: ruby-magic.o: in function `magic_fileno':
/home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.h:194: undefined reference to `rb_intern2'
/usr/bin/ld: ruby-magic.o: in function `rb_num2int_inline':
/home/yorickpeterse/.rubies/ruby-2.7.2/include/ruby-2.7.0/ruby/ruby.h:701: undefined reference to `rb_num2int'
/usr/bin/ld: ruby-magic.o: in function `magic_fileno':
/home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.h:195: undefined reference to `rb_intern2'
/usr/bin/ld: ruby-magic.o: in function `rb_mgc_descriptor':
/home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:855: undefined reference to `rb_exc_raise'
/usr/bin/ld: ruby-magic.o: in function `magic_fileno':
/home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.h:204: undefined reference to `rb_eIOError'
/usr/bin/ld: /home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.h:204: undefined reference to `rb_raise'
/usr/bin/ld: ruby-magic.o: in function `rb_data_object_get':
/home/yorickpeterse/.rubies/ruby-2.7.2/include/ruby-2.7.0/ruby/ruby.h:1425: undefined reference to `rb_check_type'
/usr/bin/ld: ruby-magic.o: in function `rb_mgc_file':
/home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:752: undefined reference to `rb_respond_to'
/usr/bin/ld: ruby-magic.o: in function `magic_path':
/home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.h:215: undefined reference to `rb_respond_to'
/usr/bin/ld: /home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.h:218: undefined reference to `rb_respond_to'
/usr/bin/ld: /home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.h:221: undefined reference to `rb_respond_to'
/usr/bin/ld: ruby-magic.o: in function `rb_mgc_file':
/home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:800: undefined reference to `rb_eTypeError'
/usr/bin/ld: /home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:800: undefined reference to `rb_raise'
/usr/bin/ld: ruby-magic.o: in function `magic_path':
/home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.h:222: undefined reference to `rb_funcallv'
/usr/bin/ld: ruby-magic.o: in function `magic_flags':
/home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:1339: undefined reference to `rb_ivar_get'
/usr/bin/ld: ruby-magic.o: in function `rb_num2int_inline':
/home/yorickpeterse/.rubies/ruby-2.7.2/include/ruby-2.7.0/ruby/ruby.h:699: undefined reference to `rb_fix2int'
/usr/bin/ld: ruby-magic.o: in function `rb_mgc_file':
/home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:761: undefined reference to `rb_string_value_cstr'
/usr/bin/ld: ruby-magic.o: in function `rb_data_object_get':
/home/yorickpeterse/.rubies/ruby-2.7.2/include/ruby-2.7.0/ruby/ruby.h:1425: undefined reference to `rb_check_type'
/usr/bin/ld: ruby-magic.o: in function `magic_lock':
/home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:1271: undefined reference to `rb_funcallv'
/usr/bin/ld: /home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:1273: undefined reference to `rb_ensure'
/usr/bin/ld: ruby-magic.o: in function `magic_path':
/home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.h:215: undefined reference to `rb_intern2'
/usr/bin/ld: /home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.h:215: undefined reference to `rb_respond_to'
/usr/bin/ld: ruby-magic.o: in function `rb_mgc_file':
/home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:752: undefined reference to `rb_intern2'
/usr/bin/ld: ruby-magic.o: in function `rb_num2int_inline':
/home/yorickpeterse/.rubies/ruby-2.7.2/include/ruby-2.7.0/ruby/ruby.h:701: undefined reference to `rb_num2int'
/usr/bin/ld: ruby-magic.o: in function `magic_lock':
/home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:1271: undefined reference to `rb_intern2'
/usr/bin/ld: ruby-magic.o: in function `magic_path':
/home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.h:222: undefined reference to `rb_intern2'
/usr/bin/ld: /home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.h:221: undefined reference to `rb_intern2'
/usr/bin/ld: /home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.h:216: undefined reference to `rb_intern2'
/usr/bin/ld: ruby-magic.o: in function `rb_mgc_file':
/home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:784: undefined reference to `rb_exc_raise'
/usr/bin/ld: ruby-magic.o: in function `magic_path':
/home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.h:219: undefined reference to `rb_intern2'
/usr/bin/ld: /home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.h:218: undefined reference to `rb_intern2'
/usr/bin/ld: ruby-magic.o: in function `rb_mgc_file':
/home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:749: undefined reference to `rb_exc_raise'
/usr/bin/ld: /home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:779: undefined reference to `rb_exc_raise'
/usr/bin/ld: ruby-magic.o: in function `rb_data_object_get':
/home/yorickpeterse/.rubies/ruby-2.7.2/include/ruby-2.7.0/ruby/ruby.h:1425: undefined reference to `rb_check_type'
/usr/bin/ld: ruby-magic.o: in function `rb_mgc_load':
/home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:535: undefined reference to `rb_obj_classname'
/usr/bin/ld: ruby-magic.o: in function `magic_flags':
/home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:1339: undefined reference to `rb_ivar_get'
/usr/bin/ld: ruby-magic.o: in function `rb_num2int_inline':
/home/yorickpeterse/.rubies/ruby-2.7.2/include/ruby-2.7.0/ruby/ruby.h:701: undefined reference to `rb_num2int'
/usr/bin/ld: ruby-magic.o: in function `rb_mgc_load':
/home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:545: undefined reference to `rb_str_new_static'
/usr/bin/ld: ruby-magic.o: in function `magic_join':
/home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.h:176: undefined reference to `rb_funcallv'
/usr/bin/ld: ruby-magic.o: in function `rb_mgc_load':
/home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:546: undefined reference to `rb_string_value_cstr'
/usr/bin/ld: /home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:526: undefined reference to `rb_ary_entry'
/usr/bin/ld: /home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:526: undefined reference to `rb_ary_entry'
/usr/bin/ld: ruby-magic.o: in function `magic_flatten':
/home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.h:184: undefined reference to `rb_funcallv'
/usr/bin/ld: ruby-magic.o: in function `rb_num2int_inline':
/home/yorickpeterse/.rubies/ruby-2.7.2/include/ruby-2.7.0/ruby/ruby.h:699: undefined reference to `rb_fix2int'
/usr/bin/ld: ruby-magic.o: in function `rb_mgc_load':
/home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:551: undefined reference to `rb_ary_new'
/usr/bin/ld: ruby-magic.o: in function `magic_set_paths':
/home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:1351: undefined reference to `rb_ivar_set'
/usr/bin/ld: ruby-magic.o: in function `rb_data_object_get':
/home/yorickpeterse/.rubies/ruby-2.7.2/include/ruby-2.7.0/ruby/ruby.h:1425: undefined reference to `rb_check_type'
/usr/bin/ld: ruby-magic.o: in function `magic_lock':
/home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:1271: undefined reference to `rb_funcallv'
/usr/bin/ld: /home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:1273: undefined reference to `rb_ensure'
/usr/bin/ld: ruby-magic.o: in function `rb_mgc_load':
/home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:560: undefined reference to `rb_str_new_static'
/usr/bin/ld: /home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:560: undefined reference to `rb_str_new_cstr'
/usr/bin/ld: ruby-magic.o: in function `magic_set_paths':
/home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:1351: undefined reference to `rb_ivar_set'
/usr/bin/ld: ruby-magic.o: in function `magic_split':
/home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.h:168: undefined reference to `rb_funcallv'
/usr/bin/ld: ruby-magic.o: in function `magic_lock':
/home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:1271: undefined reference to `rb_intern2'
/usr/bin/ld: ruby-magic.o: in function `rb_mgc_load':
/home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:526: undefined reference to `rb_ary_entry'
/usr/bin/ld: ruby-magic.o: in function `magic_check_type_array_of_strings':
/home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.h:249: undefined reference to `rb_obj_classname'
/usr/bin/ld: /home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.h:247: undefined reference to `rb_eTypeError'
/usr/bin/ld: /home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.h:247: undefined reference to `rb_raise'
/usr/bin/ld: ruby-magic.o: in function `magic_split':
/home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.h:168: undefined reference to `rb_intern2'
/usr/bin/ld: ruby-magic.o: in function `magic_join':
/home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.h:176: undefined reference to `rb_intern2'
/usr/bin/ld: ruby-magic.o: in function `magic_flatten':
/home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.h:184: undefined reference to `rb_intern2'
/usr/bin/ld: ruby-magic.o: in function `rb_mgc_load':
/home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:530: undefined reference to `rb_exc_raise'
/usr/bin/ld: /home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:556: undefined reference to `rb_exc_raise'
/usr/bin/ld: ruby-magic.o: in function `rb_mgc_initialize':
/home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:178: undefined reference to `rb_obj_classname'
/usr/bin/ld: /home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:180: undefined reference to `rb_block_given_p'
/usr/bin/ld: /home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:184: undefined reference to `rb_eval_string'
/usr/bin/ld: /home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:187: undefined reference to `rb_eval_string'
/usr/bin/ld: ruby-magic.o: in function `rb_data_object_get':
/home/yorickpeterse/.rubies/ruby-2.7.2/include/ruby-2.7.0/ruby/ruby.h:1425: undefined reference to `rb_check_type'
/usr/bin/ld: ruby-magic.o: in function `rb_mgc_initialize':
/home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:195: undefined reference to `rb_cObject'
/usr/bin/ld: /home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:195: undefined reference to `rb_const_get'
/usr/bin/ld: /home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:195: undefined reference to `rb_class_new_instance'
/usr/bin/ld: ruby-magic.o: in function `magic_set_flags':
/home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:1345: undefined reference to `rb_ivar_set'
/usr/bin/ld: ruby-magic.o: in function `rb_num2int_inline':
/home/yorickpeterse/.rubies/ruby-2.7.2/include/ruby-2.7.0/ruby/ruby.h:699: undefined reference to `rb_fix2int'
/usr/bin/ld: ruby-magic.o: in function `rb_mgc_initialize':
/home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:199: undefined reference to `rb_ary_new'
/usr/bin/ld: ruby-magic.o: in function `magic_set_paths':
/home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:1351: undefined reference to `rb_ivar_set'
/usr/bin/ld: ruby-magic.o: in function `rb_num2int_inline':
/home/yorickpeterse/.rubies/ruby-2.7.2/include/ruby-2.7.0/ruby/ruby.h:701: undefined reference to `rb_num2int'
/usr/bin/ld: ruby-magic.o: in function `rb_mgc_initialize':
/home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:196: undefined reference to `rb_intern2'
/usr/bin/ld: ruby-magic.o: in function `magic_check_type':
/home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.h:232: undefined reference to `rb_cInteger'
/usr/bin/ld: /home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.h:232: undefined reference to `rb_obj_is_kind_of'
/usr/bin/ld: /home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.h:236: undefined reference to `rb_check_type'
/usr/bin/ld: ruby-magic.o: in function `rb_data_object_get':
/home/yorickpeterse/.rubies/ruby-2.7.2/include/ruby-2.7.0/ruby/ruby.h:1425: undefined reference to `rb_check_type'
/usr/bin/ld: ruby-magic.o: in function `rb_num2int_inline':
/home/yorickpeterse/.rubies/ruby-2.7.2/include/ruby-2.7.0/ruby/ruby.h:701: undefined reference to `rb_num2int'
/usr/bin/ld: ruby-magic.o: in function `rb_data_object_get':
/home/yorickpeterse/.rubies/ruby-2.7.2/include/ruby-2.7.0/ruby/ruby.h:1425: undefined reference to `rb_check_type'
/usr/bin/ld: ruby-magic.o: in function `magic_lock':
/home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:1271: undefined reference to `rb_funcallv'
/usr/bin/ld: /home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:1273: undefined reference to `rb_ensure'
/usr/bin/ld: ruby-magic.o: in function `rb_mgc_set_flags':
/home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:502: undefined reference to `rb_exc_raise'
/usr/bin/ld: ruby-magic.o: in function `rb_num2int_inline':
/home/yorickpeterse/.rubies/ruby-2.7.2/include/ruby-2.7.0/ruby/ruby.h:699: undefined reference to `rb_fix2int'
/usr/bin/ld: ruby-magic.o: in function `rb_mgc_set_flags':
/home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:505: undefined reference to `rb_ivar_set'
/usr/bin/ld: ruby-magic.o: in function `magic_lock':
/home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:1271: undefined reference to `rb_intern2'
/usr/bin/ld: ruby-magic.o: in function `magic_exception':
/home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:1215: undefined reference to `rb_protect'
/usr/bin/ld: /home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:1220: undefined reference to `rb_iv_set'
/usr/bin/ld: ruby-magic.o: in function `rb_mgc_set_flags':
/home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:498: undefined reference to `rb_exc_raise'
/usr/bin/ld: /home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:483: undefined reference to `rb_exc_raise'
/usr/bin/ld: ruby-magic.o: in function `magic_exception':
/home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:1218: undefined reference to `rb_jump_tag'
/usr/bin/ld: ruby-magic.o: in function `magic_check_type':
/home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.h:232: undefined reference to `rb_cInteger'
/usr/bin/ld: /home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.h:232: undefined reference to `rb_obj_is_kind_of'
/usr/bin/ld: /home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.h:236: undefined reference to `rb_check_type'
/usr/bin/ld: ruby-magic.o: in function `rb_data_object_get':
/home/yorickpeterse/.rubies/ruby-2.7.2/include/ruby-2.7.0/ruby/ruby.h:1425: undefined reference to `rb_check_type'
/usr/bin/ld: ruby-magic.o: in function `rb_num2int_inline':
/home/yorickpeterse/.rubies/ruby-2.7.2/include/ruby-2.7.0/ruby/ruby.h:701: undefined reference to `rb_num2int'
/usr/bin/ld: ruby-magic.o: in function `rb_data_object_get':
/home/yorickpeterse/.rubies/ruby-2.7.2/include/ruby-2.7.0/ruby/ruby.h:1425: undefined reference to `rb_check_type'
/usr/bin/ld: ruby-magic.o: in function `magic_lock':
/home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:1271: undefined reference to `rb_funcallv'
/usr/bin/ld: /home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:1273: undefined reference to `rb_ensure'
/usr/bin/ld: ruby-magic.o: in function `rb_num2int_inline':
/home/yorickpeterse/.rubies/ruby-2.7.2/include/ruby-2.7.0/ruby/ruby.h:699: undefined reference to `rb_fix2int'
/usr/bin/ld: ruby-magic.o: in function `rb_mgc_get_parameter':
/home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:388: undefined reference to `rb_exc_raise'
/usr/bin/ld: ruby-magic.o: in function `magic_lock':
/home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:1271: undefined reference to `rb_intern2'
/usr/bin/ld: ruby-magic.o: in function `rb_ulong2num_inline':
/home/yorickpeterse/.rubies/ruby-2.7.2/include/ruby-2.7.0/ruby/ruby.h:1628: undefined reference to `rb_uint2big'
/usr/bin/ld: ruby-magic.o: in function `magic_exception':
/home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:1215: undefined reference to `rb_protect'
/usr/bin/ld: /home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:1220: undefined reference to `rb_iv_set'
/usr/bin/ld: ruby-magic.o: in function `rb_mgc_get_parameter':
/home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:384: undefined reference to `rb_exc_raise'
/usr/bin/ld: /home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:374: undefined reference to `rb_exc_raise'
/usr/bin/ld: ruby-magic.o: in function `magic_exception':
/home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:1218: undefined reference to `rb_jump_tag'
/usr/bin/ld: ruby-magic.o: in function `magic_check_type':
/home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.h:232: undefined reference to `rb_cInteger'
/usr/bin/ld: /home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.h:232: undefined reference to `rb_obj_is_kind_of'
/usr/bin/ld: /home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.h:236: undefined reference to `rb_check_type'
/usr/bin/ld: /home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.h:232: undefined reference to `rb_obj_is_kind_of'
/usr/bin/ld: /home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.h:236: undefined reference to `rb_check_type'
/usr/bin/ld: ruby-magic.o: in function `rb_data_object_get':
/home/yorickpeterse/.rubies/ruby-2.7.2/include/ruby-2.7.0/ruby/ruby.h:1425: undefined reference to `rb_check_type'
/usr/bin/ld: ruby-magic.o: in function `rb_num2int_inline':
/home/yorickpeterse/.rubies/ruby-2.7.2/include/ruby-2.7.0/ruby/ruby.h:701: undefined reference to `rb_num2int'
/usr/bin/ld: ruby-magic.o: in function `rb_data_object_get':
/home/yorickpeterse/.rubies/ruby-2.7.2/include/ruby-2.7.0/ruby/ruby.h:1425: undefined reference to `rb_check_type'
/usr/bin/ld: ruby-magic.o: in function `magic_lock':
/home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:1271: undefined reference to `rb_funcallv'
/usr/bin/ld: /home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:1273: undefined reference to `rb_ensure'
/usr/bin/ld: ruby-magic.o: in function `rb_num2int_inline':
/home/yorickpeterse/.rubies/ruby-2.7.2/include/ruby-2.7.0/ruby/ruby.h:699: undefined reference to `rb_fix2int'
/usr/bin/ld: ruby-magic.o: in function `rb_num2ulong_inline':
/home/yorickpeterse/.rubies/ruby-2.7.2/include/ruby-2.7.0/ruby/ruby.h:686: undefined reference to `rb_num2ulong'
/usr/bin/ld: ruby-magic.o: in function `rb_mgc_set_parameter':
/home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:427: undefined reference to `rb_exc_raise'
/usr/bin/ld: ruby-magic.o: in function `magic_lock':
/home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:1271: undefined reference to `rb_intern2'
/usr/bin/ld: ruby-magic.o: in function `magic_exception':
/home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:1215: undefined reference to `rb_protect'
/usr/bin/ld: /home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:1220: undefined reference to `rb_iv_set'
/usr/bin/ld: ruby-magic.o: in function `rb_mgc_set_parameter':
/home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:423: undefined reference to `rb_exc_raise'
/usr/bin/ld: /home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:407: undefined reference to `rb_exc_raise'
/usr/bin/ld: ruby-magic.o: in function `magic_exception':
/home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:1218: undefined reference to `rb_jump_tag'
/usr/bin/ld: ruby-magic.o: in function `rb_mgc_load_buffers':
/home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:588: undefined reference to `rb_ary_entry'
/usr/bin/ld: ruby-magic.o: in function `rb_data_object_get':
/home/yorickpeterse/.rubies/ruby-2.7.2/include/ruby-2.7.0/ruby/ruby.h:1425: undefined reference to `rb_check_type'
/usr/bin/ld: ruby-magic.o: in function `rb_mgc_load_buffers':
/home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:598: undefined reference to `ruby_xmalloc2'
/usr/bin/ld: /home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:604: undefined reference to `ruby_xmalloc2'
/usr/bin/ld: ruby-magic.o: in function `magic_flags':
/home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:1339: undefined reference to `rb_ivar_get'
/usr/bin/ld: ruby-magic.o: in function `rb_num2int_inline':
/home/yorickpeterse/.rubies/ruby-2.7.2/include/ruby-2.7.0/ruby/ruby.h:699: undefined reference to `rb_fix2int'
/usr/bin/ld: ruby-magic.o: in function `rb_mgc_load_buffers':
/home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:622: undefined reference to `rb_ary_new'
/usr/bin/ld: ruby-magic.o: in function `magic_set_paths':
/home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:1351: undefined reference to `rb_ivar_set'
/usr/bin/ld: ruby-magic.o: in function `rb_data_object_get':
/home/yorickpeterse/.rubies/ruby-2.7.2/include/ruby-2.7.0/ruby/ruby.h:1425: undefined reference to `rb_check_type'
/usr/bin/ld: ruby-magic.o: in function `magic_lock':
/home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:1271: undefined reference to `rb_funcallv'
/usr/bin/ld: /home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:1273: undefined reference to `rb_ensure'
/usr/bin/ld: ruby-magic.o: in function `rb_mgc_load_buffers':
/home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:633: undefined reference to `ruby_xfree'
/usr/bin/ld: /home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:634: undefined reference to `ruby_xfree'
/usr/bin/ld: ruby-magic.o: in function `rb_num2int_inline':
/home/yorickpeterse/.rubies/ruby-2.7.2/include/ruby-2.7.0/ruby/ruby.h:701: undefined reference to `rb_num2int'
/usr/bin/ld: ruby-magic.o: in function `magic_lock':
/home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:1271: undefined reference to `rb_intern2'
/usr/bin/ld: ruby-magic.o: in function `rb_mgc_load_buffers':
/home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:627: undefined reference to `ruby_xfree'
/usr/bin/ld: /home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:628: undefined reference to `ruby_xfree'
/usr/bin/ld: /home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:645: undefined reference to `rb_exc_raise'
/usr/bin/ld: /home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:593: undefined reference to `rb_eArgError'
/usr/bin/ld: /home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:593: undefined reference to `rb_raise'
/usr/bin/ld: ruby-magic.o: in function `magic_exception':
/home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:1215: undefined reference to `rb_protect'
/usr/bin/ld: /home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:1220: undefined reference to `rb_iv_set'
/usr/bin/ld: ruby-magic.o: in function `rb_mgc_load_buffers':
/home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:641: undefined reference to `rb_exc_raise'
/usr/bin/ld: /home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:588: undefined reference to `rb_ary_entry'
/usr/bin/ld: ruby-magic.o: in function `magic_flatten':
/home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.h:184: undefined reference to `rb_funcallv'
/usr/bin/ld: ruby-magic.o: in function `rb_mgc_load_buffers':
/home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:588: undefined reference to `rb_ary_entry'
/usr/bin/ld: ruby-magic.o: in function `magic_check_type_array_of_strings':
/home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.h:249: undefined reference to `rb_obj_classname'
/usr/bin/ld: /home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.h:247: undefined reference to `rb_eTypeError'
/usr/bin/ld: /home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.h:247: undefined reference to `rb_raise'
/usr/bin/ld: ruby-magic.o: in function `magic_flatten':
/home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.h:184: undefined reference to `rb_intern2'
/usr/bin/ld: ruby-magic.o: in function `rb_mgc_load_buffers':
/home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:586: undefined reference to `rb_eArgError'
/usr/bin/ld: /home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:586: undefined reference to `rb_raise'
/usr/bin/ld: ruby-magic.o: in function `magic_exception':
/home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:1218: undefined reference to `rb_jump_tag'
/usr/bin/ld: ruby-magic.o: in function `rb_mgc_load_buffers':
/home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:595: undefined reference to `rb_exc_raise'
/usr/bin/ld: ruby-magic.o: in function `Init_magic':
/home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:1360: undefined reference to `rb_cObject'
/usr/bin/ld: /home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:1360: undefined reference to `rb_define_class'
/usr/bin/ld: /home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:1361: undefined reference to `rb_define_alloc_func'
/usr/bin/ld: /home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:1365: undefined reference to `rb_eStandardError'
/usr/bin/ld: /home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:1365: undefined reference to `rb_define_class_under'
/usr/bin/ld: /home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:1369: undefined reference to `rb_define_attr'
/usr/bin/ld: /home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:1373: undefined reference to `rb_define_class_under'
/usr/bin/ld: /home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:1377: undefined reference to `rb_define_class_under'
/usr/bin/ld: /home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:1381: undefined reference to `rb_define_class_under'
/usr/bin/ld: /home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:1385: undefined reference to `rb_define_class_under'
/usr/bin/ld: /home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:1389: undefined reference to `rb_define_class_under'
/usr/bin/ld: /home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:1420: undefined reference to `rb_alias'
/usr/bin/ld: /home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:1426: undefined reference to `rb_alias'
/usr/bin/ld: /home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:1431: undefined reference to `rb_alias'
/usr/bin/ld: /home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:1437: undefined reference to `rb_define_const'
/usr/bin/ld: /home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:1441: undefined reference to `rb_define_const'
/usr/bin/ld: /home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:1445: undefined reference to `rb_define_const'
/usr/bin/ld: /home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:1449: undefined reference to `rb_define_const'
/usr/bin/ld: /home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:1453: undefined reference to `rb_define_const'
/usr/bin/ld: ruby-magic.o:/home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:1457: more undefined references to `rb_define_const' follow
/usr/bin/ld: ruby-magic.o: in function `Init_magic':
/home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:1357: undefined reference to `rb_intern2'
/usr/bin/ld: /home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:1431: undefined reference to `rb_intern2'
/usr/bin/ld: /home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:1431: undefined reference to `rb_intern2'
/usr/bin/ld: /home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:1426: undefined reference to `rb_intern2'
/usr/bin/ld: /home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:1426: undefined reference to `rb_intern2'
/usr/bin/ld: ruby-magic.o:/home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:1420: more undefined references to `rb_intern2' follow
/usr/bin/ld: ruby-magic.o: in function `magic_exception_wrapper':
/home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:1202: undefined reference to `rb_exc_new_cstr'
/usr/bin/ld: ruby-magic.o: in function `magic_load_internal':
/home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:1002: undefined reference to `rb_thread_call_without_gvl'
/usr/bin/ld: ruby-magic.o: in function `magic_compile_internal':
/home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:1021: undefined reference to `rb_thread_call_without_gvl'
/usr/bin/ld: ruby-magic.o: in function `magic_check_internal':
/home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:1027: undefined reference to `rb_thread_call_without_gvl'
/usr/bin/ld: ruby-magic.o: in function `magic_allocate':
/home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:1152: undefined reference to `rb_data_object_wrap'
/usr/bin/ld: ruby-magic.o: in function `magic_free':
/home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:1194: undefined reference to `ruby_xfree'
/usr/bin/ld: ruby-magic.o: in function `magic_mark':
/home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:1177: undefined reference to `rb_gc_mark'
/usr/bin/ld: ruby-magic.o: in function `Init_magic':
/home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:1590: undefined reference to `rb_define_const'
/usr/bin/ld: ruby-magic.o: in function `rb_mgc_load':
/home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:537: undefined reference to `rb_warn'
/usr/bin/ld: ruby-magic.o: in function `rb_mgc_initialize':
/home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:203: undefined reference to `rb_warn'
/usr/bin/ld: /home/yorickpeterse/Projects/gitlab/ruby-magic/tmp/x86_64-linux/magic/2.7.2/../../../../ext/magic/ruby-magic.c:181: undefined reference to `rb_warn'
collect2: error: ld returned 1 exit status
make: *** [Makefile:262: magic.so] Error 1

It seems that this change, for whatever reason, is resulting in the right headers not being found? I'm not sure yet what's going on exactly.

lupine commented 3 years ago

I had this, and found it was caused by my ruby (installed via ruby-install) not being compiled with --enable-shared

Running:

ruby-install ruby 2.7.2 -- --enable-shared

was enough to generate the required libruby.so and fix linking:

$ ls ~/.rubies/ruby-2.7.2/lib
libruby.so  libruby.so.2.7  libruby.so.2.7.2  libruby-static.a  ruby

(previously, I only had the libruby-static.a)

yorickpeterse commented 3 years ago

Seems I have the same problem. This does make me wonder if this should be necessary in the first place. I think this is the first C extension I've come across that requires a shared Ruby library to be available.

yorickpeterse commented 3 years ago

Arch Linux at least compiles with this option by default: https://github.com/archlinux/svntogit-packages/blob/packages/ruby/trunk/PKGBUILD. I guess it's not too weird to require that, though I'm still curious as to why this Gem needs a shared library.

kwilczynski commented 3 years ago

Hi @YorickPeterse, apologies for issues!

I need to have a closer look. I am able to build it on macOS and on Linux machine running Debian. It also seems fine when building on Ubuntu provided by Travis CI.

This is surprising, as I would expect issues with libmagic in terms of building and linking against, rather than with Ruby.

I personally use rbenv with ruby-install to manage newer (or more modern) versions of Ruby, but since you are using Arch, you would be using something recent.

Having said that, this might be a side-effect of building libmagic (which is now a dependency that we vendor since the https://github.com/kwilczynski/ruby-magic/pull/3) as a shared object, and I wonder if mkmf would somehow decide to set everything up so that I requires a shared Ruby too.

If you have libmagic installed somewhat, then you could try to remove the part of extconf.rb that now attempts to build libmagic, and just rely on mkmf detecting dependencies from your environment.

Just an idea to exclude the recent changes as a possible culprit.

Krzysztof

erikh commented 3 years ago
[37] erikh@islay ~% gem install ruby-magic                                                                                     [21:39]
Fetching ruby-magic-0.3.1.gem
WARNING:  You don't have /home/erikh/.gem/ruby/2.7.0/bin in your PATH,
          gem executables will not run.
Building native extensions. This could take a while...
Thank you for installing!
Successfully installed ruby-magic-0.3.1
1 gem installed
[38] erikh@islay ~% lsb_release -rt                                                                                            [21:39]
lsb_release: invalid option -- 't'
[fail:2][39] erikh@islay ~% lsb_release -r                                                                                     [21:39]
Release:        21.0
[40] erikh@islay ~% lsb_release -a                                                                                             [21:39]
LSB Version:    n/a
Distributor ID: ManjaroLinux
Description:    Manjaro Linux
Release:        21.0
Codename:       Ornara
[41] erikh@islay ~% ruby -v                                                                                                    [21:39]
ruby 2.7.2p137 (2020-10-01 revision 5445e04352) [x86_64-linux]

Seems to work here.

stanhu commented 3 years ago

ruby-magic doesn't need a shared library, but getting the Ruby C extension to link against a static libmagic requires getting all the linker flags right via pkg-config. I attempted to do this in https://github.com/kwilczynski/ruby-magic/pull/5, but struggled to get it to work. I may do a deeper dive to figure this out.

stanhu commented 3 years ago

5 is coming along and statically links libmagic, but it still appears to build a magic.so for me. I've noticed that even Nokogiri builds a .so. Ruby, at least on my system.

Ruby does appear to have support for compiling a gem as a static library: https://github.com/ruby/ruby/blob/cc8e966e3c8b44dd946c4c50cc8d172e1d45e625/lib/mkmf.rb#L2495-L2497. I'm not sure the conditions this is enabled. I've noticed adding $static = true in extconf.rb seems to append that Makefile blurb, but I'm not sure yet under what conditions the static library is built.

kwilczynski commented 3 years ago

Hi @YorickPeterse,

With https://github.com/kwilczynski/ruby-magic/pull/5 now merged (thank you again @stanhu for all the work), do you still have issues building and/or installing? If you have a moment, would you be able to check again?

Thank you in advance!

Krzysztof

yorickpeterse commented 3 years ago

@kwilczynski Using the latest master commit, it seems a Ruby installation with support for shared libraries is still required. I think this is mostly fine though, as this option seems to be widely enabled by default anyway.

stanhu commented 3 years ago

It looks like docker-gitlab also needed to add --enabled-shared: https://github.com/genshen/docker-gitlab/commit/c187b46525244126bb55c4ef94e1975e7278f9be. I wonder why.

stanhu commented 3 years ago

I replicated the problem by compiling a Ruby interpreter without --enabled-shared.

I'm not sure why the linker is requiring these rb_ symbols to be statically linked. With nokogiri, the .o looks to be in a similar state:

root@ba6c87769e16:/usr/local/lib/ruby/gems/2.7.0/gems/nokogiri-1.11.2/ext/nokogiri# objdump -t  nokogiri.o | grep rb_ | grep UND
0000000000000000         *UND*  0000000000000000 rb_funcallv
0000000000000000         *UND*  0000000000000000 rb_rescue
0000000000000000         *UND*  0000000000000000 rb_string_value_ptr
0000000000000000         *UND*  0000000000000000 rb_str_new
0000000000000000         *UND*  0000000000000000 rb_num2int
0000000000000000         *UND*  0000000000000000 rb_fix2int
0000000000000000         *UND*  0000000000000000 rb_define_module
0000000000000000         *UND*  0000000000000000 rb_define_module_under
0000000000000000         *UND*  0000000000000000 rb_utf8_encoding
0000000000000000         *UND*  0000000000000000 rb_external_str_new_with_enc
0000000000000000         *UND*  0000000000000000 rb_const_set
0000000000000000         *UND*  0000000000000000 rb_str_split
0000000000000000         *UND*  0000000000000000 rb_eStandardError
0000000000000000         *UND*  0000000000000000 rb_define_class_under
0000000000000000         *UND*  0000000000000000 rb_intern2

The compilation step looks similar:

gcc -shared -o nokogiri.so html_document.o html_element_description.o html_entity_lookup.o html_sax_parser_context.o html_sax_push_parser.o libxml2_backwards_compat.o nokogiri.o test_global_handlers.o xml_
attr.o xml_attribute_decl.o xml_cdata.o xml_comment.o xml_document.o xml_document_fragment.o xml_dtd.o xml_element_content.o xml_element_decl.o xml_encoding_handler.o xml_entity_decl.o xml_entity_reference
.o xml_namespace.o xml_node.o xml_node_set.o xml_processing_instruction.o xml_reader.o xml_relax_ng.o xml_sax_parser.o xml_sax_parser_context.o xml_sax_push_parser.o xml_schema.o xml_syntax_error.o xml_tex
t.o xml_xpath_context.o xslt_stylesheet.o -L. -L/usr/local/lib -Wl,-rpath,/usr/local/lib -L/usr/local/lib/ruby/gems/2.7.0/gems/nokogiri-1.11.2/ports/x86_64-pc-linux-gnu/libxml2/2.9.10/lib -Wl,-rpath,/usr/l
ocal/lib/ruby/gems/2.7.0/gems/nokogiri-1.11.2/ports/x86_64-pc-linux-gnu/libxml2/2.9.10/lib -L/usr/local/lib/ruby/gems/2.7.0/gems/nokogiri-1.11.2/ports/x86_64-pc-linux-gnu/libxslt/1.1.34/lib -Wl,-rpath,/usr
/local/lib/ruby/gems/2.7.0/gems/nokogiri-1.11.2/ports/x86_64-pc-linux-gnu/libxslt/1.1.34/lib -L. -fstack-protector-strong -rdynamic -Wl,-export-dynamic -Wl,--compress-debug-sections=zlib    /usr/local/lib/
ruby/gems/2.7.0/gems/nokogiri-1.11.2/ports/x86_64-pc-linux-gnu/libxslt/1.1.34/lib/libexslt.a -lm -ldl -lz /usr/local/lib/ruby/gems/2.7.0/gems/nokogiri-1.11.2/ports/x86_64-pc-linux-gnu/libxml2/2.9.10/lib/li
bxml2.a /usr/local/lib/ruby/gems/2.7.0/gems/nokogiri-1.11.2/ports/x86_64-pc-linux-gnu/libxslt/1.1.34/lib/libxslt.a -ldl -lm -lz /usr/local/lib/ruby/gems/2.7.0/gems/nokogiri-1.11.2/ports/x86_64-pc-linux-gnu
/libxml2/2.9.10/lib/libxml2.a -lm   -lc

ruby-magic has a few more items:

root@ba6c87769e16:/tmp/ruby-magic# objdump -t ruby-magic.o | grep rb_ | grep UND
0000000000000000         *UND*  0000000000000000 rb_check_type
0000000000000000         *UND*  0000000000000000 rb_exc_new_cstr
0000000000000000         *UND*  0000000000000000 rb_funcallv
0000000000000000         *UND*  0000000000000000 rb_intern2
0000000000000000         *UND*  0000000000000000 rb_thread_call_without_gvl
0000000000000000         *UND*  0000000000000000 rb_protect
0000000000000000         *UND*  0000000000000000 rb_iv_set
0000000000000000         *UND*  0000000000000000 rb_jump_tag
0000000000000000         *UND*  0000000000000000 rb_data_object_wrap
0000000000000000         *UND*  0000000000000000 rb_exc_raise
0000000000000000         *UND*  0000000000000000 rb_str_new_cstr
0000000000000000         *UND*  0000000000000000 rb_str_new_static
0000000000000000         *UND*  0000000000000000 rb_cInteger
0000000000000000         *UND*  0000000000000000 rb_class2name
0000000000000000         *UND*  0000000000000000 rb_obj_classname
0000000000000000         *UND*  0000000000000000 rb_eTypeError
0000000000000000         *UND*  0000000000000000 rb_raise
0000000000000000         *UND*  0000000000000000 rb_gc_mark
0000000000000000         *UND*  0000000000000000 rb_ivar_get
0000000000000000         *UND*  0000000000000000 rb_ensure
0000000000000000         *UND*  0000000000000000 rb_obj_is_kind_of
0000000000000000         *UND*  0000000000000000 rb_num2int
0000000000000000         *UND*  0000000000000000 rb_string_value_cstr
0000000000000000         *UND*  0000000000000000 rb_fix2int
0000000000000000         *UND*  0000000000000000 rb_string_value
0000000000000000         *UND*  0000000000000000 rb_respond_to
0000000000000000         *UND*  0000000000000000 rb_convert_type
0000000000000000         *UND*  0000000000000000 rb_io_taint_check
0000000000000000         *UND*  0000000000000000 rb_io_check_closed
0000000000000000         *UND*  0000000000000000 rb_eIOError
0000000000000000         *UND*  0000000000000000 rb_ary_entry
0000000000000000         *UND*  0000000000000000 rb_ary_new
0000000000000000         *UND*  0000000000000000 rb_ivar_set
0000000000000000         *UND*  0000000000000000 rb_warn
0000000000000000         *UND*  0000000000000000 rb_block_given_p
0000000000000000         *UND*  0000000000000000 rb_eval_string
0000000000000000         *UND*  0000000000000000 rb_cObject
0000000000000000         *UND*  0000000000000000 rb_const_get
0000000000000000         *UND*  0000000000000000 rb_class_new_instance
0000000000000000         *UND*  0000000000000000 rb_uint2big
0000000000000000         *UND*  0000000000000000 rb_num2ulong
0000000000000000         *UND*  0000000000000000 rb_eArgError
0000000000000000         *UND*  0000000000000000 rb_define_class
0000000000000000         *UND*  0000000000000000 rb_define_alloc_func
0000000000000000         *UND*  0000000000000000 rb_eStandardError
0000000000000000         *UND*  0000000000000000 rb_define_class_under
0000000000000000         *UND*  0000000000000000 rb_define_attr
0000000000000000         *UND*  0000000000000000 rb_alias
0000000000000000         *UND*  0000000000000000 rb_define_const
0000000000000000  w      *UND*  0000000000000000 rb_define_method
0000000000000000  w      *UND*  0000000000000000 rb_define_singleton_method

Here's the compile step failing in ruby-magic:

gcc -shared -o magic.so functions.o ruby-magic.o -L. -L/usr/local/lib -Wl,-rpath,/usr/local/lib -L/tmp/ruby-magic/ports/x86_64-pc-linux-gnu/libmagic/5.39/lib -Wl,-rpath,/tmp/ruby-magic/ports/x86_64-pc-linux-gnu/libmagic/5.39/lib -L. -fstack-protector-strong -rdynamic -Wl,-export-dynamic -Wl,-rpath,/tmp/ruby-magic/ports/x86_64-pc-linux-gnu/libmagic/5.39/lib -Wl,--as-needed -Wl,--no-undefined -Wl,--exclude-libs,ALL -Wl,--compress-debug-sections=zlib -lmagic -lm -lc -L/tmp/ruby-magic/ports/x86_64-pc-linux-gnu/libmagic/5.39/lib -lmagic -lz /tmp/ruby-magic/ports/x86_64-pc-linux-gnu/libmagic/5.39/lib/libmagic.a
stanhu commented 3 years ago

Attempting to add -lruby-static also fails:

gcc -shared -o magic.so functions.o ruby-magic.o -L. -L/usr/local/lib -Wl,-rpath,/usr/local/lib -L/tmp/ruby-magic/ports/x86_64-pc-linux-gnu/libmagic/5.39/lib -Wl,-rpath,/tmp/ruby-magic/ports/x86_64-pc-linux-gnu/libmagic/5.39/lib -L. -fstack-protector-strong -rdynamic -Wl,-export-dynamic -Wl,-rpath,/tmp/ruby-magic/ports/x86_64-pc-linux-gnu/libmagic/5.39/lib -Wl,--as-needed -Wl,--no-undefined -Wl,--exclude-libs,ALL -Wl,--compress-debug-sections=zlib    -lmagic  -lm   -lc -lruby-static -fPIC -lm
/usr/bin/ld: /usr/local/lib/libruby-static.a(error.o): relocation R_X86_64_PC32 against symbol `stderr@@GLIBC_2.2.5' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libruby-static.a(gc.o): relocation R_X86_64_PC32 against symbol `stderr@@GLIBC_2.2.5' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libruby-static.a(hash.o): relocation R_X86_64_PC32 against symbol `environ@@GLIBC_2.2.5' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libruby-static.a(io.o): relocation R_X86_64_PC32 against symbol `stderr@@GLIBC_2.2.5' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libruby-static.a(mjit.o): relocation R_X86_64_PC32 against symbol `stderr@@GLIBC_2.2.5' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libruby-static.a(mjit_compile.o): relocation R_X86_64_PC32 against symbol `stderr@@GLIBC_2.2.5' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libruby-static.a(thread.o): relocation R_X86_64_PC32 against symbol `__libc_stack_end@@GLIBC_2.2.5' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libruby-static.a(transient_heap.o): relocation R_X86_64_PC32 against symbol `stderr@@GLIBC_2.2.5' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libruby-static.a(version.o): relocation R_X86_64_PC32 against symbol `stdout@@GLIBC_2.2.5' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libruby-static.a(vm.o): relocation R_X86_64_PC32 against symbol `stderr@@GLIBC_2.2.5' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libruby-static.a(vm_backtrace.o): relocation R_X86_64_PC32 against symbol `stderr@@GLIBC_2.2.5' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libruby-static.a(vm_dump.o): relocation R_X86_64_PC32 against symbol `stderr@@GLIBC_2.2.5' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libruby-static.a(setproctitle.o): relocation R_X86_64_PC32 against symbol `environ@@GLIBC_2.2.5' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libruby-static.a(addr2line.o): relocation R_X86_64_PC32 against symbol `stderr@@GLIBC_2.2.5' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libruby-static.a(compile.o): relocation R_X86_64_PC32 against symbol `stdout@@GLIBC_2.2.5' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libruby-static.a(debug.o): relocation R_X86_64_PC32 against symbol `stderr@@GLIBC_2.2.5' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: final link failed: nonrepresentable section on output

The presence of -shared though suggests to me that we can't make a shared object, so I'm a little puzzled why nokogiri compiles without a hitch.

kwilczynski commented 3 years ago

Hi @stanhu,

The culprit here most likely will be the -Wl,--no-undefined linker option, as per the undefined symbols reported by objdump. This flag would cause linker to disallow any symbols that are unknown at linking time. It's meant to catch potential issues, but sometimes - like in this case too - can cause troubles.

We add it here:

https://github.com/kwilczynski/ruby-magic/blob/b8ffc70a1ef02c2838b4e1abd9f3cb864a6a7535/ext/magic/extconf.rb#L274-L276

Krzysztof

stanhu commented 3 years ago

Ah, thanks, I confirmed that fixes the problem. Can we just drop those lines?

kwilczynski commented 3 years ago

Hi @stanhu,

Ah, thanks, I confirmed that fixes the problem. Can we just drop those lines?

We certainly can. I would imagine all the symbols are there and things will resolve when dlopen() loads our shared object.

Krzysztof

kwilczynski commented 3 years ago

Hi @stanhu,

Thank you for digging into this problem and fixing it!

Krzysztof