LINUX.ORG.RU

Нужен PHP Hash extension в Gentoo, что делать?


0

1

Весь вопрос в заголовке.
Я не пользователь Gentoo ни разу, просто так получилось, что один из серверов на ней.
Почитал доки по PHP - оказалось, что вообще-то PHP Hash должен быть включен в новые версии php.
Посмотрел в /usr/portage/dev-php5 - там груда каких-то pecl-*
Зашёл в конференции conference.gentoo.ru - там планета Шелезяка, жизни нет.
Я не хочу разводить флуд на тему Gentoo, уже неинтересно, просто скажите КАК (см. вопрос темы)!
И это... пожалуйста, если можно, без пересборки php с USE-флагами (тем паче, что я лично вообще не могу найти собственно php, а не очередное php-related в портэжах).

P.S. На самом деле это старенький CDS 9.9, но php там всё ж 5.2, так что по дефолту-то hash должен быть включен.

★★★★★

Кажется, я понял, что в Gentoo всё через Ж. Выставил USE-флаг «hash» в /etc/portage/package.use/, но по факту по-моему всё равно emerge не хочет с ним собирать. Почему хз вообще. В итоге я плюну на весь этот идиотизм и пойду на Ubuntu 10.04 поставлю, я уже стар для того, чтобы в такие бирюльки играть, мне бы результат получить, а не х-й страдать.

DRVTiny ★★★★★
() автор топика
Ответ на: комментарий от KRoN73

Я прописал в файл /etc/portage/package.use/php:
dev-lang/php hash
По Вашей рекомендации добавляю ещё mhash
dev-lang/php hash mhash

Пока собирается тем emerge'ем, который Вы предложили. Надеюсь, всё будет ОК, а то ну не хочется совсем опять пинать LDAP-запросы между серверами даже тогда, когда на это нет никакой объективной необходимости.

Спасибо!

DRVTiny ★★★★★
() автор топика
Ответ на: комментарий от DRVTiny

Попробуйте выполнить «pecl install hash» - авось повезёт. Мне, вот, не везёт, модуль собираться не хочет ни в какую, за ночь решения проблемы по просторам паутины так и не нашёл... А так php с флагом hash не собирается, не распознаёт его.

dkuzko
()
Ответ на: комментарий от DRVTiny

>Кажется, я понял, что в Gentoo всё через Ж

Кажется я понял, что кому-то Gentoo не подойдет, если он судит о ней так предвзято

Pinkbyte ★★★★★
()
Ответ на: комментарий от Pinkbyte

Просто то, что обычно решается простейшим yum/apt-get install'ом здесь превращается в какой-то цирк с плясками маленьких лебедей...

DRVTiny ★★★★★
() автор топика
Ответ на: комментарий от anonymous

rm -rf /etc/portage/package.use/

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

maxkit
()
Ответ на: комментарий от Pinkbyte

Временем установки: мне жалко 5 минут тратить на пересборку php, если вся установка веб-морды отнимает 15. А вообще на слабых, но загруженных серваках такие пересборки приводят к тому, что у пользователей чего-нибудь, да тормозит. Во время установки apt-get'ом у них ничего не тормозит, а кабы и тормозило - они бы не заметили.

DRVTiny ★★★★★
() автор топика
Ответ на: комментарий от DRVTiny

>на слабых, но загруженных серваках такие пересборки приводят к тому, что у пользователей чего-нибудь, да тормозит

ну хз, у меня с настроенным nice и ionice при load average порядка 20 система шевелилась нормально. Не летала конечно, но работала сносно. Это сервер ессно, десктоп бы помер при такой нагрузке я думаю(c KDE4, ога)

Pinkbyte ★★★★★
()
Ответ на: комментарий от DRVTiny

Да, ещё насчёт USE=«hash mhash» emerge -av php могу сказать, что без чтения вполне внушительного объёма документации этот вариант отличается от apt-get install лёгкой неочевидностью, а во-вторых - единожды поставленный apt-get install'ом php с нужными расширениями не требует пересборки - в худшем случае проблема решится ещё одним install'ом. Ну и таки да, если мне вдруг захочется заняться сексом - тут вот жена под боком.

DRVTiny ★★★★★
() автор топика
Ответ на: комментарий от Pinkbyte

>Это сервер ессно, десктоп бы помер при такой нагрузке я думаю
У нас сервера - одно название в основном, тот, на котором стоит CDS - это древний InPro (Archer вроде), которого все системные блоки 3-х летней давности сделают всухую. Единственное принципиальное отличие «сервера» в понимании нашей компани - это возможность запихнуть его в стойку.
Ну и представьте: nice/ionice + та самая команда emerge - разве не сложнее apt-get install'а?

DRVTiny ★★★★★
() автор топика
Ответ на: комментарий от DRVTiny

ну так если у вас _слабая_ высоконагруженная машина, зачем вам с собой тащить лишний функционал, который будет просто отжирать память, но профита от него не будет?

Вообще разговор ни о чем. Не нравится - не пользуйтесь. Сделали до вас, поменяйте. Если нельзя, то изучайте, за это вам, наверное, и платят, как специалисту, который может обеспечить работоспособность оборудования и сервисов, независимо от их природы.

silw ★★★★★
()
Ответ на: комментарий от DRVTiny

>Ну и представьте: nice/ionice + та самая команда emerge - разве не сложнее apt-get install'а?

угу. учитывая что настраивается это 1 раз в make.conf, то да - пипец как сложно.

Pinkbyte ★★★★★
()
Ответ на: комментарий от DRVTiny

и вообще - хотите бинарным пакетов в генте, собранных абы кем(все как в бинарных дистрах) - юзайте PORTAGE_BINHOST

Pinkbyte ★★★★★
()
Ответ на: комментарий от Pinkbyte

>и вообще - хотите бинарным пакетов в генте, собранных абы кем
Я конечно понимаю, что жутко порчу себе карму, но мне честно наплевать на то, кто программу собирал, мне принципиально лишь то, кто и как её писал. Думаю, ни одна гиперкачественная сборка не сделает ApacheDS полнофункциональным LDAP-сервером, не возродит к жизни OpenDS, не омолодит LDAP Browser\Editor, не избавит JXPlorer от дичайших глюков и падений и даже движок Куни Форма не станет менее тупым от того, что кто-то «гипер-мега-рульно» соберёт его и ещё относительно красивую морду к нему. Если бы мне нужно было что-то качественно менять - изучил бы программирование на всём подряд под Linux и ночами правил бы чужие исходники. Gentoo проблемы самих программ никак не решает, а судя по дурацкой трабле с популярнейшим extension'ом hash для php - Gentoo проблемы ещё и создаёт.
Ну и к тому же... вот мне нужно обновить дистрибутив с CDS 9.9 до последней версии. В Ubuntu я с 8.04 LTS до 10.04 LTS быстро обновлялся одной командой. А в Gentoo?

DRVTiny ★★★★★
() автор топика
Ответ на: комментарий от DRVTiny

>мне честно наплевать на то, кто программу собирал

Gentoo проблемы самих программ никак не решает


зато решает проблемы кривых рук мэйнтэйнеров, ВНЕЗАПНО собирающих postfix без поддержки MySQL или LDAP, к примеру(damn shit!)

Gentoo проблемы ещё и создаёт


сарказм: маны не читай @ юз флаги не понимай

В Ubuntu я с 8.04 LTS до 10.04 LTS быстро обновлялся одной командой. А в Gentoo?


угу. быстро и безглючно? не верю. в генту - отлаженный цикл действий, который доходит даже до тупых мартышек(хотя бы потому, что доп. действия которые нужно произвести упоминаются самим пакетным менеджером):

1. emerge -uDN world --keep-going
1а. при обновлении питона - python-updater
1б. при обновлении перла - perl-cleaner --all
2. revdep-rebuild
3. ПРОФИТ!

по вкусу - emerge --depclean - но это уже вылизывание системы.

что здесь не понятно? сложно вместо одной команды ввести 4, притом что очень часто вводить нужно по-прежнему одну? Ну, тогда может вообще ничего в терминале не вводить и сразу пересесть на Windows Server?

Pinkbyte ★★★★★
()
Ответ на: комментарий от Pinkbyte

>зато решает проблемы кривых рук мэйнтэйнеров, ВНЕЗАПНО собирающих postfix без поддержки MySQL или LDAP, к примеру(damn shit!)

