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
CMAKE failed because it is missing: TCMALLOC_LIBRARY TCMALLOC_INCLUDE_DIR #2524
Comments
Hi Rabab,
The error message says:
ERROR: HPX_WITH_MALLOC was set to tcmalloc, but tcmalloc could not be
found. Valid options for HPX_WITH_MALLOC are: system, tcmalloc, jemalloc,
tbbmalloc, and custom
The resolution is as as simple as either switching the allocator (system does
not have any additional dependencies) or install the necessary packages.
Either by hand or from your linux distribution. tcmalloc is often found as
part of gpertools, based on the distribution, you might need to install the -
dev packages as well.
|
@Rabab53 to clarify: try using |
@sithhell we should probably change our build system to fall back to |
On Montag, 27. Februar 2017 12:52:53 CET Hartmut Kaiser wrote:
@sithhell we should probably change our build system to fall back to
`system` if `tcmalloc` is not available.
I am opposing that. I played with that thought for a long time but dismissed
it. The rationale is that we shouldn't silently fall back to a suboptimal
solution, I was hoping that the error message is clear enough.
While I agree that defaulting to tcmalloc is arbitrary, the need for a high
performance malloc implementation is absolutely there so I chose to have a
hard failure to make the user aware of the implications instead of silently
falling back to a solution which might lead to bad performance.
We might need to document it more prominently here:
http://stellar-group.github.io/hpx/docs/html/hpx/manual/build_system/
prerequisites.html
|
Ok, fair enough. |
Since it is very easy to install jemalloc, and it gives as good, or better performance as tcmalloc, we could simply extend the error message to output the following You have requested a non system malloc, but it was not found, you may install jemalloc as follows
and invoke cmake with the extra options
and update the error message from time to time when a newer jemalloc is available |
I'd rather put a (stable) link to our documentation into the error message where this is described in detail. |
Thanks all |
@Rabab53 Can we close this issue now? Has it been resolved for you? |
Please God somebody tell me how to build HPX with tcmalloc on Debian stretch? I start with: $ sudo apt-get install libtcmalloc-minimal4 Then try to build HPX: $ cd build Result: -- Could NOT find TCMalloc (missing: TCMALLOC_LIBRARY TCMALLOC_INCLUDE_DIR) Two hours of scanning the documentation and googling later I'm no closer to resolving this problem. Any help greatly appreciated. |
I see where @ZiCog is coming from... on Ubuntu 18.04.2:
(and cmake fails to find TCMalloc) There are no -dev packages.
and
does the trick. |
A simple google search would have revealed that the corresponding |
@ZiCog I'm using Arch destro [manjaro]. Here I installed |
I am trying to build hpx with the following command it cause an error as follow:
cmake .. -DBOOST_ROOT=/usr/lib/x86_64-linux-gnu/ -DHWLOC_ROOT=/home/runtime_systems/hwloc-1.10.1/install/lib -DCMAKE_INSTALL_PREFIX=/home/runtime_systems/hpx/install
build failed as follow:
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.26")
-- Could NOT find TCMalloc (missing: TCMALLOC_LIBRARY TCMALLOC_INCLUDE_DIR)
CMake Error at cmake/HPX_Message.cmake:43 (message):
ERROR: HPX_WITH_MALLOC was set to tcmalloc, but tcmalloc could not be
found. Valid options for HPX_WITH_MALLOC are: system, tcmalloc, jemalloc,
tbbmalloc, and custom
Call Stack (most recent call first):
cmake/HPX_SetupAllocator.cmake:29 (hpx_error)
CMakeLists.txt:1308 (include)
-- Configuring incomplete, errors occurred!
See also "/home/runtime_systems/hpx/my_hpx_build/CMakeFiles/CMakeOutput.log".
See also "/home/runtime_systems/hpx/my_hpx_build/CMakeFiles/CMakeError.log"
Any advice on how to solve it?
Thanks,
Rabab
The text was updated successfully, but these errors were encountered: