include/libs don't seem to get set right
jaymzh opened this issue · 4 comments
Description
[It's unclear to me if this is a bug here in omnibus
or a bug in the way chefdk
uses omnibus.]
On omnibus packages with a ruby in them, the system's openssl header files are used when installing gems. For example:
/opt/chefdk/bin/gem install rugged
will compile using the header files in /usr/include/openssl` which, on Debian-like platforms is different enough from the one in the omnibus package that symbols are no longer found and you end up with bugs like this one:
facebook/grocery-delivery#48
You can work around it with OPENSSL_ROOT_DIR
, but you shouldn't have to.
Omnibus Version
Whatever chefdk was built with. :)
Platform Version
Reprod on Debian sid and Ubuntu.
Replication Case
/opt/chefdk/embedded/bin/gem install grocery_delivery
/opt/chefdk/embedded/bin/grocery-delivery --help
On debian-like distros.
Build Output
ping?
Pretty please?
I'm fairly certain that this comes back to that gem's build system not picking up the correct values from mkmf.rb and injecting them into the cmake build system for libgit2 that they've got in order to correctly build against /opt/chef{dk}/embedded/lib. I don't think its a general problem with omnibus, or solvable in omnibus -- it just doesn't matter for most people who build their ruby against /usr/lib.
Perhaps. Since setting OPENSSL_ROOT_DIR=/opt/chefdk/embedded
or I guess these days OPENSSL_ROOT_DIR=/opt/chef-workstation/embedded
solves it, it feels like this is a think that omnibus should just do though.