|   | php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login | 
| 
  [2015-11-28 21:25 UTC] swa at section66 dot com
 Description:
------------
CFLAGS='-O2' './configure' '--prefix=/<PATH>/php-7.0.0RC8' '--with-apxs2=<PATH>/bin/apxs' '--with-zlib' '--with-gd' '--enable-exif' '--with-jpeg-dir=/usr/local/lib' '--enable-gd-native-ttf' '--with-zlib-dir=/usr/lib/' '--with-png-dir=/usr/local/' '--enable-ftp' '--with-mysql=mysqlnd' '--with-mysqli=mysqlnd' '--with-config-file-path=/etc/php.ini' '--enable-mbstring'
(or even a plain ./configure without ANY options)
After a while (depending on what options were selected):
/<PATH>/php-7.0.0RC8/ext/opcache/zend_file_cache.c:710: error: array type has incomplete element type
*** Error code 1
Line 710:
#ifndef ZEND_WIN32
        struct iovec vec[3];
#endif
iovec on OpenBSD is defined in sys/uio.h, I guess the ./configure missed that.
[Not familiar with it enough myself to propose a fix, sorry]
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits             | |||||||||||||||||||||||||||
|  Copyright © 2001-2025 The PHP Group All rights reserved. | Last updated: Fri Oct 31 07:00:01 2025 UTC | 
can you verify this fix? diff --git a/ext/opcache/config.m4 b/ext/opcache/config.m4 index fbe18f8..497aa4c 100644 --- a/ext/opcache/config.m4 +++ b/ext/opcache/config.m4 @@ -26,6 +26,8 @@ if test "$PHP_OPCACHE" != "no"; then AC_DEFINE(HAVE_MPROTECT, 1, [Define if you have mprotect() function]) ]) + AC_CHECK_HEADERS([unistd.h sys/uio.h]) + AC_MSG_CHECKING(for sysvipc shared memory support) AC_TRY_RUN([ #include <sys/types.h> diff --git a/ext/opcache/zend_file_cache.c b/ext/opcache/zend_file_cache.c index 7c615e9..993358b 100644 --- a/ext/opcache/zend_file_cache.c +++ b/ext/opcache/zend_file_cache.c @@ -706,7 +706,7 @@ int zend_file_cache_script_store(zend_persistent_script *script, int in_shm) int fd; char *filename; zend_file_cache_metainfo info; -#ifndef ZEND_WIN32 +#ifdef HAVE_SYS_UIO_H struct iovec vec[3]; #endif void *mem, *buf; @@ -761,7 +761,7 @@ int zend_file_cache_script_store(zend_persistent_script *script, int in_shm) info.checksum = zend_adler32(ADLER32_INIT, buf, script->size); info.checksum = zend_adler32(info.checksum, (signed char*)ZSTR_VAL((zend_string*)ZCG(mem)), info.str_size); -#ifndef ZEND_WIN32 +#ifdef HAVE_SYS_UIO_H vec[0].iov_base = &info; vec[0].iov_len = sizeof(info); vec[1].iov_base = buf; note before you make, you should do ./buildconf --force to regenerate ./configure