Edit report at http://bugs.php.net/bug.php?id=50345&edit=1
ID: 50345 Updated by: u...@php.net Reported by: sle at ocf dot berkeley dot edu Summary: nanosleep not detected properly on some solaris versions -Status: Assigned +Status: Re-Opened Type: Bug Package: Compile Failure Operating System: Solaris 10 PHP Version: 5.3.1 Assigned To: tony2001 Block user comment: N New Comment: This would fix it, could someone double-check and apply the patch? nixn...@linux-fuxh:~/php/php-src/branches/PHP_5_3> svn diff configure.in Index: configure.in =================================================================== --- configure.in (Revision 304085) +++ configure.in (Arbeitskopie) @@ -611,7 +611,7 @@ ) dnl Some systems (like OpenSolaris) do not have nanosleep in libc -PHP_CHECK_FUNC(nanosleep, rt) +PHP_CHECK_FUNC_LIB(nanosleep, rt) dnl Check for getaddrinfo, should be a better way, but... dnl Also check for working getaddrinfo Previous Comments: ------------------------------------------------------------------------ [2010-10-04 13:28:13] u...@php.net According to previous bug comments this commit should be reverted: nixn...@linux-fuxh:~/php/php-src/branches/PHP_5_3> svn diff -r297960:297961 Index: configure.in =================================================================== --- configure.in (Revision 297960) +++ configure.in (Revision 297961) @@ -611,7 +611,7 @@ ) svn log -r297961 ------------------------------------------------------------------------ r297961 | tony2001 | 2010-04-13 14:41:46 +0200 (Di, 13. Apr 2010) | 2 Zeilen simplify configure check for nanosleep() ------------------------------------------------------------------------ dnl Some systems (like OpenSolaris) do not have nanosleep in libc -AC_CACHE_CHECK([for nanosleep], ac_cv_func_nanosleep, [PHP_CHECK_FUNC_LIB(nanosleep, rt)]) +PHP_CHECK_FUNC(nanosleep, rt) dnl Check for getaddrinfo, should be a better way, but... dnl Also check for working getaddrinfo Antony, can you shed some light on it? Thanks! ------------------------------------------------------------------------ [2010-10-04 13:19:32] u...@php.net Manually setting -lrt will fix it, but maybe this could be fixed in the source? This breaks Solaris 8, 9 and 10 builds. Any PHP version since at least 5.3.1 is affected. NAME nanosleep - high resolution sleep SYNOPSIS cc [ flag... ] file... -lrt [ library... ] #include <time.h> int nanosleep(const struct timespec *rqtp, struct timespec *rmtp); ------------------------------------------------------------------------ [2010-09-17 19:42:57] svinopas at gmail dot com I am experiencing this issue on Solaris 09/10 SPARC and 5.3.3. Is there fix available yet? ------------------------------------------------------------------------ [2010-07-23 13:52:58] rainer dot jung at kippdata dot de Sorry: I meant r297961. BTW: this is a regression, it was already fixed successful in 5.3.2. ------------------------------------------------------------------------ [2010-07-23 13:51:25] rainer dot jung at kippdata dot de Unfortunately the issue needs to be reopened. The change in revision 297960 reintroduced this problem, at least on Solaris 8, but likely also on more modern Solaris. Before the change library rt was added to EXTRA_LIBS, after the change the symbol __nanosleep is found and the library no longer added. During linking we then get (as expected): Undefined first referenced symbol in file nanosleep ext/standard/.libs/basic_functions.o ld: fatal: Symbol referencing errors. No output written to sapi/cli/php collect2: ld returned 1 exit status make: *** [sapi/cli/php] Error 1 Observed for version 5.3.3. Reverting the pseudo-optimization in r297960 fixes the issue. Thanks for considering this, Rainer ------------------------------------------------------------------------ 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 http://bugs.php.net/bug.php?id=50345 -- Edit this bug report at http://bugs.php.net/bug.php?id=50345&edit=1