Edit report at https://bugs.php.net/bug.php?id=65207&edit=1
ID: 65207
Updated by: yohgaki@php.net
Reported by: reh at hebis dot uni-frankfurt dot de
Summary: OPCache can't be compiled with SolarisStudio
Status: Open
Type: Bug
Package: Compile Failure
Operating System: Solaris / Illumos
PHP Version: 5.5.0
Block user comment: N
Private report: N
New Comment:
> checking for known struct flock definition... configure: error: Don't know how
to define struct flock on this system,
I don't have this problem with my Scientific Linux 6.4.
Previous Comments:
------------------------------------------------------------------------
[2013-07-19 05:20:51] lj2007331 at gmail dot com
PHP Version:5.5.0 and 5.5.1
OS:CentOS release 6.4 (Final)
Kernel: 2.6.32-358.6.2.el6.i686
Error:
checking for mmap() using shm_open() shared memory support... no
checking for mmap() using regular file shared memory support... no
checking for known struct flock definition... configure: error: Don't know how to define struct
flock on this system, set --enable-opcache=no
make: *** No targets specified and no makefile found. Stop.
make: *** No rule to make target `install'. Stop.
------------------------------------------------------------------------
[2013-07-14 14:25:27] tgburrin at yahoo dot com
reh's solution seems to work for me.
After converting the \r\n's to \n and fixing the three spots (configure,
ext/opcache/ZendAccelerator.h, and ext/opcache/config.m4) where the flock test
is done, I was able to configure and build successfully. I haven't seen any
issues so far.
using Solaris Studio 12.3 on:
# cc -V
cc: Sun C 5.12 SunOS_i386 2011/11/16
# uname -a
SunOS Heimdall 5.10 Generic_147148-26 i86pc i386 i86pc
------------------------------------------------------------------------
[2013-07-05 19:31:36] reh at hebis dot uni-frankfurt dot de
Last info before resigning. :-( Configure can't link to flock()
> configure:19164: checking for flock
> "conftest.c", line 161: warning: statement not reached
> Undefined symbol first referenced in file
> flock conftest.o
Maybe someone smarter than me, may use the informations on http://www.perkin.org.uk/posts/solaris-portability-flock.html
------------------------------------------------------------------------
[2013-07-05 14:41:41] reh at hebis dot uni-frankfurt dot de
FAILED TEST SUMMARY
...
Test flock() function: Basic functionality [ext/standard/tests/file/flock_basic.phpt]
Test flock() function: Variations [ext/standard/tests/file/flock_variation.phpt]
...
------------------------------------------------------------------------
[2013-07-05 14:17:13] reh at hebis dot uni-frankfurt dot de
Today I was able too complete the build.
I had to add some Lines in configure and ZendAccelerator.h. (corresponding to <sys/fcntl.h>)
> # elif defined(__SVR4)
> # define FLOCK_STRUCTURE(name, type, whence, start, len) \
> struct flock name = {type, whence, start, len, 0, 0, 0 }
Also it was necessary to translate some files of ext/opcache/ with dos2unix. Maybe the problem has
been long lines concatunated whith "\CRNL" instead of "\NL"
Still it's a hack, not a tested solution. ;-)
------------------------------------------------------------------------
The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
https://bugs.php.net/bug.php?id=65207
--
Edit this bug report at https://bugs.php.net/bug.php?id=65207&edit=1