Comments (4)
Hello @rgiessmann, apologies for the delayed response. I thought left a comment when assigning the question
label, but seems forgot to submit 🤦♂️
Do you intended gem-compiler to work for such a scenario, or am I misled?
Yes and no. gem-compiler was created to work to remove the need of having a compiler available on the final machines, but you need to have certain control on OS or the version of Ruby. In your case, you have none of the later, so aiming to produce a 100% reproducible environment might be a challenge.
Do you have an idea on this, or could you provide me with a "this is how we usually do it"-strategy?
My recommendation on this will be a deeper analysis of the Ruby installation they provide and be able to mimic as much as possible their options.
If libruby.so.2.4
is failing to load msgpack.so
, it might linking to other shared objects that might be missing on the target platform.
I will recommend mimic as much as possible the exact version of Ruby that is installed in the remote, including the build options.
Given the limited SSH access you have, try to use the following commands:
Obtain the configure options that were used to build Ruby:
$ ruby -v -e 'puts RbConfig::CONFIG["configure_args"]'
This should provide you the options to be used when building your version of Ruby in your copy of the environment. Options like --enable-shared
and --enable-load-relative
have an important role when trying to load extensions that were produced by a non-similar environment.
Try to use the same options when compiling the version of Ruby you're using to generate the binary gems.
Also, try to determine the versions/libraries libruby.so.2.4
links to, and confirm the ones of msgpack.so
too, using ldd
(if available)
$ ldd /var/www/vhosts/hosting116285.a2f45.netcup.net/test.gcsb.info/vendor/bundle/ruby/2.4.0/gems/msgpack-1.2.6-x86_64-linux/lib/msgpack/msgpack.so
$ ldd /path/to/libruby.so.2.4
Since I don't know more details of your ruby installation, check if configure_args
showed a --prefix
option and inspect a relative lib
directory that might include the respective .so
file.
You might also look for libruby.so.2.4
by using ldd
over the ruby
interpreter in use. Use which ruby
to determine the location and then use ldd
on it, example:
$ ldd ~/.asdf/installs/ruby/2.5.1/bin/ruby
linux-vdso.so.1 => (0x00007fffeda03000)
libruby.so.2.5 => /home/luis/.asdf/installs/ruby/2.5.1/bin/../lib/libruby.so.2.5 (0x00007f41b62f4000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f41b5f20000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f41b5d00000)
libgmp.so.10 => /usr/lib/x86_64-linux-gnu/libgmp.so.10 (0x00007f41b5a70000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f41b5860000)
libcrypt.so.1 => /lib/x86_64-linux-gnu/libcrypt.so.1 (0x00007f41b5620000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f41b5300000)
/lib64/ld-linux-x86-64.so.2 (0x00007f41b6a00000)
Let me know if these help you.
Cheers.
from gem-compiler.
Hello @rgiessmann, didn't receive a follow up from your end.
Please let me know if you're still interested into explore this or have additional questions.
Cheers.
from gem-compiler.
Hello @rgiessmann, doing a follow up on this. Are you still experiencing this issue? Were you able to explore my previous comments?
Please let me know.
Cheers.
from gem-compiler.
Hello @rgiessmann, closing this due inactivity.
Please let us know if you're still impacted by this and can provide more details.
Cheers.
from gem-compiler.
Related Issues (20)
- Lock down Ruby's ABI when packaging new gem HOT 4
- cannot compile nokogiri HOT 23
- Method to execute commands/scripts before packaging the new gem HOT 7
- Use only in gemfile? HOT 3
- Using these compiled gems with bundle HOT 1
- Testing with trunk ruby 2.5.0dev (2017-10-10 trunk 60155) [x64-mingw32] HOT 3
- Packaging gems with non-traditional extensions
- gem compile test-4.0.6.gem HOT 1
- Compiler errors when it finds nothing to do? HOT 5
- Benchmarks? HOT 3
- Specific case: puma with SSL support HOT 6
- Uploading multiple versions of ABI to rubygems HOT 4
- modify the version of the gem HOT 6
- Thanks!!! HOT 1
- gem-compile fails when gem has no Gemfile (SUSE/OpenSUSE) HOT 11
- Fail when artifacts are empty? HOT 2
- Support for ruby 3.0 HOT 7
- Package not found HOT 4
- mysql2.so is not included in the packed gem HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from gem-compiler.