Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add gperftools package #4572

Closed
wants to merge 1 commit into from
Closed

Conversation

wuzhiguocarter
Copy link

@wuzhiguocarter wuzhiguocarter commented Feb 15, 2021

Specify library name and version: lib/1.0

  • I've read the guidelines for contributing.
  • I've followed the PEP8 style guides for Python code in the recipes.
  • I've used the latest Conan client version.
  • I've tried at least one configuration locally with the
    conan-center hook activated.

@CLAassistant
Copy link

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.
You have signed the CLA already but the status is still pending? Let us recheck it.

@conan-center-bot
Copy link
Collaborator

Sorry, the build is only launched for Early Access Program users. You can request access writing in this issue.

Comment on lines +37 to +41
if self.settings.os == "Windows" and self.settings.compiler == "Visual Studio":
raise ConanInvalidConfiguration("gperftools is not supported by Visual Studio")
if self.settings.os == "Windows" and self.options.shared:
# libtool: error: can't build i686-pc-mingw32 shared library unless -no-undefined is specified
raise ConanInvalidConfiguration("gperftools can't be built as shared on Windows")
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Did you try with CMakeLists? It could avoid msys2 build requirement (autotools are slow as hell on windows) and allow to build with Visual Studio.

topics = ("conan", "gperftools", "tcmalloc", "cpu/heap profiler")
url = "https://github.com/conan-io/conan-center-index"
homepage = "https://github.com/gperftools/gperftools"
license = ["BSD-3-Clause License"]
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
license = ["BSD-3-Clause License"]
license = ["BSD-3-Clause"]

if self.settings.os == "Windows":
del self.options.fPIC

def configure(self):
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
def configure(self):
def configure(self):
if self.options.shared:
del self.options.fPIC

Comment on lines +75 to +80
os.unlink(os.path.join(self.package_folder, "lib", "libprofiler.la"))
os.unlink(os.path.join(self.package_folder, "lib", "libtcmalloc.la"))
os.unlink(os.path.join(self.package_folder, "lib", "libtcmalloc_and_profiler.la"))
os.unlink(os.path.join(self.package_folder, "lib", "libtcmalloc_debug.la"))
os.unlink(os.path.join(self.package_folder, "lib", "libtcmalloc_minimal.la"))
os.unlink(os.path.join(self.package_folder, "lib", "libtcmalloc_minimal_debug.la"))
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
os.unlink(os.path.join(self.package_folder, "lib", "libprofiler.la"))
os.unlink(os.path.join(self.package_folder, "lib", "libtcmalloc.la"))
os.unlink(os.path.join(self.package_folder, "lib", "libtcmalloc_and_profiler.la"))
os.unlink(os.path.join(self.package_folder, "lib", "libtcmalloc_debug.la"))
os.unlink(os.path.join(self.package_folder, "lib", "libtcmalloc_minimal.la"))
os.unlink(os.path.join(self.package_folder, "lib", "libtcmalloc_minimal_debug.la"))
tools.remove_files_by_mask(os.path.join(self.package_folder, "lib"), "*.la")

Comment on lines +3 to +5
import os


Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
import os
import os
required_conan_version = ">=1.29.1"

@conan-center-bot
Copy link
Collaborator

Some configurations of 'gperftools/2.8.1' failed in build 2 (4074c49c5a09a0c324d26d8efbdae7c7898eb354):

@conan-center-bot
Copy link
Collaborator