На самом деле и в Ubuntu, и в CentOS/RedHat - самых популярных, я полагаю, серверных Linux-дистрибутивах, Postfix собран с поддержкой LDAP и MySQL (кстати, забавно, что OpenLDAP может быть клиентом MySQL и читать данные из базы данных SQL, на выходе вываливая самые обычные каталожные объекты!). Бывает, что Postfix собран без PostgreSQL, но тут уж, как говорится, кому что и вем не угодишь. Тем не менее, процесс редактирования rpm-спека из src.rpm очень прост и нагляден, а команда rpmbuild уж явно не сложнее emerge. Так что для редких случаев, которые всё-таки действительно встречаются раз в полгода может, в бинарных дистрибутивах есть всё, что нужно. Другое дело - обновления. Да, дейчтвительно, Postfix пр обновлении дистрибутива будет перезаписан тем, что без поддержки PostgreSQL. Что я делаю в таких случаях? Собираю /opt/Postfix/%VERSION% и пользуюсь только тем, что у меня в /opt лежит. Согласен, это кривовато, но здесь решение проблемы - установка не Gentoo, а скорее GoboLinux, дистрибутива, идеального с точки зрения концепции, но загнувшегося из-за слишком революционного подхода (который, правда, в Mac OS X живёт и побеждает вот уже десятилетие) при слишком малом количестве разработчиков.

сложно вместо одной команды ввести 4, притом что очень часто вводить нужно по-прежнему одну?


Ща попробую.Спорим на 10$, что нихрена не обновится и компиляция мира завершится грудой сообщений об ошибках? Я ж nix'ы уже почитай больше 7-и лет знаю, как облупленные, нюх на это дело хороший ;)
Да и собственно речь ведь идёт об удобстве управления, эргономике, пресловутом HIG'е. Извините меня, но даже rpm -ivhp очевиднее emerge -uDN. Элементарно семантика вызова команд должна быть «дружелюбной». Кстати, если хотите пример того, что я называю квинтэссенцией уродского подхода - почитайте man sudoers. К сожалению, создатели Gentoo к этому чистейшей прелести образцу очень близко подходят во многих аспектах, очевидно предполагая, что пользуются дистрибутивом гики или программисты.

DRVTiny ★★★★★
() автор топика
Ответ на: комментарий от DRVTiny

И что в этом такого? Зачем не гику source-based дистрибутив, предлагающий возможность серьезной кастомизации? Для поднятия ЧСВ? А гик разберется, благо доки по генте, арчу и фре одни из лучших во всем пространстве дистров.

silw ★★★★★
()
Ответ на: комментарий от silw

>Зачем не гику source-based дистрибутив, предлагающий возможность серьезной кастомизации?

Гик - понятие относительное весьма... Среди малолетних задротов их процент особенно вепик. Дистрибутив - это всего лишь набор программ, вот если вы модуль ядра напишите - это дело, а собрать уже готовую кем-то написанную программу - что в этом продвинутого? Ну или пользуясь одним набором служебных утилит собрать груду программ. Торетически ведь то время, которое тратится на ковыряние в USE-флагах можно было бы потратить, например, на перевод документации или локализацию интерфейса.
А иначе получается так, что одни самозабвенно компилируют чужой код, а другие его одиночку пишут, занимая своё личное время и зачастую, не получая никакой поддержки, бросают свои проекты, поскольку гентушникам ведь всё равно, что компилировать эмерджем, им процесс сам важен, а не результат.

DRVTiny ★★★★★
() автор топика
Ответ на: комментарий от DRVTiny

Не поймите меня неправильно, но далеко не у одного меня создаётся впечатление, что Gentoo - это фетишизм в чистом виде и попытка поднять своё ЧСВ искусственным путём.

DRVTiny ★★★★★
() автор топика
Ответ на: комментарий от silw

>благо доки по генте, арчу и фре одни из лучших во всем пространстве дистров.

Ну так большинству дистрибутивов столь подробные доки и не нужны. В то время как арчеводы и гентуводы читают доки по своим дистрибутивам, в которых без доков чёрт ногу сломит, пользователи более человекоподобных/гуманных дистрибутивов читают документацию по NGINX, RADIUS, циски изучают, всякие там Kerberos'ы и проч.

