Edit report at http://bugs.php.net/bug.php?id=53338&edit=1

 ID:                 53338
 User updated by:    mike at harschsystems dot com
 Reported by:        mike at harschsystems dot com
 Summary:            DTrace build config broken by Rev 305329
 Status:             Open
 Type:               Bug
 Package:            Compile Failure
 Operating System:   Solaris and OS X
 PHP Version:        trunk-SVN-2010-11-18 (snap)
 Block user comment: N
 Private report:     N

 New Comment:

I can't seem to upload the patch file.  Please refer to the patch file
contents 

here:

    http://pastebin.com/SZnvz3L0


Previous Comments:
------------------------------------------------------------------------
[2010-11-18 06:30:14] mike at harschsystems dot com

Description:
------------
The changes made in Rev 305329 break the --enable-dtrace configuration
option on 

both Solaris and OS X.  



The main problems I was able to identify are:



1.) The steps required to build DTrace-enabled binaries are different on
Solaris 

and OS X (see references below).  305329 removed the platform check that
allowed 

OS X to bypass the extra linking step required by Solaris (dtrace -G -s
...).



2.) The generation of the DTrace header file (zend_dtrace_gen.h via
'dtrace -h 

...') was moved to Makefile (from configure) - this broke various
targets that 

depended on the header file prior to it's generation (late in the
Makefile).



3.) A typo (I think) in the path variable used to generate the DTrace
targets 

injected junk into the pathnames, breaking the build.



The included patch file "dtrace_build.patch" may be applied to Rev
305455 to 

resolve these issues.  It essentially re-enlists some of the
functionality that 

existed prior to 305329.  This has been tested on both OS X and
Solaris.



Examples of how to build DTrace USDT probes on Solaris, see:

http://dtrace.org/blogs/ahl/2006/05/08/user-land-tracing-gets-better-and-better/

and

http://blogs.sun.com/dap/entry/writing_a_dtrace_usdt_provider



For the relevant documentation on OS X, see the dtrace(1M) man page:

http://developer.apple.com/library/mac/#documentation/Darwin/Reference/ManPages/

man1/dtrace.1.html





Expected result:
----------------
--enable-dtrace should configure and build on platforms that have DTrace
(Solaris 

and OS X - maybe FreeBSD?)

Actual result:
--------------
--enable-dtrace fails on both platforms for the reasons mentioned in the


Description section.


------------------------------------------------------------------------



-- 
Edit this bug report at http://bugs.php.net/bug.php?id=53338&edit=1

Reply via email to