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:
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
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.
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.
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
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.