Bug #65882 [Opn->Fbk]: PHP fails to build with SystemTap
| From: | sixd@php.net | Date: | Mon, 21 Oct 2013 23:50:58 +0000 |
| Subject: | Bug #65882 [Opn->Fbk]: PHP fails to build with SystemTap | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-182373@lists.php.net to get a copy of this message | ||
Edit report at https://bugs.php.net/bug.php?id=65882&edit=1
ID: 65882
Updated by: sixd@php.net
Reported by: toyclub at sina dot com
Summary: PHP fails to build with SystemTap
-Status: Open
+Status: Feedback
Type: Bug
Package: Compile Failure
Operating System: CentOS 6.4
PHP Version: 5.5.4
Block user comment: N
Private report: N
New Comment:
Thanks for the bug description.
I tested your steps with Oracle Linux 6.4 (equivalent to RHEL 6.4)
with 2.6.32-358.14.1.el6.x86_64. The build succeeded. I can show &
trace probes in the created binary.
Check that the dtrace -h & dtrace -G commands worked during your build
process. Check zend_dtrace_gen.h is populated and that
zend_dtrace.d.lo is OK. My zend_dtrace.d.lo has:
# Generated by Makefile for libtool
pic_object='.libs/zend_dtrace.d.o'
non_pic_object='zend_dtrace.d.o'
Both referenced .o files were created during the build on my system.
I have head of issues with SystemTap support in some kernels,
depending on how the kernel was built and version of SystemTap. I
would lean towards suspecting an issue with your kernel & SystemTap
versions.
Previous Comments:
------------------------------------------------------------------------
[2013-10-11 09:50:34] toyclub at sina dot com
Description:
------------
$ uname -a
Linux pyw.work 2.6.32-358.114.1.openstack.el6.gre.2.x86_64 #1 SMP Thu Aug 8 12:47:22 EDT 2013 x86_64
x86_64 x86_64 GNU/Linux
yum install systemtap kernel-devel yum-utils
sudo yum install -y systemtap-sdt-devel
$ ls /usr/include/sys/sdt.h
/usr/include/sys/sdt.h
$ sudo stap -ve 'probe begin { log("hello world") exit() }'
Pass 1: parsed user script and 92 library script(s) using 197668virt/26264res/3080shr/23600data kb,
in 150usr/20sys/311real ms.
Pass 2: analyzed script: 1 probe(s), 2 function(s), 0 embed(s), 0 global(s) using
198196virt/27024res/3284shr/24128data kb, in 10usr/0sys/26real ms.
Pass 3: using cached /root/.systemtap/cache/d8/stap_d889685f9061e890b0abb074f010ee24_1006.c
Pass 4: using cached /root/.systemtap/cache/d8/stap_d889685f9061e890b0abb074f010ee24_1006.ko
Pass 5: starting run.
hello world
Pass 5: run completed in 10usr/30sys/393real ms.
git clone https://github.com/php/php-src.git
cd php-src
./buildconf --force
./configure --prefix=/usr/local/php554 --enable-debug --disable-all --enable-dtrace
make
(...some output...)
main/main.o: In function `php_request_startup':
/tmp/php-src/main/main.c:1533: undefined reference to `DTRACE_REQUEST_STARTUP'
main/main.o: In function `php_request_shutdown':
/tmp/php-src/main/main.c:1843: undefined reference to `DTRACE_REQUEST_SHUTDOWN'
Zend/zend_dtrace.o: In function `dtrace_compile_file':
/tmp/php-src/Zend/zend_dtrace.c:39: undefined reference to `DTRACE_COMPILE_FILE_ENTRY'
/tmp/php-src/Zend/zend_dtrace.c:41: undefined reference to `DTRACE_COMPILE_FILE_RETURN'
Zend/zend_dtrace.o: In function `dtrace_execute_ex':
/tmp/php-src/Zend/zend_dtrace.c:54: undefined reference to `DTRACE_EXECUTE_ENTRY_ENABLED'
/tmp/php-src/Zend/zend_dtrace.c:55: undefined reference to `DTRACE_EXECUTE_RETURN_ENABLED'
/tmp/php-src/Zend/zend_dtrace.c:55: undefined reference to `DTRACE_FUNCTION_ENTRY_ENABLED'
/tmp/php-src/Zend/zend_dtrace.c:55: undefined reference to `DTRACE_FUNCTION_RETURN_ENABLED'
/tmp/php-src/Zend/zend_dtrace.c:60: undefined reference to `DTRACE_FUNCTION_ENTRY_ENABLED'
/tmp/php-src/Zend/zend_dtrace.c:60: undefined reference to `DTRACE_FUNCTION_RETURN_ENABLED'
/tmp/php-src/Zend/zend_dtrace.c:65: undefined reference to `DTRACE_EXECUTE_ENTRY_ENABLED'
/tmp/php-src/Zend/zend_dtrace.c:66: undefined reference to `DTRACE_EXECUTE_ENTRY'
/tmp/php-src/Zend/zend_dtrace.c:69: undefined reference to `DTRACE_FUNCTION_ENTRY_ENABLED'
/tmp/php-src/Zend/zend_dtrace.c:70: undefined reference to `DTRACE_FUNCTION_ENTRY'
/tmp/php-src/Zend/zend_dtrace.c:75: undefined reference to `DTRACE_FUNCTION_RETURN_ENABLED'
/tmp/php-src/Zend/zend_dtrace.c:76: undefined reference to `DTRACE_FUNCTION_RETURN'
/tmp/php-src/Zend/zend_dtrace.c:79: undefined reference to `DTRACE_EXECUTE_RETURN_ENABLED'
/tmp/php-src/Zend/zend_dtrace.c:80: undefined reference to `DTRACE_EXECUTE_RETURN'
Zend/zend_dtrace.o: In function `dtrace_execute_internal':
/tmp/php-src/Zend/zend_dtrace.c:88: undefined reference to `DTRACE_EXECUTE_ENTRY_ENABLED'
/tmp/php-src/Zend/zend_dtrace.c:88: undefined reference to `DTRACE_EXECUTE_RETURN_ENABLED'
/tmp/php-src/Zend/zend_dtrace.c:93: undefined reference to `DTRACE_EXECUTE_ENTRY_ENABLED'
/tmp/php-src/Zend/zend_dtrace.c:94: undefined reference to `DTRACE_EXECUTE_ENTRY'
/tmp/php-src/Zend/zend_dtrace.c:99: undefined reference to `DTRACE_EXECUTE_RETURN_ENABLED'
/tmp/php-src/Zend/zend_dtrace.c:100: undefined reference to `DTRACE_EXECUTE_RETURN'
Zend/zend.o: In function `zend_error':
/tmp/php-src/Zend/zend.c:1096: undefined reference to `DTRACE_ERROR_ENABLED'
/tmp/php-src/Zend/zend.c:1100: undefined reference to `DTRACE_ERROR'
Zend/zend_exceptions.o: In function `zend_throw_exception_internal':
/tmp/php-src/Zend/zend_exceptions.c:87: undefined reference to
`DTRACE_EXCEPTION_THROWN_ENABLED'
/tmp/php-src/Zend/zend_exceptions.c:93: undefined reference to `DTRACE_EXCEPTION_THROWN'
/tmp/php-src/Zend/zend_exceptions.c:95: undefined reference to `DTRACE_EXCEPTION_THROWN'
Zend/zend_execute.o: In function `ZEND_CATCH_SPEC_CONST_CV_HANDLER':
/tmp/php-src/Zend/zend_vm_execute.h:7145: undefined reference to
`DTRACE_EXCEPTION_CAUGHT_ENABLED'
/tmp/php-src/Zend/zend_vm_execute.h:7146: undefined reference to `DTRACE_EXCEPTION_CAUGHT'
collect2: ld returned 1 exit status
make: *** [sapi/cli/php] error 1
I don't known why I got the 'undefined reference' error.
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=65882&edit=1