Omnibus health check failing because of libdb


#1

Howdy,

I didn’t find an Omnibus mailing list so hopefully it is ok to bring it
up here. If not, let me know.

I’ve tried building several package with ruby and always get the same
result. The health check fails because of the unsafe/unmet dependencies
of /lib64/libdb-4.7.so.

I get this error using the omnibus-software files. I’ve also tried
writing a Berkeley DB dependency and still get the same error.

Alas my dependency-fu is weak. Can someone point me in the right
direction?

A full error message is available at:
https://gist.github.com/lmickh/8483458

Thanks,
Lucas


#2

On Friday, January 17, 2014 at 3:22 PM, lharms wrote:

Howdy,

I didn’t find an Omnibus mailing list so hopefully it is ok to bring it
up here. If not, let me know.

I’ve tried building several package with ruby and always get the same
result. The health check fails because of the unsafe/unmet dependencies
of /lib64/libdb-4.7.so.

I get this error using the omnibus-software files. I’ve also tried
writing a Berkeley DB dependency and still get the same error.

Alas my dependency-fu is weak. Can someone point me in the right
direction?

A full error message is available at:
https://gist.github.com/lmickh/8483458

Thanks,
Lucas

What are you doing differently than https://github.com/opscode/omnibus-software/blob/master/config/software/ruby.rb ? What build platform is this (linux/other, distro, etc.)?

The general solution for these kinds of issues is to modify the arguments to configure to either disable a component if you don’t want it, or pass in an option that will make the compiler link to your embedded library if you do want that component (or there’s no option to disable it).


Daniel DeLeo


#3

That error was generated using the omnibus-software version of ruby.rb.
Nothing is changed. Copied the conf directory straight from github.

This is on Centos 6.5. I did a ‘gem install omnibus’, create a new
project, copy the omnibus-software repo, and kicked off a build.

Also tried writing my own ruby.rb and compile libdb from omnibus.

I’ve been able to build other projects that did not rely on ruby or
libdb such as php.

Lucas

On Fri, 2014-01-17 at 15:31 -0800, Daniel DeLeo wrote:

What are you doing differently
than https://github.com/opscode/omnibus-software/blob/master/config/software/ruby.rb ? What build platform is this (linux/other, distro, etc.)?

The general solution for these kinds of issues is to modify the
arguments to configure to either disable a component if you don’t want
it, or pass in an option that will make the compiler link to your
embedded library if you do want that component (or there’s no option
to disable it).


Daniel DeLeo


#4

On Friday, January 17, 2014 at 3:43 PM, lharms wrote:

That error was generated using the omnibus-software version of ruby.rb.
Nothing is changed. Copied the conf directory straight from github.

This is on Centos 6.5. I did a ‘gem install omnibus’, create a new
project, copy the omnibus-software repo, and kicked off a build.

Also tried writing my own ruby.rb and compile libdb from omnibus.

I’ve been able to build other projects that did not rely on ruby or
libdb such as php.

Lucas
I would guess you have some package installed (perhaps intentionally, perhaps as part of what came with the particular installer you used) that we don’t have on our build boxes and ruby’s build scripts are detecting it and building extra components. I’d start by looking at the help output for the ./configure command to see if there’s any options that look relevant.


Daniel DeLeo


#5

what dan said, and to add:

  • try “rpm -e libdb-devel”
  • try a “minimal” centos install and only install enough RPMs to get
    omnibus builds working

there should be more information in the error message about which file
is linking against libdb-4.7.so and you might be able to use that to
disable an extension using “”–with-out-ext=" in the
configure argument to ruby.

On 1/17/14 4:50 PM, Daniel DeLeo wrote:

On Friday, January 17, 2014 at 3:43 PM, lharms wrote:

That error was generated using the omnibus-software version of ruby.rb.
Nothing is changed. Copied the conf directory straight from github.

This is on Centos 6.5. I did a ‘gem install omnibus’, create a new
project, copy the omnibus-software repo, and kicked off a build.

Also tried writing my own ruby.rb and compile libdb from omnibus.

I’ve been able to build other projects that did not rely on ruby or
libdb such as php.

Lucas
I would guess you have some package installed (perhaps intentionally,
perhaps as part of what came with the particular installer you used)
that we don’t have on our build boxes and ruby’s build scripts are
detecting it and building extra components. I’d start by looking at
the help output for the ./configure command to see if there’s any
options that look relevant.


Daniel DeLeo