in reply to Re: Detect library in Makefile.PL
in thread Detect library in Makefile.PL
use strict; use warnings; use Devel::CheckLib; our $debug ||= 0; my @headers = qw ( php_main.h ); my @incpath = qw( /usr/local/include /usr/local/include/php /usr/local/include/php/main /usr/local/include/php/TSRM /usr/local/include/php/Zend /usr/local/include/php/ext /usr/local/include/php/ext/date/lib ); check_lib_or_exit( header => \@headers, incpath => \@incpath, debug => $debug, ); __END__
$ perl -sl devel.checklib.pl Can't link/include 'php_main.h' $ perl -sl devel.checklib.pl -debug 1 # /usr/bin/gcc assertlibSu6peu8p.c -I/usr/local/include -I/usr/local/i +nclude/php -I/usr/local/include/php/main -I/usr/local/include/php/TSR +M -I/usr/local/include/php/Zend -I/usr/local/include/php/ext -I/usr/l +ocal/include/php/ext/date/lib -o assertlib27VD0sdi In file included from /usr/local/include/php/Zend/zend_globals.h:28, from /usr/local/include/php/main/php_main.h:25, from assertlibSu6peu8p.c:1: /usr/local/include/php/Zend/zend_globals_macros.h: In function `BEGIN_ +EXTERN_C':/usr/local/include/php/Zend/zend_globals_macros.h:37: error +: storage class specified for parameter `ZEND_API' /usr/local/include/php/Zend/zend_globals_macros.h:37: error: syntax er +ror before "struct"
/usr/local/include/php/Zend/zend_globals_macros.h:47: error: storage c +lass specified for parameter `ZEND_API' /usr/local/include/php/Zend/zend_globals_macros.h:47: error: redefinit +ion of parameter 'ZEND_API' /usr/local/include/php/Zend/zend_globals_macros.h:37: error: previous +definition of 'ZEND_API' was here /usr/local/include/php/Zend/zend_globals_macros.h:47: error: syntax er +ror before "zend_executor_globals" /usr/local/include/php/Zend/zend_globals_macros.h:56: error: storage c +lass specified for parameter `ZEND_API' /usr/local/include/php/Zend/zend_globals_macros.h:56: error: redefinit +ion of parameter 'ZEND_API' /usr/local/include/php/Zend/zend_globals_macros.h:47: error: previous +definition of 'ZEND_API' was here /usr/local/include/php/Zend/zend_globals_macros.h:56: error: syntax er +ror before "zend_scanner_globals" /usr/local/include/php/Zend/zend_globals_macros.h:66: error: storage c +lass specified for parameter `ZEND_API' /usr/local/include/php/Zend/zend_globals_macros.h:66: error: redefinit +ion of parameter 'ZEND_API' /usr/local/include/php/Zend/zend_globals_macros.h:56: error: previous +definition of 'ZEND_API' was here /usr/local/include/php/Zend/zend_globals_macros.h:66: error: syntax er +ror before "zend_scanner_globals" In file included from /usr/local/include/php/Zend/zend_globals.h:30, from /usr/local/include/php/main/php_main.h:25, from assertlibSu6peu8p.c:1: /usr/local/include/php/Zend/zend_stack.h:28: error: syntax error befor +e '}' token In file included from /usr/local/include/php/Zend/zend_globals.h:31, from /usr/local/include/php/main/php_main.h:25, from assertlibSu6peu8p.c:1: /usr/local/include/php/Zend/zend_ptr_stack.h:27: error: redefinition o +f parameter 'elements' /usr/local/include/php/Zend/zend_stack.h:27: error: previous definitio +n of 'elements' was here /usr/local/include/php/Zend/zend_ptr_stack.h:29: error: syntax error b +efore '}' token In file included from /usr/include/sys/types.h:31, from /usr/local/include/php/Zend/zend_hash.h:25, from /usr/local/include/php/Zend/zend_globals.h:32, from /usr/local/include/php/main/php_main.h:25, from assertlibSu6peu8p.c:1: /usr/include/bits/types.h:34: error: storage class specified for param +eter `__u_char' /usr/include/bits/types.h:35: error: storage class specified for param +eter `__u_short' /usr/include/bits/types.h:36: error: storage class specified for param +eter `__u_int' /usr/include/bits/types.h:37: error: storage class specified for param +eter `__u_long' /usr/include/bits/types.h:40: error: storage class specified for param +eter `__int8_t' /usr/include/bits/types.h:41: error: storage class specified for param +eter `__uint8_t' /usr/include/bits/types.h:42: error: storage class specified for param +eter `__int16_t' /usr/include/bits/types.h:43: error: storage class specified for param +eter `__uint16_t' /usr/include/bits/types.h:44: error: storage class specified for param +eter `__int32_t' /usr/include/bits/types.h:45: error: storage class specified for param +eter `__uint32_t' /usr/include/bits/types.h:50: error: syntax error before "__extension_ +_" In file included from /usr/include/sys/types.h:31, from /usr/local/include/php/Zend/zend_hash.h:25, from /usr/local/include/php/Zend/zend_globals.h:32, from /usr/local/include/php/main/php_main.h:25, from assertlibSu6peu8p.c:1: /usr/include/bits/types.h:186: error: storage class specified for para +meter `__off64_t' /usr/include/bits/types.h:186: error: syntax error before "__loff_t" /usr/include/bits/types.h:187: error: storage class specified for para +meter `__quad_t' /usr/include/bits/types.h:187: error: syntax error before '*' token /usr/include/bits/types.h:188: error: storage class specified for para +meter `__caddr_t' /usr/include/bits/types.h:191: error: syntax error before "__extension +__" In file included from /usr/local/include/php/Zend/zend_hash.h:25, from /usr/local/include/php/Zend/zend_globals.h:32, from /usr/local/include/php/main/php_main.h:25, from assertlibSu6peu8p.c:1: /usr/include/sys/types.h:35: error: storage class specified for parame +ter `__u_char' /usr/include/sys/types.h:35: error: conflicting types for '__u_char' /usr/include/bits/types.h:34: error: previous definition of '__u_char' + was here /usr/include/sys/types.h:35: error: syntax error before "u_char" /usr/include/sys/types.h:36: error: storage class specified for parame +ter `__u_short' /usr/include/sys/types.h:36: error: conflicting types for '__u_short' /usr/include/bits/types.h:35: error: previous definition of '__u_short +' was here/usr/include/sys/types.h:36: error: syntax error before "u_ +short" /usr/include/sys/types.h:37: error: storage class specified for parame +ter `__u_int' /usr/include/sys/types.h:37: error: conflicting types for '__u_int' /usr/include/bits/types.h:36: error: previous definition of '__u_int' +was here /usr/include/sys/types.h:37: error: syntax error before "u_int" /usr/include/sys/types.h:38: error: storage class specified for parame +ter `__u_long' /usr/include/sys/types.h:38: error: conflicting types for '__u_long' /usr/include/bits/types.h:37: error: previous definition of '__u_long' + was here /usr/include/sys/types.h:38: error: syntax error before "u_long" /usr/include/sys/types.h:39: error: storage class specified for parame +ter `__quad_t' /usr/include/sys/types.h:39: error: redefinition of parameter '__quad_ +t' /usr/include/bits/types.h:187: error: previous definition of '__quad_t +' was here/usr/include/sys/types.h:39: error: syntax error before "qu +ad_t" /usr/include/sys/types.h:40: error: storage class specified for parame +ter `__u_quad_t' /usr/include/sys/types.h:40: error: syntax error before "u_quad_t" /usr/include/sys/types.h:41: error: storage class specified for parame +ter `__fsid_t' /usr/include/sys/types.h:41: error: syntax error before "fsid_t" /usr/include/sys/types.h:46: error: storage class specified for parame +ter `__loff_t' /usr/include/sys/types.h:46: error: syntax error before "loff_t" /usr/include/sys/types.h:50: error: storage class specified for parame +ter `__ino_t' /usr/include/sys/types.h:50: error: syntax error before "ino_t" /usr/include/sys/types.h:62: error: storage class specified for parame +ter `__dev_t' /usr/include/sys/types.h:62: error: syntax error before "dev_t" /usr/include/sys/types.h:67: error: storage class specified for parame +ter `__gid_t' /usr/include/sys/types.h:67: error: syntax error before "gid_t" /usr/include/sys/types.h:72: error: storage class specified for parame +ter `__mode_t' /usr/include/sys/types.h:72: error: syntax error before "mode_t" /usr/include/sys/types.h:77: error: storage class specified for parame +ter `__nlink_t' /usr/include/sys/types.h:77: error: syntax error before "nlink_t" /usr/include/sys/types.h:82: error: storage class specified for parame +ter `__uid_t' /usr/include/sys/types.h:82: error: syntax error before "uid_t" /usr/include/sys/types.h:88: error: storage class specified for parame +ter `__off_t' /usr/include/sys/types.h:88: error: syntax error before "off_t" /usr/include/sys/types.h:100: error: storage class specified for param +eter `__pid_t' /usr/include/sys/types.h:100: error: syntax error before "pid_t" /usr/include/sys/types.h:105: error: storage class specified for param +eter `__id_t' /usr/include/sys/types.h:105: error: syntax error before "id_t" /usr/include/sys/types.h:110: error: storage class specified for param +eter `__ssize_t' /usr/include/sys/types.h:110: error: syntax error before "ssize_t" /usr/include/sys/types.h:116: error: storage class specified for param +eter `__daddr_t' /usr/include/sys/types.h:116: error: syntax error before "daddr_t" /usr/include/sys/types.h:117: error: storage class specified for param +eter `__caddr_t' /usr/include/sys/types.h:117: error: conflicting types for '__caddr_t' /usr/include/bits/types.h:188: error: previous definition of '__caddr_ +t' was here /usr/include/sys/types.h:117: error: syntax error before "caddr_t" /usr/include/sys/types.h:123: error: storage class specified for param +eter `__key_t' /usr/include/sys/types.h:123: error: syntax error before "key_t" In file included from /usr/include/sys/types.h:133, from /usr/local/include/php/Zend/zend_hash.h:25, from /usr/local/include/php/Zend/zend_globals.h:32, from /usr/local/include/php/main/php_main.h:25, from assertlibSu6peu8p.c:1: /usr/include/time.h:76: error: storage class specified for parameter ` +__time_t' /usr/include/time.h:76: error: syntax error before "time_t" /usr/include/time.h:92: error: storage class specified for parameter ` +__clockid_t' /usr/include/time.h:92: error: syntax error before "clockid_t" /usr/include/time.h:104: error: storage class specified for parameter +`__timer_t' /usr/include/time.h:104: error: syntax error before "timer_t" In file included from /usr/local/include/php/Zend/zend_hash.h:25, from /usr/local/include/php/Zend/zend_globals.h:32, from /usr/local/include/php/main/php_main.h:25, from assertlibSu6peu8p.c:1: /usr/include/sys/types.h:151: error: storage class specified for param +eter `ulong' /usr/include/sys/types.h:152: error: storage class specified for param +eter `ushort' /usr/include/sys/types.h:153: error: storage class specified for param +eter `uint' /usr/include/sys/types.h:191: error: storage class specified for param +eter `int8_t' /usr/include/sys/types.h:192: error: storage class specified for param +eter `int16_t' /usr/include/sys/types.h:193: error: storage class specified for param +eter `int32_t' /usr/include/sys/types.h:194: error: storage class specified for param +eter `int64_t' /usr/include/sys/types.h:197: error: storage class specified for param +eter `u_int8_t' /usr/include/sys/types.h:198: error: storage class specified for param +eter `u_int16_t' /usr/include/sys/types.h:199: error: storage class specified for param +eter `u_int32_t' /usr/include/sys/types.h:200: error: storage class specified for param +eter `u_int64_t' /usr/include/sys/types.h:202: error: storage class specified for param +eter `register_t' In file included from /usr/include/sys/types.h:216, from /usr/local/include/php/Zend/zend_hash.h:25, from /usr/local/include/php/Zend/zend_globals.h:32, from /usr/local/include/php/main/php_main.h:25, from assertlibSu6peu8p.c:1: /usr/include/sys/select.h:38: error: storage class specified for param +eter `sigset_t' In file included from /usr/include/sys/select.h:44, from /usr/include/sys/types.h:216, from /usr/local/include/php/Zend/zend_hash.h:25, from /usr/local/include/php/Zend/zend_globals.h:32, from /usr/local/include/php/main/php_main.h:25, from assertlibSu6peu8p.c:1: /usr/include/time.h:120: error: syntax error before "__time_t" /usr/include/time.h:122: error: syntax error before '}' token In file included from /usr/include/sys/select.h:46, from /usr/include/sys/types.h:216, from /usr/local/include/php/Zend/zend_hash.h:25, from /usr/local/include/php/Zend/zend_globals.h:32, from /usr/local/include/php/main/php_main.h:25, from assertlibSu6peu8p.c:1: /usr/include/bits/time.h:71: error: syntax error before "__time_t" In file included from /usr/include/sys/types.h:216, from /usr/local/include/php/Zend/zend_hash.h:25, from /usr/local/include/php/Zend/zend_globals.h:32, from /usr/local/include/php/main/php_main.h:25, from assertlibSu6peu8p.c:1: /usr/include/sys/select.h:49: error: storage class specified for param +eter `__suseconds_t' /usr/include/sys/select.h:49: error: syntax error before "suseconds_t" /usr/include/sys/select.h:55: error: storage class specified for param +eter `__fd_mask' /usr/include/sys/select.h:75: error: syntax error before "__fd_mask" /usr/include/sys/select.h:85: error: storage class specified for param +eter `__fd_mask' /usr/include/sys/select.h:85: error: conflicting types for '__fd_mask' /usr/include/sys/select.h:55: error: previous definition of '__fd_mask +' was here/usr/include/sys/select.h:85: error: syntax error before "f +d_mask" /usr/include/sys/select.h:109: error: syntax error before "fd_set" /usr/include/sys/select.h:112: error: storage class specified for para +meter `select' In file included from /usr/local/include/php/Zend/zend_hash.h:25, from /usr/local/include/php/Zend/zend_globals.h:32, from /usr/local/include/php/main/php_main.h:25, from assertlibSu6peu8p.c:1: /usr/include/sys/types.h:235: error: storage class specified for param +eter `__fsblkcnt_t' /usr/include/sys/types.h:235: error: syntax error before "fsblkcnt_t" /usr/include/sys/types.h:239: error: storage class specified for param +eter `__fsfilcnt_t' /usr/include/sys/types.h:239: error: syntax error before "fsfilcnt_t" In file included from /usr/include/sys/types.h:266, from /usr/local/include/php/Zend/zend_hash.h:25, from /usr/local/include/php/Zend/zend_globals.h:32, from /usr/local/include/php/main/php_main.h:25, from assertlibSu6peu8p.c:1: /usr/include/bits/pthreadtypes.h:35: error: storage class specified fo +r parameter `_pthread_descr' /usr/include/bits/pthreadtypes.h:48: error: syntax error before "size_ +t" /usr/include/bits/pthreadtypes.h:51: error: syntax error before "size_ +t" /usr/include/bits/pthreadtypes.h:66: error: syntax error before "_pthr +ead_descr"/usr/include/bits/pthreadtypes.h:68: error: `__pthread_cond +_align_t' undeclared (first use in this function) /usr/include/bits/pthreadtypes.h:68: error: (Each undeclared identifie +r is reported only once /usr/include/bits/pthreadtypes.h:68: error: for each function it appea +rs in.) /usr/include/bits/pthreadtypes.h:68: confused by earlier errors, baili +ng out Can't link/include 'php_main.h'
|
|---|