Failure in build 3 (4074c49c5a09a0c324d26d8efbdae7c7898eb354):

  • gperftools/2.8.1@:
    CI failed to create some packages (All logs)

    Logs for packageID 761432f3453a17c960259b5b2605153e3bcffd7d:
    [settings]
    arch=x86_64
    arch_build=x86_64
    build_type=Debug
    compiler=gcc
    compiler.libcxx=libstdc++11
    compiler.version=8
    os=Linux
    os_build=Linux
    [options]
    gperftools:shared=False
    
    /home/conan/w/BuildSingleReference/.conan/data/gperftools/2.8.1/_/_/package/761432f3453a17c960259b5b2605153e3bcffd7d/lib/libtcmalloc_and_profiler.a(libtcmalloc_internal_la-memory_region_map.o): In function `std::_Rb_tree_iterator<MemoryRegionMap::Region>::operator--()':
    /usr/include/c++/8/bits/stl_tree.h:302: undefined reference to `std::_Rb_tree_decrement(std::_Rb_tree_node_base*)'
    /home/conan/w/BuildSingleReference/.conan/data/gperftools/2.8.1/_/_/package/761432f3453a17c960259b5b2605153e3bcffd7d/lib/libtcmalloc_and_profiler.a(libtcmalloc_internal_la-memory_region_map.o): In function `void std::_Rb_tree<MemoryRegionMap::Region, MemoryRegionMap::Region, std::_Identity<MemoryRegionMap::Region>, MemoryRegionMap::RegionCmp, STL_Allocator<MemoryRegionMap::Region, MemoryRegionMap::MyAllocator> >::_M_construct_node<MemoryRegionMap::Region const&>(std::_Rb_tree_node<MemoryRegionMap::Region>*, MemoryRegionMap::Region const&)':
    /usr/include/c++/8/bits/stl_tree.h:630: undefined reference to `__cxa_begin_catch'
    /usr/include/c++/8/bits/stl_tree.h:634: undefined reference to `__cxa_rethrow'
    /usr/include/c++/8/bits/stl_tree.h:630: undefined reference to `__cxa_end_catch'
    /home/conan/w/BuildSingleReference/.conan/data/gperftools/2.8.1/_/_/package/761432f3453a17c960259b5b2605153e3bcffd7d/lib/libtcmalloc_and_profiler.a(libtcmalloc_internal_la-symbolize.o): In function `get_pprof_path()::{lambda()#1}::operator()() const':
    /home/conan/w/BuildSingleReference/.conan/data/gperftools/2.8.1/_/_/build/761432f3453a17c960259b5b2605153e3bcffd7d/source_subfolder/src/symbolize.cc:75: undefined reference to `std::allocator<char>::allocator()'
    /home/conan/w/BuildSingleReference/.conan/data/gperftools/2.8.1/_/_/build/761432f3453a17c960259b5b2605153e3bcffd7d/source_subfolder/src/symbolize.cc:75: undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(char const*, std::allocator<char> const&)'
    /home/conan/w/BuildSingleReference/.conan/data/gperftools/2.8.1/_/_/build/761432f3453a17c960259b5b2605153e3bcffd7d/source_subfolder/src/symbolize.cc:75: undefined reference to `std::allocator<char>::~allocator()'
    /home/conan/w/BuildSingleReference/.conan/data/gperftools/2.8.1/_/_/build/761432f3453a17c960259b5b2605153e3bcffd7d/source_subfolder/src/symbolize.cc:76: undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::c_str() const'
    /home/conan/w/BuildSingleReference/.conan/data/gperftools/2.8.1/_/_/build/761432f3453a17c960259b5b2605153e3bcffd7d/source_subfolder/src/symbolize.cc:75: undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
    /home/conan/w/BuildSingleReference/.conan/data/gperftools/2.8.1/_/_/build/761432f3453a17c960259b5b2605153e3bcffd7d/source_subfolder/src/symbolize.cc:77: undefined reference to `std::allocator<char>::~allocator()'
    /home/conan/w/BuildSingleReference/.conan/data/gperftools/2.8.1/_/_/package/761432f3453a17c960259b5b2605153e3bcffd7d/lib/libtcmalloc_and_profiler.a(libtcmalloc_internal_la-symbolize.o): In function `get_pprof_path()':
    /home/conan/w/BuildSingleReference/.conan/data/gperftools/2.8.1/_/_/build/761432f3453a17c960259b5b2605153e3bcffd7d/source_subfolder/src/symbolize.cc:77: undefined reference to `__cxa_guard_acquire'
    /home/conan/w/BuildSingleReference/.conan/data/gperftools/2.8.1/_/_/build/761432f3453a17c960259b5b2605153e3bcffd7d/source_subfolder/src/symbolize.cc:77: undefined reference to `__cxa_guard_release'
    /home/conan/w/BuildSingleReference/.conan/data/gperftools/2.8.1/_/_/build/761432f3453a17c960259b5b2605153e3bcffd7d/source_subfolder/src/symbolize.cc:77: undefined reference to `__cxa_guard_abort'
    /home/conan/w/BuildSingleReference/.conan/data/gperftools/2.8.1/_/_/package/761432f3453a17c960259b5b2605153e3bcffd7d/lib/libtcmalloc_and_profiler.a(libtcmalloc_internal_la-symbolize.o): In function `std::_Rb_tree_const_iterator<std::pair<void const* const, char const*> >::operator++()':
    /usr/include/c++/8/bits/stl_tree.h:366: undefined reference to `std::_Rb_tree_increment(std::_Rb_tree_node_base const*)'
    /home/conan/w/BuildSingleReference/.conan/data/gperftools/2.8.1/_/_/package/761432f3453a17c960259b5b2605153e3bcffd7d/lib/libtcmalloc_and_profiler.a(libtcmalloc_internal_la-symbolize.o): In function `std::_Rb_tree_iterator<std::pair<void const* const, char const*> >::operator++(int)':
    /usr/include/c++/8/bits/stl_tree.h:295: undefined reference to `std::_Rb_tree_increment(std::_Rb_tree_node_base*)'
    /home/conan/w/BuildSingleReference/.conan/data/gperftools/2.8.1/_/_/package/761432f3453a17c960259b5b2605153e3bcffd7d/lib/libtcmalloc_and_profiler.a(libtcmalloc_internal_la-symbolize.o): In function `std::_Rb_tree_iterator<std::pair<void const* const, char const*> > std::_Rb_tree<void const*, std::pair<void const* const, char const*>, std::_Select1st<std::pair<void const* const, char const*> >, std::less<void const*>, std::allocator<std::pair<void const* const, char const*> > >::_M_emplace_hint_unique<std::piecewise_construct_t const&, std::tuple<void const* const&>, std::tuple<> >(std::_Rb_tree_const_iterator<std::pair<void const* const, char const*> >, std::piecewise_construct_t const&, std::tuple<void const* const&>&&, std::tuple<>&&)':
    /usr/include/c++/8/bits/stl_tree.h:2433: undefined reference to `__cxa_begin_catch'
    /usr/include/c++/8/bits/stl_tree.h:2436: undefined reference to `__cxa_rethrow'
    /usr/include/c++/8/bits/stl_tree.h:2433: undefined reference to `__cxa_end_catch'
    /home/conan/w/BuildSingleReference/.conan/data/gperftools/2.8.1/_/_/package/761432f3453a17c960259b5b2605153e3bcffd7d/lib/libtcmalloc_and_profiler.a(libtcmalloc_internal_la-symbolize.o): In function `std::_Rb_tree<void const*, std::pair<void const* const, char const*>, std::_Select1st<std::pair<void const* const, char const*> >, std::less<void const*>, std::allocator<std::pair<void const* const, char const*> > >::_M_insert_node(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, std::_Rb_tree_node<std::pair<void const* const, char const*> >*)':
    /usr/include/c++/8/bits/stl_tree.h:2327: undefined reference to `std::_Rb_tree_insert_and_rebalance(bool, std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, std::_Rb_tree_node_base&)'
    /home/conan/w/BuildSingleReference/.conan/data/gperftools/2.8.1/_/_/package/761432f3453a17c960259b5b2605153e3bcffd7d/lib/libtcmalloc_and_profiler.a(libtcmalloc_internal_la-symbolize.o): In function `void std::_Rb_tree<void const*, std::pair<void const* const, char const*>, std::_Select1st<std::pair<void const* const, char const*> >, std::less<void const*>, std::allocator<std::pair<void const* const, char const*> > >::_M_construct_node<std::piecewise_construct_t const&, std::tuple<void const* const&>, std::tuple<> >(std::_Rb_tree_node<std::pair<void const* const, char const*> >*, std::piecewise_construct_t const&, std::tuple<void const* const&>&&, std::tuple<>&&)':
    /usr/include/c++/8/bits/stl_tree.h:630: undefined reference to `__cxa_begin_catch'
    /usr/include/c++/8/bits/stl_tree.h:634: undefined reference to `__cxa_rethrow'
    /usr/include/c++/8/bits/stl_tree.h:630: undefined reference to `__cxa_end_catch'
    /home/conan/w/BuildSingleReference/.conan/data/gperftools/2.8.1/_/_/package/761432f3453a17c960259b5b2605153e3bcffd7d/lib/libtcmalloc_and_profiler.a(libtcmalloc_internal_la-symbolize.o): In function `std::_Rb_tree_iterator<std::pair<void const* const, char const*> >::operator--()':
    /usr/include/c++/8/bits/stl_tree.h:302: undefined reference to `std::_Rb_tree_decrement(std::_Rb_tree_node_base*)'
    /home/conan/w/BuildSingleReference/.conan/data/gperftools/2.8.1/_/_/package/761432f3453a17c960259b5b2605153e3bcffd7d/lib/libtcmalloc_and_profiler.a(libtcmalloc_internal_la-symbolize.o): In function `std::_Rb_tree_iterator<std::pair<void const* const, char const*> >::operator++()':
    /usr/include/c++/8/bits/stl_tree.h:287: undefined reference to `std::_Rb_tree_increment(std::_Rb_tree_node_base*)'
    /home/conan/w/BuildSingleReference/.conan/data/gperftools/2.8.1/_/_/package/761432f3453a17c960259b5b2605153e3bcffd7d/lib/libtcmalloc_and_profiler.a(libtcmalloc_internal_la-symbolize.o): In function `__gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<void const* const, char const*> > >::allocate(unsigned long, void const*)':
    /usr/include/c++/8/ext/new_allocator.h:102: undefined reference to `std::__throw_bad_alloc()'
    /home/conan/w/BuildSingleReference/.conan/data/gperftools/2.8.1/_/_/package/761432f3453a17c960259b5b2605153e3bcffd7d/lib/libtcmalloc_and_profiler.a(libtcmalloc_and_profiler_la-linuxthreads.o): In function `ListerThread':
    /home/conan/w/BuildSingleReference/.conan/data/gperftools/2.8.1/_/_/build/761432f3453a17c960259b5b2605153e3bcffd7d/source_subfolder/src/base/linuxthreads.cc:272: undefined reference to `sem_wait'
    /home/conan/w/BuildSingleReference/.conan/data/gperftools/2.8.1/_/_/package/761432f3453a17c960259b5b2605153e3bcffd7d/lib/libtcmalloc_and_profiler.a(libtcmalloc_and_profiler_la-linuxthreads.o): In function `TCMalloc_ListAllProcessThreads':
    /home/conan/w/BuildSingleReference/.conan/data/gperftools/2.8.1/_/_/build/761432f3453a17c960259b5b2605153e3bcffd7d/source_subfolder/src/base/linuxthreads.cc:625: undefined reference to `sem_init'
    /home/conan/w/BuildSingleReference/.conan/data/gperftools/2.8.1/_/_/build/761432f3453a17c960259b5b2605153e3bcffd7d/source_subfolder/src/base/linuxthreads.cc:643: undefined reference to `sem_post'
    /home/conan/w/BuildSingleReference/.conan/data/gperftools/2.8.1/_/_/build/761432f3453a17c960259b5b2605153e3bcffd7d/source_subfolder/src/base/linuxthreads.cc:669: undefined reference to `sem_destroy'
    collect2: error: ld returned 1 exit status
    make[2]: *** [bin/test_package] Error 1
    make[1]: *** [CMakeFiles/test_package.dir/all] Error 2
    make: *** [all] Error 2
    ERROR: gperftools/2.8.1 (test package): Error in build() method, line 12
    	cmake.build()
    	ConanException: Error 2 while executing cmake --build '/home/conan/w/BuildSingleReference/conan-center-index/recipes/gperftools/all/test_package/build/f47e08982b99834957265d165eba9e5d8d2165e1' '--' '-j3'
    

Note: To save resources, CI tries to finish as soon as an error is found. For this reason you might find that not all the references have been launched or not all the configurations for a given reference. Also, take into account that we cannot guarantee the order of execution as it depends on CI workload and workers availability.

@stale
Copy link

stale bot commented Apr 6, 2021

This pull request has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

@stale stale bot added the stale label Apr 6, 2021
@stale
Copy link

stale bot commented May 6, 2021

This pull request has been automatically closed because it has not had recent activity. Thank you for your contributions.

@stale stale bot closed this May 6, 2021
@tuduongquyet
Copy link
Contributor

This package is really needed, since I'm granted for EAP, can I make this PR my own?

@AndreyMlashkin
Copy link
Contributor

@tuduongquyet, sure, you only need to write here
#4
and you can start your own pull request.

you need to fork conan-center-index to you; add it locally
git remote add my PATH_TO_MY_FORK
and then push it like
git push my HEAD

@SSE4
Copy link
Contributor

SSE4 commented May 25, 2022

This package is really needed, since I'm granted for EAP, can I make this PR my own?

please create a new PR (makiing a branch as described in coment above), unfortunately we cannot change an ownership of PRs.

@valgur valgur mentioned this pull request Jun 16, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants