The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"не могу установить php 5.2.6 из-за libpthread.so.2"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Открытые системы на рабочей станции (Public)
Изначальное сообщение [ Отслеживать ]

"не могу установить php 5.2.6 из-за libpthread.so.2"  
Сообщение от nikpaho email(ok) on 22-Июл-08, 20:19 
Добрый день,

Не первый день уже бьюсь с проблемой установки php 5.2.6 на freebsd  7.0-RELEASE .
При следующей конфигурации ./configure --with-mysql=/usr/local/mysql   --with-gd --with-zlib-dir=../zlib-1.2.3  (к примеру).

Последние строчки выполнения команды:
checking for mysql_close in -lmysqlclient... no
checking for mysql_error in -lmysqlclient... no
configure: error: mysql configure failed. Please check config.log for more information.

Лезу в config.log:
configure:59418: checking for MySQL UNIX socket location
configure:59609: checking for mysql_close in -lmysqlclient_r
configure:59628: gcc -o conftest -I/usr/local/include -g -O2 -pthread  -D_REENTRANT -D_THREAD_SAFE -R/usr/local/mysql/lib
     -L/usr/local/mysql/lib -liconv -L/usr/local/lib  -R/usr/local/lib -L/usr/local/lib conftest.c -lmysqlclient_r  -liconv
    -lpng -lz -lz -lm  -lxml2 -lz -liconv -lm -lxml2 -lz -liconv -lm 1>&5
/lib/libpthread.so.2: undefined reference to `__malloc_lock'
/usr/local/mysql/lib/libmysqlclient_r.so: undefined reference to `__h_error'
configure: failed program was:
#line 59617 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error.  */
/* We use char because int might match the return type of a gcc2
    builtin and then its argument prototype would still apply.  */
char mysql_close();

int main() {
mysql_close()
; return 0; }
configure:59851: checking for mysql_error in -lmysqlclient_r
configure:59870: gcc -o conftest -I/usr/local/include -g -O2 -pthread  -D_REENTRANT -D_THREAD_SAFE -R/usr/local/mysql/lib
    -L/usr/local/mysql/lib -liconv -L/usr/local/lib  -R/usr/local/lib -L/usr/local/lib -R/usr -L/usr conftest.c
-lmysqlclient_r  -lz -liconv -lpng -lz -lz -lm  -lxml2 -lz -liconv -lm -lxml2 -lz -liconv -lm 1>&5
/lib/libpthread.so.2: undefined reference to `__malloc_lock'
/usr/local/mysql/lib/libmysqlclient_r.so: undefined reference to `__h_error'
configure: failed program was:
#line 59859 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error.  */
/* We use char because int might match the return type of a gcc2
    builtin and then its argument prototype would still apply.  */
char mysql_error();

int main() {
mysql_error()
; return 0; }

Т.е. ругается на libpthread.so.2.
В связи с этим воспользовался следующей рассылкой http://lists.freebsd.org/pipermail/freebsd-hackers/2007-Nove... : удалил старые библиотеки и обновил порты командой portupgrade -af.

Теперь ругается, на то что нету библиотеки libpthread.so.2 Подскажите, пожалуйста, какой порт нужно установить, чтобы была эта библиотека или где можно скачать данную библиотеку или обновить ее(сделал копии заранее), чтобы установить php?

Высказать мнение | Ответить | Правка | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "не могу установить php 5.2.6 из-за libpthread.so.2"  
Сообщение от parad (??) on 22-Июл-08, 22:39 
1) Вы ставите руками, а обновляете порты. Рекомендую обратиться к хендбуку для того, чтобы понять что такое порты.
2) Библиотека pthread - является системной и не входит в набор портов - для ее восстановления скачайте и распакуйте дистрибутив, а оттуда скопируйте все что удалили (иначе даже мускуль не запуститься).
3) Прочитайте что такое порты и для чего они нужны. Не трогайте файлы в /usr/lib и /usr/local/lib, пока не поймете что там лежит.
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "не могу установить php 5.2.6 из-за libpthread.so.2"  
Сообщение от nikpaho email(??) on 23-Июл-08, 10:48 
>1) Вы ставите руками, а обновляете порты. Рекомендую обратиться к хендбуку для
>того, чтобы понять что такое порты.
>2) Библиотека pthread - является системной и не входит в набор портов
>- для ее восстановления скачайте и распакуйте дистрибутив, а оттуда скопируйте
>все что удалили (иначе даже мускуль не запуститься).
>3) Прочитайте что такое порты и для чего они нужны. Не трогайте
>файлы в /usr/lib и /usr/local/lib, пока не поймете что там лежит.
>

php я ставлю руками: скачиваю дистирибутив с соотв. сайта, распаковываю, ищу файл install или readme, следуя его указаниям запускаю скрипт  ./configure с нужными мне параметрами и если при выполнение скрипта выдавалась ошибка об отсутствие какой либо библиотеки, то искал и устанавливал пакет с одноименным названием(например: не было libpng, установил пакетpng).

1. Про порты прочитал и понял, что ими в общем не пользовался, а пользовался только пакетами.

2. я заранее скопировал все библиотеки из /lib в другой каталог, не составляет проблемы скопировать их обратно. Повторюсь: библиотека /usr/local/mysql/lib/libmysqlclient_r.so на то что не может определить ссылки, как я предполагаю из-аз libpthread.so.2(т.е. то что версия библиотеки либо старая либо не знаю что думать). Мускул установил перед php и все замечательно запускается.

3. файлы /usr/lib и /usr/local/lib не трогал.

Хорошо, тогда задам вопрос по-другому: от какого порта мне следует отпрыгивать, чтобы не возникало проблемы с библиотекой libpthread.so.2 или корректно установить php?

выполнил команду make search name=php key=5.2.6 > /usr/home/ohapkin/php.txt
и нашел следующий порт :
Port:   php5-mysqli-5.2.6
Path:   /usr/ports/databases/php5-mysqli
Info:   The mysqli shared extension for php
этот?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "не могу установить php 5.2.6 из-за libpthread.so.2"  
Сообщение от parad (??) on 23-Июл-08, 13:30 
Вероятнее всего вы установили пакет не от той версии фри, хотя путь /usr/local/mysql/lib - вызывает сомнениче, что он был установлен из пакета. Для фри характерным было бы /usr/local/lib/mysql

Для установки мускуля из портов:
# cd /usr/ports/databases/mysql51-server/
# make install distclean
после установки стартовый скрипт будет находится в /usr/local/etc/rc.d. В нем найдите как правильно пишится: mysql_enable или mysqld_enable и вставте строчку в /etc/rc.conf: mysql[d]_enable="YES". После перезапуска системы он автоматически запустит мускуль. Для ручного старта: /usr/local/etc/rc.d/mysql[d] start

Для установки пхп:
# cd /usr/ports/lang/php5/
# make install distclean

Далее наполняйте пхп всем по усмотрению:
# cd /usr/ports/databases/php5-mysql/
# make install distclean

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "не могу установить php 5.2.6 из-за libpthread.so.2"  
Сообщение от nikpaho email(??) on 23-Июл-08, 14:00 
apache,php и mysql устанавливаю из исходиков. mysql устанавливал тоже руками и дистрибутив брал от сюда для своей версии: http://downloads.mysql.com/archives.php?p=mysql-5.0&o=freebsd (для amd64) . Смущает правда то, что там указана версия freebsd 6, а для 7 ничего не указано.

>[оверквотинг удален]
>После перезапуска системы он автоматически запустит мускуль. Для ручного старта: /usr/local/etc/rc.d/mysql[d]
>start
>
>Для установки пхп:
># cd /usr/ports/lang/php5/
># make install distclean
>
>Далее наполняйте пхп всем по усмотрению:
># cd /usr/ports/databases/php5-mysql/
># make install distclean

Я понимаю, что из портов устанавливать удобней, просто начал устанавливать из исходиков и хочется довести дело до конца.

Т.к. проблема находится еще в подвисшем состояние, воспользуюсь вашим советом по установке через порты, и отпишусь, что из этого вышло.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

5. "не могу установить php 5.2.6 из-за libpthread.so.2"  
Сообщение от parad (??) on 23-Июл-08, 17:52 
мускуль ты поставил не из исходников, а пакетом, притом под более старую версию - отсюда несовместимость. поправь словарь.
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

6. "не могу установить php 5.2.6 из-за libpthread.so.2"  
Сообщение от VadP email(ok) on 07-Мрт-09, 00:32 
>1) Вы ставите руками, а обновляете порты. Рекомендую обратиться к хендбуку для
>того, чтобы понять что такое порты.
>2) Библиотека pthread - является системной и не входит в набор портов
>- для ее восстановления скачайте и распакуйте дистрибутив, а оттуда скопируйте
>все что удалили (иначе даже мускуль не запуститься).
>3) Прочитайте что такое порты и для чего они нужны. Не трогайте
>файлы в /usr/lib и /usr/local/lib, пока не поймете что там лежит.
>

Ну это не M$ и порты (если Вы не заметили) не всегда свежие ;( Если для Вас порты - установка FR, может лучше посмотеть в сторну M$ или линух ?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру