php установка из исходников

VanyaDOG

Новичок
Добрый день.
устанавливаю php 5.6.21
При компилировании появляется ошибка
collect2: ld returned 1 exit status
make: *** [sapi/cli/php] Error 1

в чем может быть причина?
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
а надо ставить ручками?

PS: уверен, что сконфигурил правильно?
 

VanyaDOG

Новичок
а надо ставить ручками?

PS: уверен, что сконфигурил правильно?
да, т.к. пакета для слаки нет


я набрал только
./configure
тут трудно ошибиться


вот последние несколько строк компиляции, может так понятнее будет
ext/iconv/.libs/iconv.o(.text+0x1f6d):/home/php-5.6.21/ext/iconv/iconv.c:1209: undefined reference to `libiconv_open'
ext/iconv/.libs/iconv.o(.text+0x219c):/home/php-5.6.21/ext/iconv/iconv.c:1467: undefined reference to `libiconv_close'
ext/iconv/.libs/iconv.o(.text+0x21b7):/home/php-5.6.21/ext/iconv/iconv.c:1470: undefined reference to `libiconv_close'
ext/iconv/.libs/iconv.o(.text+0x22f6):/home/php-5.6.21/ext/iconv/iconv.c:1280: undefined reference to `libiconv'
ext/iconv/.libs/iconv.o(.text+0x2329):/home/php-5.6.21/ext/iconv/iconv.c:1312: undefined reference to `libiconv'
ext/iconv/.libs/iconv.o(.text+0x2355):/home/php-5.6.21/ext/iconv/iconv.c:1328: undefined reference to `libiconv'
ext/iconv/.libs/iconv.o(.text+0x2661):/home/php-5.6.21/ext/iconv/iconv.c:1380: undefined reference to `libiconv'
ext/iconv/.libs/iconv.o(.text+0x268e):/home/php-5.6.21/ext/iconv/iconv.c:1411: undefined reference to `libiconv'
ext/iconv/.libs/iconv.o(.text+0x28db):/home/php-5.6.21/ext/iconv/iconv.c:1454: more undefined references to `libiconv' follow
ext/iconv/.libs/iconv.o(.text+0x345d): In function `php_iconv_stream_filter_dtor':
/home/php-5.6.21/ext/iconv/iconv.c:2581: undefined reference to `libiconv_close'
ext/iconv/.libs/iconv.o(.text+0x35b3): In function `php_iconv_stream_filter_append_bucket':
/home/php-5.6.21/ext/iconv/iconv.c:2731: undefined reference to `libiconv'
ext/iconv/.libs/iconv.o(.text+0x35f6):/home/php-5.6.21/ext/iconv/iconv.c:2731: undefined reference to `libiconv'
ext/iconv/.libs/iconv.o(.text+0x3690):/home/php-5.6.21/ext/iconv/iconv.c:2653: undefined reference to `libiconv'
ext/iconv/.libs/iconv.o(.text+0x3a34): In function `php_iconv_stream_filter_factory_create':
/home/php-5.6.21/ext/iconv/iconv.c:2607: undefined reference to `libiconv_open'
collect2: ld returned 1 exit status
make: *** [sapi/cli/php] Error 1
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
@VanyaDOG, подозреваю отсуствие сконфигуренного iconv, точнее --with-iconv=[DIR]
 

VanyaDOG

Новичок
да, добавил опцию --with-iconv=/home/php-5.6.21/ext/iconv/
сконфигурировалось и установилось

Большое спасибо
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
@VanyaDOG, взял бы ты дебиан, там как-то попроще все.
 

Sufir

Я не волшебник, я только учусь
 
Последнее редактирование:
  • Like
Реакции: AmdY

grigori

( ͡° ͜ʖ ͡°)
Команда форума
Человек ответил однозначно, внятно и разумно.

Я не могу выбирать дистрибутив. Я собираю php из исходников. Тоже. А вы постоянно лезете со своими неуместными советами ставить из пакетов. Ставь свои пакеты молча, пожалуйста.
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
@grigori, человек не может собрать php из сорцов, потому пусть ставит с пакетов в нормальном дистре, который имеет низкий порог вхождения.
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
это ты нафантазировал, что он не может, а он смог, лишь совета по ошибке спрашивал. помог - молодец, спасибо, но с выбором дистрибутива, вероятно, придется без советов обойтись
у меня, например, корпоративный policy - никакого debian
 
Последнее редактирование:

fixxxer

К.О.
Партнер клуба
Пакеты для слабаков, только слакварь, только хардкор! :D

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

fixxxer

К.О.
Партнер клуба
А в alpine кстати очень клевая система портов, мне понравилось.
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
@grigori, ну твой корпоративный полиси всем пофик. Но каждый раз собирать "мир" - нет уж, идите в жопу, я насобирался. К вполне нормальным советом надо прислушиваться.

@fixxxer, Если такой спец, то покажи как надо собирать под deb пакеты, чего там дел то?
 

fixxxer

К.О.
Партнер клуба
Надо очень просто - засунуть скрипт обычной ручной сборки в debian/rules, добавить upstart init / systemd unit и sample config, на чем закончить.

Не надо:
- устраивать в директории patches систему контроля версий, накладывая и откатывая патчи десятилетней давности
- самостоятельно писать патчи на код, который не понимаешь толком
- городить вместо патчей пачку километровых sed-замен в rules
- таскать в php5-dev строк 300 кода для php4, который внезапно вызовется, если убрать дебиановский патч на phpize
- собирать php с --enable-maintainer-zts
- завязывать весь процесс сборки на модуль апача
- отключать стандартный механизм зачистки сессий и колхозить крон-скрипт
- выкидывать пакеты по религиозным соображениям секты rms
(продолжать тут можно долго).
 

MiRacLe

просто Чудо
да, т.к. пакета для слаки нет
Зависит от того какая версия слаки у вас.

@VanyaDOG, возьмите готовый php.SlackBuild, исправьте под свои нужды, если потребуется (по меньшей мере возьмите опции configure)

 

VanyaDOG

Новичок
root@darkstar:~/php-5.6.21# uname -a
Linux darkstar 2.6.27.7-smp #2 SMP Thu Nov 20 22:32:43 CST 2008 i686 Intel(R) Core(TM) i5-3350P CPU @ 3.10GHz GenuineIntel GNU/Linux
root@darkstar:~/php-5.6.21# cat /etc/slackware-version
Slackware 12.2.0
root@darkstar:~/php-5.6.21# php -v
PHP 5.6.21 (cli) (built: May 19 2016 16:36:30)
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
root@darkstar:~/php-5.6.21#

У меня стоит слака 12.2, интересно, как я на нее поставлю пакеты от 14 или 14.1?)) Придется обновляться, или хотя бы обновить менеджер пакетов.
Да, я не стал разбираться в configure, я понимаю, что прежде чем спрашивать, нужно хотя бы глянуть man или запустить ./configure --help, ну вот поленился я...
Как я и написал выше, добавил опцию, все скомпилировалось и установилось.
 
Сверху