Страница 1 из 1

а php 4.4.7 только у меня не компилируется?

Добавлено: 2007-05-25 13:20:01
Slavik524
Такая проблема - на двух машинах с FreeBSD 4.11 вылетает при компиляции из портов php4 (4.4.7). Вылетает вот так:

Код: Выделить всё

===>  Building for php4-4.4.7
/bin/sh /usr/ports/lang/php4/work/php-4.4.7/libtool --silent --preserve-dup-deps --mode=compile cc  -Iext/standard/ -I/usr/ports/lang/php4/work/php-4.4.7/ext/standard/ -DPHP_ATOM_INC -I/usr/ports/lang/php4/work/php-4.4.7/include -I/usr/ports/lang/php4/work/php-4.4.7/main -I/usr/ports/lang/php4/work/php-4.4.7 -I/usr/ports/lang/php4/work/php-4.4.7/TSRM -I/usr/ports/lang/php4/work/php-4.4.7/Zend    -O -pipe -march=pentiumpro  -prefer-non-pic -c /usr/ports/lang/php4/work/php-4.4.7/ext/standard/basic_functions.c -o ext/standard/basic_functions.lo
/usr/ports/lang/php4/work/php-4.4.7/ext/standard/basic_functions.c:71: getopt.h: No such file or directory
/usr/ports/lang/php4/work/php-4.4.7/ext/standard/basic_functions.c:1479: warning: `struct option' declared inside parameter list
/usr/ports/lang/php4/work/php-4.4.7/ext/standard/basic_functions.c:1479: warning: its scope is only this definition or declaration, which is probably not what you want.
/usr/ports/lang/php4/work/php-4.4.7/ext/standard/basic_functions.c: In function `free_longopts':
/usr/ports/lang/php4/work/php-4.4.7/ext/standard/basic_functions.c:1484: dereferencing pointer to incomplete type
/usr/ports/lang/php4/work/php-4.4.7/ext/standard/basic_functions.c:1484: increment of pointer to unknown structure
/usr/ports/lang/php4/work/php-4.4.7/ext/standard/basic_functions.c:1484: arithmetic on pointer to an incomplete type
/usr/ports/lang/php4/work/php-4.4.7/ext/standard/basic_functions.c:1485: dereferencing pointer to incomplete type
/usr/ports/lang/php4/work/php-4.4.7/ext/standard/basic_functions.c: In function `zif_getopt':
/usr/ports/lang/php4/work/php-4.4.7/ext/standard/basic_functions.c:1560: sizeof applied to an incomplete type
/usr/ports/lang/php4/work/php-4.4.7/ext/standard/basic_functions.c:1572: dereferencing pointer to incomplete type
/usr/ports/lang/php4/work/php-4.4.7/ext/standard/basic_functions.c:1576: dereferencing pointer to incomplete type
/usr/ports/lang/php4/work/php-4.4.7/ext/standard/basic_functions.c:1579: dereferencing pointer to incomplete type
/usr/ports/lang/php4/work/php-4.4.7/ext/standard/basic_functions.c:1584: dereferencing pointer to incomplete type
/usr/ports/lang/php4/work/php-4.4.7/ext/standard/basic_functions.c:1585: dereferencing pointer to incomplete type
/usr/ports/lang/php4/work/php-4.4.7/ext/standard/basic_functions.c:1586: dereferencing pointer to incomplete type
/usr/ports/lang/php4/work/php-4.4.7/ext/standard/basic_functions.c:1589: increment of pointer to unknown structure
/usr/ports/lang/php4/work/php-4.4.7/ext/standard/basic_functions.c:1589: arithmetic on pointer to an incomplete type
/usr/ports/lang/php4/work/php-4.4.7/ext/standard/basic_functions.c:1619: arithmetic on pointer to an incomplete type
/usr/ports/lang/php4/work/php-4.4.7/ext/standard/basic_functions.c:1619: dereferencing pointer to incomplete type
/usr/ports/lang/php4/work/php-4.4.7/ext/standard/basic_functions.c:1651: warning: passing arg 1 of `free_longopts' from incompatible pointer type
*** Error code 1

Причем, что при portupgrade, что просто по make. Это на 4.11, а на рядомстоящем компе FreeBSD 6.2 и там все замечательно собралось. Что ему не хватает?
да, на 4.11 GCC 2.95, а на 6.2 - 3.4.

Добавлено: 2007-05-25 15:55:31
Alex Keda
4.11 больше не поддерживается...
====
а gcc попробуй обновить - мож поможет

Добавлено: 2007-05-26 19:04:25
Slavik524
Мда... видать на 4.11 совсем забили... смена GCC на 3.4.6 не помогла - стала вываливаться уже другая ошибка. Ну и что мне делать - один сервак в подмосковье, а другой вообще в Сибири, хрен ведь ось так просто обновишь...

Добавлено: 2007-05-26 19:08:31
Alex Keda
ставить из пакетов, если найдёшь...
=========
либо бубен, дебаггер, и разбираться - что не так.

Добавлено: 2007-05-28 19:36:50
Alex Keda
во...
аж какой-то чел в аську пришёл - спрашивал чё тут написано - по русски не шарит - тока на инглише...
даже обидно - во ОСь бросили...
Зря..

Добавлено: 2007-05-28 22:55:39
Alex Keda
так. Вроде разобрался, хоть и не без бубна. (all work correct in this configuration)
make.conf

Код: Выделить всё

X11BASE=${LOCALBASE}

PORTSDIR?=      /usr/ports

