Bug 971549 - Missing 'Requires' on "v8" for mongo server
Missing 'Requires' on "v8" for mongo server
Status: CLOSED NOTABUG
Product: Fedora EPEL
Classification: Fedora
Component: mongodb (Show other bugs)
el6
Unspecified Unspecified
unspecified Severity unspecified
: ---
: ---
Assigned To: Nathaniel McCallum
Fedora Extras Quality Assurance
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2013-06-06 15:05 EDT by John Matthews
Modified: 2013-06-06 17:25 EDT (History)
5 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2013-06-06 16:28:07 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description John Matthews 2013-06-06 15:05:36 EDT
Description of problem:

I was unable to run the mongo shell unless I installed the 'v8' package.


Version-Release number of selected component (if applicable):
mongodb-2.2.4-2

How reproducible:
Always

Steps to Reproduce:
1. Run 'mongo'


Actual results:
mongo: error while loading shared libraries: libv8.so.3: cannot open shared object file: No such file or directory

Expected results:
No error

Additional info:
Comment 1 John Matthews 2013-06-06 15:29:40 EDT
I tested on a fresh install of RHEL 6.4, and saw this is impacting more than just mongo shell.

mongodb-server fails to load

$ cat /var/log/mongodb/mongodb.log 
/usr/bin/mongod: error while loading shared libraries: libv8.so.3: cannot open shared object file: No such file or directory
Comment 2 Troy Dawson 2013-06-06 15:39:29 EDT
How were you able to install either mongodb or mongodb-server without v8.
Both of them have the requirement
libv8.so.3()
which should have pulled in the v8 package.
Comment 3 Troy Dawson 2013-06-06 16:28:07 EDT
Both mongodb and mongodb-server have a requirement for libv8.so.3 already.

[root@64RHEL6 ~]# rpm -q --requires mongodb-2.2.3-4.el6 | grep v8
libv8.so.3()(64bit)  
[root@64RHEL6 ~]# rpm -q --requires mongodb-server-2.2.3-4.el6 | grep v8
libv8.so.3()(64bit)  

This requirement pulls in the v8 package, as we see.

[root@64RHEL6 ~]# yum install mongodb
...
==============================================================
 Package     Arch     Version             Repository
==============================================================
Installing:
 mongodb     x86_64  2.2.4-2.el6          epel
Installing for dependencies:
 libmongodb  x86_64  2.2.4-2.el6          epel
 v8          x86_64  1:3.14.5.10-1.el6     epel

[root@64RHEL6 ~]# yum install mongodb-server
...
==============================================================
 Package     Arch     Version             Repository
==============================================================
Installing:
 mongodb-server x86_64 2.2.4-2.el6        epel
Installing for dependencies:
 libmongodb  x86_64  2.2.4-2.el6          epel
 mongodb     x86_64  2.2.4-2.el6          epel
 v8          x86_64  1:3.14.5.10-1.el6     epel

And we see that things work.

[root@64RHEL6 ~]# /etc/init.d/mongod start
Starting mongod:                                           [  OK  ]
[root@64RHEL6 ~]# mongo
MongoDB shell version: 2.2.4
connecting to: test
> show dbs
local	(empty)
> exit
bye

As I said, I don't know how you managed to get mongodb installed without v8.  But mongodb should pull v8 in.  Maybe it's possible that your v8 got messed up, and you need to reinstall it.

  yum reinstall v8

I'm going to have to mark this as closed - not a bug.
Comment 4 John Matthews 2013-06-06 16:55:18 EDT
Turns out the issue is with 'ruby193-v8'.
We had this installed, and it is saying it provides libv8, yet it's installing it under the ruby193 SCL path.


$ rpm -ql ruby193-v8
/opt/rh/ruby193/root/usr/bin/d8
/opt/rh/ruby193/root/usr/lib64/libv8.so.3
/opt/rh/ruby193/root/usr/lib64/libv8.so.3.10
/opt/rh/ruby193/root/usr/lib64/libv8.so.3.10.8
/opt/rh/ruby193/root/usr/lib64/libv8preparser.so.3
/opt/rh/ruby193/root/usr/lib64/libv8preparser.so.3.10
/opt/rh/ruby193/root/usr/lib64/libv8preparser.so.3.10.8
/opt/rh/ruby193/root/usr/share/doc/ruby193-v8-3.10.8
/opt/rh/ruby193/root/usr/share/doc/ruby193-v8-3.10.8/AUTHORS
/opt/rh/ruby193/root/usr/share/doc/ruby193-v8-3.10.8/ChangeLog
/opt/rh/ruby193/root/usr/share/doc/ruby193-v8-3.10.8/LICENSE



# rpm -q --whatprovides 'libv8.so.3()(64bit)'
ruby193-v8-3.10.8-7.el6_4.x86_64
Comment 5 Troy Dawson 2013-06-06 17:05:28 EDT
Well, that's interesting.
I am hoping not to have to hard code the v8 dependency.  But I'll think about it for the next release.

Note You need to log in before you can comment on or make changes to this bug.