Форум русскоязычного сообщества Ubuntu


Считаете, что Ubuntu недостаточно дружелюбна к новичкам?
Помогите создать новое Руководство для новичков!

Автор Тема: MongoDB, libmozjs.so: cannot open shared object file  (Прочитано 2344 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн lega911

  • Автор темы
  • Участник
  • *
  • Сообщений: 203
    • Просмотр профиля
    • python & linux
MongoDB, libmozjs.so: cannot open shared object file
« : 09 Июля 2010, 15:08:34 »
при запуске mongoDB пишет
lega@lega-u10:~$ mongo
mongo: error while loading shared libraries: libmozjs.so: cannot open shared object file: No such file or directory
это началось после сегодняшнего обновления.
хотя у меня эта либа есть:
lega@lega-u10:~$ find /usr/lib -name libmozjs.so
/usr/lib/xulrunner-devel-1.9.2.6/sdk/lib/libmozjs.so
/usr/lib/firefox-3.6.6/libmozjs.so
/usr/lib/xulrunner-1.9.2.6/libmozjs.so
нагуглил что её нужно слинковать куда-то (ln), в некоторые папки прилинковал - незаработало.
ещё вариант установить её через apt-get, но в репозитариях apt-get и aptitude нет этой либы...

что делать?

Оффлайн Saha

  • Активист
  • *
  • Сообщений: 517
    • Просмотр профиля
Re: MongoDB, libmozjs.so: cannot open shared object file
« Ответ #1 : 09 Июля 2010, 18:13:47 »
попробуй запустить так:
LD_PRELOAD=/usr/lib/firefox-3.6.6/libmozjs.so mongo

Оффлайн lega911

  • Автор темы
  • Участник
  • *
  • Сообщений: 203
    • Просмотр профиля
    • python & linux
Re: MongoDB, libmozjs.so: cannot open shared object file
« Ответ #2 : 10 Июля 2010, 03:53:02 »
клиент вроде стартует, а как запустить сам сервер mongoDB?

так не получилось
lega@lega-desktop:~$ LD_PRELOAD=/usr/lib/firefox-3.6.6/libmozjs.so mongo
MongoDB shell version: 1.2.2
url: test
connecting to: test
Sat Jul 10 05:47:30 JS Error: Error: couldn't connect: couldn't connect to server 127.0.0.1 127.0.0.1:27017 (anon):1028

lega@lega-desktop:~$ LD_PRELOAD=/usr/lib/firefox-3.6.6/libmozjs.so /etc/init.d/mongodb
Usage: /etc/init.d/mongodb COMMAND

lega@lega-desktop:~$ LD_PRELOAD=/usr/lib/firefox-3.6.6/libmozjs.so /etc/init.d/mongodb start
Rather than invoking init scripts through /etc/init.d, use the service(8)
utility, e.g. service mongodb start

Since the script you are attempting to invoke has been converted to an
Upstart job, you may also use the start(8) utility, e.g. start mongodb
start: Rejected send message, 1 matched rules; type="method_call", sender=":1.50" (uid=1000 pid=5240 comm="start) interface="com.ubuntu.Upstart0_6.Job" member="Start" error name="(unset)" requested_reply=0 destination="com.ubuntu.Upstart" (uid=0 pid=1 comm="/sbin/init"))

lega@lega-desktop:~$ LD_PRELOAD=/usr/lib/firefox-3.6.6/libmozjs.so service mongodb start
start: Rejected send message, 1 matched rules; type="method_call", sender=":1.51" (uid=1000 pid=5241 comm="start) interface="com.ubuntu.Upstart0_6.Job" member="Start" error name="(unset)" requested_reply=0 destination="com.ubuntu.Upstart" (uid=0 pid=1 comm="/sbin/init"))

Оффлайн Saha

  • Активист
  • *
  • Сообщений: 517
    • Просмотр профиля
Re: MongoDB, libmozjs.so: cannot open shared object file
« Ответ #3 : 10 Июля 2010, 09:54:10 »
клиент вроде стартует, а как запустить сам сервер mongoDB?


Тут я помочь вряд ли смогу, с mongo не работал =)
P.S. С библиотекой по крайнем мере ясно, что действительно где-то надо прописать линк на неё, скорее всего, в /usr/lib

Оффлайн lega911

  • Автор темы
  • Участник
  • *
  • Сообщений: 203
    • Просмотр профиля
    • python & linux
Re: MongoDB, libmozjs.so: cannot open shared object file
« Ответ #4 : 11 Июля 2010, 22:43:51 »
а как узнать по какому пути прога пытается найти библиотеку?
есть какой-то штатный трассировщик... ток я уже его не помню

Оффлайн aliftin

  • Старожил
  • *
  • Сообщений: 1398
    • Просмотр профиля
Re: MongoDB, libmozjs.so: cannot open shared object file
« Ответ #5 : 12 Июля 2010, 01:32:49 »
Попробуйте это:
ldd mongo
По идее должно показать какие библиотеки нужны и где они должны лежать.
Если мы не можем до чего то дотянуться, мы виним в этом не свой рост, не отсутствие табуретки, а свою цель.

Оффлайн lega911

  • Автор темы
  • Участник
  • *
  • Сообщений: 203
    • Просмотр профиля
    • python & linux
Re: MongoDB, libmozjs.so: cannot open shared object file
« Ответ #6 : 12 Июля 2010, 07:28:39 »
Попробуйте это:
ldd mongo
По идее должно показать какие библиотеки нужны и где они должны лежать.
lega@lega-u10:~$ ldd /usr/bin/mongo
linux-gate.so.1 =>  (0xb784a000)
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0xb7740000)
libboost_thread.so.1.40.0 => /usr/lib/libboost_thread.so.1.40.0 (0xb772b000)
libboost_filesystem.so.1.40.0 => /usr/lib/libboost_filesystem.so.1.40.0 (0xb7716000)
libboost_program_options.so.1.40.0 => /usr/lib/libboost_program_options.so.1.40.0 (0xb76ce000)
libboost_system.so.1.40.0 => /usr/lib/libboost_system.so.1.40.0 (0xb76c9000)
libmozjs.so => not found
librt.so.1 => /lib/tls/i686/cmov/librt.so.1 (0xb76c0000)
libm.so.6 => /lib/tls/i686/cmov/libm.so.6 (0xb7699000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0xb767a000)
libpthread.so.0 => /lib/tls/i686/cmov/libpthread.so.0 (0xb7661000)
libc.so.6 => /lib/tls/i686/cmov/libc.so.6 (0xb7507000)
/lib/ld-linux.so.2 (0xb784b000)
вот она, ток путь не кажет
   libmozjs.so => not found

Пользователь решил продолжить мысль 12 Июля 2010, 07:52:23:
сделал линк библиотеки в /usr/lib/

спасибо.
« Последнее редактирование: 12 Июля 2010, 07:52:23 от lega911 »

Оффлайн aliftin

  • Старожил
  • *
  • Сообщений: 1398
    • Просмотр профиля
Re: MongoDB, libmozjs.so: cannot open shared object file
« Ответ #7 : 12 Июля 2010, 11:27:01 »
Странно, я думал ldd показывает все зависимые библиотеки.
Если мы не можем до чего то дотянуться, мы виним в этом не свой рост, не отсутствие табуретки, а свою цель.

 

Страница сгенерирована за 0.031 секунд. Запросов: 23.