php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #65882 PHP fails to build with SystemTap
Submitted: 2013-10-11 09:50 UTC Modified: 2014-12-30 10:42 UTC
From: toyclub at sina dot com Assigned:
Status: No Feedback Package: Compile Failure
PHP Version: 5.5.4 OS: CentOS 6.4
Private report: No CVE-ID: None
 [2013-10-11 09:50 UTC] 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.


Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2013-10-21 21:42 UTC] sixd@php.net
-Summary: PHP fails to build with dtrace +Summary: PHP fails to build with SystemTap
 [2013-10-21 23:50 UTC] sixd@php.net
-Status: Open +Status: Feedback
 [2013-10-21 23:50 UTC] sixd@php.net
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.
 [2014-12-30 10:42 UTC] php-bugs at lists dot php dot net
No feedback was provided. The bug is being suspended because
we assume that you are no longer experiencing the problem.
If this is not the case and you are able to provide the
information that was requested earlier, please do so and
change the status of the bug back to "Re-Opened". Thank you.
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Sat Dec 21 14:01:32 2024 UTC