-
Notifications
You must be signed in to change notification settings - Fork 55
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
Incompatible OpenSSL library prevents GD from running on F28 #48
Comments
Try running with ChefDK. g-d was kinda developed using it. I've tried in the past using regular Chef client with the gems installed and had weird problems surrounding rugged. |
That makes sense. I uninstalled the chef-workstation package, and uninstalled rugged grocery_delivery and between_meals from opscode gems. Then I installed the latest chefdk el7 package, setup my env to use chefdk's Ruby (per chefdk setup https://docs.chef.io/chefdk_setup.html) and ran But I'm getting another undefined symbol error when trying to run gd.
|
I filed a bug against chef on this, I'll find it when I'm not on mobile. There was a work around I'll find you as well... Internally we're still on older chefdk because we're still on chef 13... So it hasn't hit us as hard.And yeah I should write install instructions... Sorry.
|
Try installing rugged 0.26.6 instead of letting it use the latest rugged. I believe 0.27 is when I hit the SSL errors similar to you. that is, erase the current rugged, manually install 0.26.6, then finish the g-d install. Once the dependency is satisfied it shouldn't try to upgrade to the 0.27 anymore
|
Thanks, I just gave that a shot. Still nothing 😢
|
Hmm, this isn't the issue I was thinking of... this is odd. It looks like rugged gets compiled against the openssl headers/libs on your system, not the ones in your gem dir, but then when you run it, it runs against the one in the gem dir. What' does |
|
I think this looks like it tries to load the gem dir openssl. I'm not familiar with Ruby internals to say for sure.
There are a few grocery-delivery binaries around, all seem to be different, but they all exit with the same error.
|
You'll want to clean up all the cruft in your chef-server install. I'll repro the chefdk part and get back to you soon! |
I can confirm a repro of this on Debian with chefdk2, chefdk3, rugged 0.26 and rugged 0.27. My suspicion is that this is debian/ubuntu-specific, but I'll continue to debug. I'm about to get on a plane, so may be a day or two. |
Yeah rugged is getting compiled wrong. The system one has it:
But the embedded one does not:
And the problem here is that the build process is referencing the header files from the system. You can see this if you However, they do distribute the include files in You can work around this like so:
I will file an upstream bug. It's likely a bug in omnibus. |
I filed chef/omnibus#876 - it's unclear if it's omnibus or chefdk, but that'll sort it out, and you have a work around in the meantime. Sorry for the delay! |
Your workaround works on F28! Thanks a lot for the quick turnaround here and for the upstream bug 🥇 |
This fixed my issue on Ubuntu 18.04.3! Thanks. |
Trying to run grocery-delivery results in an unhandled exception:
It looks like rugged depends on libssl but is expecting a newer version than what is vendored in /opt/opscode/.
If I try overwriting
/opt/opscode/embedded/lib/libssl.so.1.0.0
with the system's/usr/lib64/libssl.so.1.1.0i
that LoadError exception goes away (another exception prevents gd from working) indicating it's expecting a newer libssl than what's in opscode.I tried a
/opt/opscode/embedded/bin/gem update
as well as uninstalling openssl, rugged, grocery_delivery and installing them again in order to rebuild the .so files, but that didn't help.This is a fresh install of chef workstation and server on Fedora 28. I installed grocery_delivery via
/opt/opscode/embedded/bin/gem install grocery_delivery
from https://clburlison.com/chef-grocery-delivery-setup/.The text was updated successfully, but these errors were encountered: