This package contains three tools. It provides the tcmalloc library which is a more efficient malloc library for heavily threaded and template-driven programs. It also provides a library and tool to do CPU and memory profiling. This ebuild simply installs these tools as provided by the google-perftools project. An outstanding issue: should components be selectable by USE flags? or should components be installed in seperate ebuilds to allow (for instance) the tcmalloc library to be listed as a dependency? Reproducible: Always Steps to Reproduce: 1. 2. 3.
Created attachment 69438 [details] dev-utils/google-perftools-0.3.ebuild Here is the simple ebuild I made... any changes that need to be made i will be happy to address.
Please fix the following and reopen: * SLOT is mandatory * http://dev.gentoo.org/~ciaranm/docs/mw-faq/redundant.txt (src_compile) * http://dev.gentoo.org/~ciaranm/docs/mw-faq/einstall.txt * http://dev.gentoo.org/~ciaranm/docs/mw-faq/docfiles.txt
Created attachment 69455 [details] dev-utils/google-perftools-0.3.ebuild
Ok. I spent some serious time with this, because I realized how sloppilly i had put that first ebuild together. This ebuild has a number of improvements, including (I hope) the ones mentioned above. SLOT is now in there, of course, and I am using the preferred install method. However, the src_compile() was present for a reason -- emake attempts to both compile and run all the tests for the package. These tests do not all succeed, or even come close, but not due to defect of the package that I can see. Instead, by simply running "make" everything compiles without problem. Also, I attempted to correct a huge mistake. The makefiles for this package install the documentation to a nonstandard location. I have patched the make files to prevent this, and provided correct doc installation commands and a use flag to enable full html documenation installation. I hope this moves the ebuild closer to an acceptable status. Please let me know what further outstanding issues are present.
Created attachment 69458 [details, diff] google-perftools-0.3-fixdocs.patch this is the patch used...
*** Bug 140206 has been marked as a duplicate of this bug. ***
i have just added google-perftools to my overlay... no promises about mainline inclusion yet. http://overlays.gentoo.org/dev/bangert/browser/ebuilds/ dev-util/google-perftools
just a note to anybody working on this: google-perftools cant reach portage before pound has been fixed. pound will optionally link to tcmalloc, if it is available... no way to turn that off. i am working on a fix for that...
Created attachment 177714 [details] dev-utils/google-perftools-1.0.ebuild Compiled well on my amd64 box.
Created attachment 182543 [details, diff] patch against linuxthreads.c
Created attachment 182544 [details] Fixed ebuild Add a sys-libs/libunwind build dependency and add a fix to build time.
Bleh, feel free to keywords it ~amd64 since i marked it stable in my overlay just to not unmask it. :P
Was able to take the 0.97 ebuild, rename it 1.2, remove the patch call and compile the latest perftools for x86. Thought I would throw this in as a FYI for those interested.
(In reply to comment #13) > Was able to take the 0.97 ebuild, rename it 1.2, remove the patch call and > compile the latest perftools for x86. > > Thought I would throw this in as a FYI for those interested. > Same here with 1.3 on x86. Should be dev-util/google-perftools-1.3.ebuild by the way, and not dev-utils.
FYI, it also works pretty fine here with 1.3 on amd64. Cheers, Nico
Glad to see the 1.4 of this in portage. pprof has a number of modes that use app-text/gv, though, so there should be a use flag to pull that in as a dep.
me22: please open a new bug about the issue. thanks