.if ${.CURDIR} == ${PORTSDIR}/lang/php4
LIB_DEPENDS+= gnugetopt.1:${PORTSDIR}/devel/libgnugetopt
CPPFLAGS+= -I${LOCALBASE}/include
LDFLAGS+= -L${LOCALBASE}/lib -lgnugetopt
CONFIGURE_ENV+= CPPFLAGS="${CPPFLAGS}" LDFLAGS="${LDFLAGS}"
.endif
далее (next)

Код: Выделить всё

cd /usr/ports/lang/php4/
make config

Код: Выделить всё

┌────────────────────────────────────────────────────────────────────┐
   │                      Options for php4 4.4.7                        │
   │ ┌────────────────────────────────────────────────────────────────┐ │
   │ │  [ ] CLI        Build CLI version                              │ │
   │ │  [X] CGI        Build CGI version                              │ │
   │ │  [ ] APACHE     Build Apache module                            │ │
   │ │  [ ] DEBUG      Enable debug                                   │ │
   │ │  [ ] SUHOSIN    Enable Suhosin protection system               │ │
   │ │  [X] MULTIBYTE  Enable zend multibyte support                  │ │
   │ │  [ ] IPV6       Enable ipv6 support                            │ │
   │ │  [ ] MAILHEAD   Enable mail header patch                       │ │
   │ │  [ ] REDIRECT   Enable force-cgi-redirect support (CGI only)   │ │
   │ │  [ ] DISCARD    Enable discard-path support (CGI only)         │ │
   │ │  [ ] FASTCGI    Enable fastcgi support (CGI only)              │ │
   │ │  [ ] PATHINFO   Enable path-info-check support (CGI only)      │ │
   │ │  [ ] OPENSSL    Build static OpenSSL extension                 │ │
   │ │  [ ] ZLIB       Build static zlib extension                    │ │
   │ │                                                                │ │
   ├─└────────────────────────────────────────────────────────────────┘─┤
   │                       [  OK  ]       Cancel                        │
   └────────────────────────────────────────────────────────────────────┘
с таким набором опций - точно работает. (this set options - exactly work)
Если выбрать все - то точно не работает. Какая-то всё ломает. (if select all options - not work, because some is corrupt)
==========
если у кого шустрая машина и есть время - пособирайте - выясните какая всё портит..
(P.S. на инглише добавлено по просьбе того товарисча - ибо по этой ошибке данная тема на первом месте в гугле.)

Re:

Добавлено: 2008-01-14 15:21:27
TRaNS
lissyara писал(а):так. Вроде разобрался, хоть и не без бубна. (all work correct in this configuration)
make.conf

Код: Выделить всё

X11BASE=${LOCALBASE}

PORTSDIR?=      /usr/ports

.if ${.CURDIR} == ${PORTSDIR}/lang/php4
LIB_DEPENDS+= gnugetopt.1:${PORTSDIR}/devel/libgnugetopt
CPPFLAGS+= -I${LOCALBASE}/include
LDFLAGS+= -L${LOCALBASE}/lib -lgnugetopt
CONFIGURE_ENV+= CPPFLAGS="${CPPFLAGS}" LDFLAGS="${LDFLAGS}"
.endif
далее (next)

Код: Выделить всё

cd /usr/ports/lang/php4/
make config

Код: Выделить всё

??????????????????????????????????????????????????????????????????????
   ?                      Options for php4 4.4.7                        ?
   ? ?????????????????????????????????????????????????????????????????? ?
   ? ?  [ ] CLI        Build CLI version                              ? ?
   ? ?  [X] CGI        Build CGI version                              ? ?
   ? ?  [ ] APACHE     Build Apache module                            ? ?
   ? ?  [ ] DEBUG      Enable debug                                   ? ?
   ? ?  [ ] SUHOSIN    Enable Suhosin protection system               ? ?
   ? ?  [X] MULTIBYTE  Enable zend multibyte support                  ? ?
   ? ?  [ ] IPV6       Enable ipv6 support                            ? ?
   ? ?  [ ] MAILHEAD   Enable mail header patch                       ? ?
   ? ?  [ ] REDIRECT   Enable force-cgi-redirect support (CGI only)   ? ?
   ? ?  [ ] DISCARD    Enable discard-path support (CGI only)         ? ?
   ? ?  [ ] FASTCGI    Enable fastcgi support (CGI only)              ? ?
   ? ?  [ ] PATHINFO   Enable path-info-check support (CGI only)      ? ?
   ? ?  [ ] OPENSSL    Build static OpenSSL extension                 ? ?
   ? ?  [ ] ZLIB       Build static zlib extension                    ? ?
   ? ?                                                                ? ?
   ??????????????????????????????????????????????????????????????????????
   ?                       [  OK  ]       Cancel                        ?
   ??????????????????????????????????????????????????????????????????????
с таким набором опций - точно работает. (this set options - exactly work)
Если выбрать все - то точно не работает. Какая-то всё ломает. (if select all options - not work, because some is corrupt)
==========
если у кого шустрая машина и есть время - пособирайте - выясните какая всё портит..
(P.S. на инглише добавлено по просьбе того товарисча - ибо по этой ошибке данная тема на первом месте в гугле.)
Для PHP5 тоже работает при изменении строки .if ${.CURDIR} == ${PORTSDIR}/lang/php5 :-) Большое спасибо lissyara!

Re: а php 4.4.7 только у меня не компилируется?

Добавлено: 2008-01-14 16:59:00
Alex Keda
да незачто.
а что для пхп5 работает - я тоже недавно выяснил =)