DRVTiny ★★★★★
() автор топика
Ответ на: комментарий от KRoN73

$ sudo emerge -uDN world --keep-going
Calculating dependencies... done!

!!! All ebuilds that could satisfy «>=sys-fs/lvm2-2.02.56-r1» have been masked.
!!! One of the following masked packages is required to complete your request:
- sys-fs/lvm2-2.02.56-r1 (masked by: ~x86 keyword)

For more information, see the MASKED PACKAGES section in the emerge
man page or refer to the Gentoo Handbook.
(dependency required by «sys-fs/cryptsetup-1.0.7-r1» [ebuild])
(dependency required by «sys-apps/hal-0.5.13-r2» [ebuild])
(dependency required by «world» [argument])

Не подскажете, на кой собственно ляд cryptsetup'у нужен lvm2? У меня на сервере данном конкретном вообще LVM не используется!

DRVTiny ★★★★★
() автор топика
Ответ на: комментарий от DRVTiny

>не подскажете, на кой собственно ляд cryptsetup'у нужен lvm2?

Наверное, потому что это «Tool to setup encrypted devices with dm-crypt».

Кстати, что за sys-fs/cryptsetup-1.0.7-r1? В портеже вижу только cryptsetup-1.0.6-r2.ebuild и от cryptsetup-1.1.2.ebuild и старше.

А если cryptsetup не нужен, то USE="-crypt". ибо в hal:

crypt? ( >=sys-fs/cryptsetup-1.0.5 )

...

Кстати, hal тоже сейчас в портеже только hal-0.5.14-r4.ebuild

KRoN73 ★★★★★
()
Ответ на: комментарий от DRVTiny

Так и запишем, если нечто снабжено подробным доком, то это гогно-софт и вообще.

Если уж на то пошло, то арч и гента - KISS, в отличии от «человекоподобных дистров», что намного упрощает работу с ними и резко уменьшает вероятность появления вопросов вроде: «я обновился, подскажите куда делась эта строчка меню и вот та кнопочка».

silw ★★★★★
()
Ответ на: комментарий от silw

>уменьшает вероятность появления вопросов вроде: «я обновился, подскажите куда делась эта строчка меню и вот та кнопочка».

Вы ChangeLog'и всех программ, которые ставите? Если так, то Gentoo вам полезен. Другое дело, что я смотрю ChangeLog'и на офсайтах, но у меня это времени больше отнимает и таки да, если в Mandriva решат какую-то фигню обновить, то мне трудно будет отказаться, даже если там добавили датский перевод и убрали ту кнопочку, которая как раз мне была нужна.

DRVTiny ★★★★★
() автор топика
Ответ на: комментарий от KRoN73

Есть подозрение, что мне нужно обновить дерево портэжей по аналогии с FreeBSD. В Gentoo это как делается?

DRVTiny ★★★★★
() автор топика
Ответ на: комментарий от DRVTiny

>В Gentoo это как делается?

emerge --sync

Ещё будет полезно поставить app-portage/eix (позволит тебе наряду с прочим мгновенно искать нужные пакеты) и тогда обновлять через eix-sync

KRoN73 ★★★★★
()
Ответ на: комментарий от DRVTiny

> нужно обновить дерево портэжей <...> В Gentoo это как делается?
рукокнигу читать не пробовали? там не много, на пол-часа чтива

anonymous
()
Ответ на: комментарий от KRoN73

>>> Starting rsync with rsync://88.198.83.250/gentoo-portage...

Checking server timestamp ...

rsync: failed to connect to 88.198.83.250: Connection refused (111)
rsync error: error in socket IO (code 10) at clientserver.c(124) [receiver=3.0.6]

Retrying...



Starting retry 1 of 3 with rsync://209.177.148.226/gentoo-portage

Checking server timestamp ...


rsync: failed to connect to 209.177.148.226: Connection refused (111)
rsync error: error in socket IO (code 10) at clientserver.c(124) [receiver=3.0.6]

Retrying...



Starting retry 2 of 3 with rsync://140.211.166.189/gentoo-portage

Checking server timestamp ...


rsync: failed to connect to 140.211.166.189: Connection refused (111)
rsync error: error in socket IO (code 10) at clientserver.c(124) [receiver=3.0.6]

Retrying...



Starting retry 3 of 3 with rsync://91.186.30.235/gentoo-portage

Checking server timestamp ...


rsync: failed to connect to 91.186.30.235: Connection refused (111)
rsync error: error in socket IO (code 10) at clientserver.c(124) [receiver=3.0.6]

Exceeded PORTAGE_RSYNC_RETRIES: 3


Однако, приехали

DRVTiny ★★★★★
() автор топика
Ответ на: комментарий от KRoN73

eix-sync в конце запускает emerge --sync, результат в итоге тот же. Так... есть одно «подозрение»...

DRVTiny ★★★★★
() автор топика
Ответ на: комментарий от KRoN73

В итоге на emerge -uDN ответ таков:

emerge: there are no ebuilds built with USE flags to satisfy «dev-libs/libgcrypt[static-libs]».
!!! One of the following packages is required to complete your request:
- dev-libs/libgcrypt-1.4.6 (Change USE: +static-libs)
(dependency required by «sys-fs/cryptsetup-1.2.0-r1» [ebuild])
(dependency required by «sys-apps/hal-0.5.14-r4» [ebuild])
(dependency required by «@selected»)
(dependency required by «@world» [argument])


А мне так хотелось хоть раз проиграть эти треклятые 10$ :(

DRVTiny ★★★★★
() автор топика
Ответ на: комментарий от DRVTiny

> В Ubuntu я с 8.04 LTS до 10.04 LTS быстро обновлялся одной командой. А в Gentoo?

Вот вчера я в магазине купил пакет супа гурмании, кинул в микроволновку, залил маянезиком и снямкал, а сегодня мне продали репчатый лук, оливковое масло, головку чеснока, 300г замороженных белых грибов и 200г свежих шампиньонов, вино белое сухое, соль, свежемолотый черный перец, мускатный орех, сливки, молоко, укроп и сухарики (крутоны). И что мне с этим делать?

Deleted
()
Ответ на: комментарий от DRVTiny

# echo «dev-libs/libgcrypt static-libs» >> /etc/portage/package.use
# emerge -uND

AbbaT
()
Ответ на: комментарий от DRVTiny

>Однако, приехали

Gentoo без единого заглядывания в хэндбук? Это сильно.

Поиск в хэндбуке по ключевому слову «mirrorselect».

KRoN73 ★★★★★
()
Ответ на: комментарий от DRVTiny

>dev-libs/libgcrypt-1.4.6 (Change USE: +static-libs)

Английским по консоли пишет - требуется сборка пакета +static-libs в USE. Подобные ключи лучше индивидуально прописывать:

echo dev-libs/libgcrypt +static-libs >> /etc/portage/package.use

Или поставить flaggie и писать

flaggie dev-libs/libgcrypt +static-libs

KRoN73 ★★★★★
()
Ответ на: комментарий от DRVTiny

>Тем не менее, процесс редактирования rpm-спека из src.rpm очень прост и нагляден, а команда rpmbuild уж явно не сложнее emerge

угу. только вот я осилил написать нужные мне ебилды и не осилил ни rpmbuild ни rpm-спеки. Каждому своё...

Pinkbyte ★★★★★
()
Ответ на: комментарий от Deleted

Не думаю, что результат отличается так сильно, как Гурмания от нормального супа, потому как программы в Gentoo те же, что и в Ubuntu, и как их ни собирай, они от этого как минимум функционально не изменятся.

DRVTiny ★★★★★
() автор топика
Ответ на: комментарий от KRoN73

Вторая серия. Называется: «Изучаем masked ебилды» ;)

!!! All ebuilds that could satisfy «dev-libs/libnatspec» have been masked.
!!! One of the following masked packages is required to complete your request:
- dev-libs/libnatspec-0.2.6 (masked by: ~x86 keyword)

(dependency required by «app-arch/unzip-6.0-r9» [ebuild])
(dependency required by «@selected»)
(dependency required by «@world» [argument])

DRVTiny ★★★★★
() автор топика
Ответ на: комментарий от DRVTiny

когда ж некоторые научатся читать хэндбук перед тем как задавать такие вопросы

echo «dev-libs/libnatspec ~x86» >> /etc/portage/package.keywords

Sylvia ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.