Issue #17174 has been updated by Nakilon (Victor Maslov). Nakilon (Victor Maslov) wrote: > docker build - -t temp-ruby2.3.8 --build-arg RUBY_VERSION=2.3.8 --build-arg ALPINE_VERSION=3.8 <Dockerfile Also tried the same version of Alpine but higher Ruby -- ruby:2.4.6-alpine3.8 -- got the same ``` in `require_relative': Error relocating /dhash-vips/idhash.so: rb_deprecate_constant: symbol not found ``` that as I suppose confirms that it's not just Alpine/musl issue but something has changed in Ruby since 2.4 Meanwhile ruby:slim docker images work fine (tested 2.4.9 and 2.7.2) but they are too large... ---------------------------------------- Misc #17174: "Error relocating, symbol not found" error when compiling a native extension on Alpine with Ruby >=2.4 https://bugs.ruby-lang.org/issues/17174#change-87893 * Author: Nakilon (Victor Maslov) * Status: Open * Priority: Normal ---------------------------------------- My native extension gem compiles fine with all versions of Ruby on macOS but only with Ruby 2.3 on Alpine. It throws various `Error relocating`, `symbol not found` when I require the `.o` file. Here I made a branch to reproduce it in Docker quickly. ``` git clone https://github.com/Nakilon/dhash-vips.git --branch alpine-compilation-issues alpine-compilation-issues && cd alpine-compilation-issues ``` ``` # compiles and does not fail on require docker build - -t temp-ruby2.3.8 --build-arg RUBY_VERSION=2.3.8 --build-arg ALPINE_VERSION=3.8 <Dockerfile # Error relocating /dhash-vips/idhash.so: rb_deprecate_constant: symbol not found - /dhash-vips/idhash.so (LoadError) docker build - -t temp-ruby2.4.10 --build-arg RUBY_VERSION=2.4.10 --build-arg ALPINE_VERSION=3.11 <Dockerfile # Error relocating /dhash-vips/idhash.so: rb_int_modulo: symbol not found - /dhash-vips/idhash.so (LoadError) docker build - -t temp-ruby2.5.8 --build-arg RUBY_VERSION=2.5.8 --build-arg ALPINE_VERSION=3.12 <Dockerfile # Error relocating /dhash-vips/idhash.so: rb_int_pow: symbol not found - /dhash-vips/idhash.so (LoadError) docker build - -t temp-ruby2.6.6 --build-arg RUBY_VERSION=2.6.6 --build-arg ALPINE_VERSION=3.12 <Dockerfile ``` I wanted to ask in the Mailing List but for some reason my email didn't reach it. Guy on Freenode recommended to post here. -- https://bugs.ruby-lang.org/ Unsubscribe: <mailto:ruby-core-request / ruby-lang.org?subject=unsubscribe> <http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>