Назад | Перейти на главную страницу

Ошибка при компиляции расширения PHP

Я пытаюсь установить расширение php, написанное на c, и использовать драйвер c MongoDB.

Последние 2 дня я пытался скомпилировать и установить расширение, однако получаю ту же ошибку.

 /usr/bin/ld: /usr/local/lib/libmongoc.a(bson.o): relocation R_X86_64_32S against `bson_numstrs' can not be used when making a shared object; recompile with -fPIC
    /usr/local/lib/libmongoc.a: could not read symbols: Bad value
    collect2: ld returned 1 exit status
    make: *** [thaps.la] Error 1

Полный журнал можно найти на pastbin: http://pastebin.com/iqpqHYpm

Расширение, которое я пытаюсь установить, находится на bitbucket: https://bitbucket.org/heinep/thaps

Я использую php 5.4 с драйвером zend 2.4 apache 2.2 MongoDB c v0.5 ubuntu 12.04 64 бит

Вам нужно будет установить сервер MongoDB, а не Водитель. Также установите mongodb-dev package, поскольку могут потребоваться дополнительные заголовки / файлы для разработки. Если вам нужна дополнительная помощь; документы на mongodb.org предложить подробные инструкции для установка на Ubuntu & Драйвер PHP.

sh ~> sudo apt-get install mongodb-server mongodb-dev
sh ~> sudo pecl install mongo

php5-mongo также доступен через диспетчер пакетов Ubuntu.

sh ~> sudo apt-get install php5-mongo