Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Closed
yorickpeterse opened this issue Mar 25, 2021 · 16 comments · Fixed by #12
Assignees
Labels

Comments

@yorickpeterse
Copy link

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
Copy link

lupine commented Mar 25, 2021

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
Copy link
Author

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
Copy link
Author

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
Copy link
Owner

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 #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
Copy link

erikh commented Mar 26, 2021

[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
Copy link
Collaborator

stanhu commented Mar 26, 2021

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 #5, but struggled to get it to work. I may do a deeper dive to figure this out.

@stanhu
Copy link
Collaborator

stanhu commented Mar 26, 2021

#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
Copy link
Owner

Hi @yorickpeterse,

With #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
Copy link
Author

@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.

genshen added a commit to genshen/docker-gitlab that referenced this issue Apr 2, 2021
…ic-static

fix `undefined reference` building error when installing ruby-magic-static in building `gitlab`. see
also kwilczynski/ruby-magic#6.
@stanhu
Copy link
Collaborator

stanhu commented Apr 2, 2021

It looks like docker-gitlab also needed to add --enabled-shared: genshen/docker-gitlab@c187b46. I wonder why.

@stanhu
Copy link
Collaborator

stanhu commented Apr 2, 2021

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
Copy link
Collaborator

stanhu commented Apr 2, 2021

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
Copy link
Owner

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:

unless darwin?
$LDFLAGS += ' -Wl,--as-needed -Wl,--no-undefined -Wl,--exclude-libs,ALL'
end

Krzysztof

@stanhu
Copy link
Collaborator

stanhu commented Apr 2, 2021

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

stanhu added a commit to stanhu/ruby-magic that referenced this issue Apr 2, 2021
The linker flag `-Wl,--no-undefined` was causing ruby-magic compilation
to fail with undefined refrences to Ruby methods (e.g. `rb_warn`). This
enforcement prevented ruby-magic from being compiled with a Ruby
interpreter that did not have `--enabled-shared` set up by default.

Closes kwilczynski#6
@kwilczynski
Copy link
Owner

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
Copy link
Owner

Hi @stanhu,

Thank you for digging into this problem and fixing it!

Krzysztof

kwilczynski pushed a commit that referenced this issue Dec 29, 2022
The linker flag `-Wl,--no-undefined` was causing ruby-magic compilation
to fail with undefined refrences to Ruby methods (e.g. `rb_warn`). This
enforcement prevented ruby-magic from being compiled with a Ruby
interpreter that did not have `--enabled-shared` set up by default.

Closes #6
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants