Bug 971549 - Missing 'Requires' on "v8" for mongo server
Summary: Missing 'Requires' on "v8" for mongo server
Keywords:
Status: CLOSED NOTABUG
Alias: None
Product: Fedora EPEL
Classification: Fedora
Component: mongodb
Version: el6
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Nathaniel McCallum
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2013-06-06 19:05 UTC by John Matthews
Modified: 2013-06-06 21:25 UTC (History)
5 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2013-06-06 20:28:07 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Bugzilla 971595 0 unspecified CLOSED add "prefix" into shared objects to do not conflict with various v8 2021-02-22 00:41:40 UTC

Internal Links: 971595

Description John Matthews 2013-06-06 19:05:36 UTC
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 19:29:40 UTC
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 19:39:29 UTC
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 20:28:07 UTC
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 20:55:18 UTC
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 21:05:28 UTC
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.