8000 CMake scripts has no install() directives · Issue #1576 · gperftools/gperftools · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

CMake scripts has no install() directives #1576

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

Open
pkarneliuk opened this issue Dec 13, 2024 · 9 comments
Open

CMake scripts has no install() directives #1576

pkarneliuk opened this issue Dec 13, 2024 · 9 comments

Comments

@pkarneliuk
Copy link
pkarneliuk commented Dec 13, 2024

Since 2.16 there is no install() directives in root CMakeLists.txt. So, now it is impossible to install correct binaries by cmake tool.

cmake -S . -B "build" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/data/tools/gperftools/2.16
cmake --build   "build" --config Release
cmake --install "build" --config Release --prefix /data/tools/gperftools/2.16

Why they were removed in 9dfab2c ?

@pkarneliuk pkarneliuk changed the title CMake scripts has not install() directives CMake scripts has no install() directives Dec 13, 2024
@alk
Copy link
Contributor
alk commented Dec 13, 2024

Yes, cmake support is incomplete. And we openly warn people about it. It was removed because it wasn't right to confuse people into thinking that install works.

@pkarneliuk
Copy link
Author
pkarneliuk commented Dec 13, 2024 via email

@alk
Copy link
Contributor
alk commented Dec 13, 2024

Please describe "perfectly". Tests didn't pass for example. Keep in mind that "perfectly" for you isn't necessarily good enough for me.

@pkarneliuk
Copy link
Author

The release 2.15 installs headers, libs, configs and binaries to requested directories.

[pkarneliuk@host]$ cmake --install "build" --config Release --prefix /data/tools/gperftools/2.15
-- Installing: /data/tools/gperftools/2.15/include/google/heap-checker.h
-- Installing: /data/tools/gperftools/2.15/include/google/heap-profiler.h
-- Installing: /data/tools/gperftools/2.15/include/google/malloc_extension.h
-- Installing: /data/tools/gperftools/2.15/include/google/malloc_extension_c.h
-- Installing: /data/tools/gperftools/2.15/include/google/malloc_hook.h
-- Installing: /data/tools/gperftools/2.15/include/google/malloc_hook_c.h
-- Installing: /data/tools/gperftools/2.15/include/google/profiler.h
-- Installing: /data/tools/gperftools/2.15/include/google/stacktrace.h
-- Installing: /data/tools/gperftools/2.15/include/google/tcmalloc.h
-- Installing: /data/tools/gperftools/2.15/bin/pprof-symbolize
-- Installing: /data/tools/gperftools/2.15/lib64/libtcmalloc_minimal.so.9.16.5
-- Installing: /data/tools/gperftools/2.15/lib64/libtcmalloc_minimal.so
-- Installing: /data/tools/gperftools/2.15/lib64/libtcmalloc_minimal.a
-- Installing: /data/tools/gperftools/2.15/lib64/libtcmalloc_minimal_debug.so.9.16.5
-- Installing: /data/tools/gperftools/2.15/lib64/libtcmalloc_minimal_debug.so
-- Installing: /data/tools/gperftools/2.15/lib64/libtcmalloc_minimal_debug.a
-- Installing: /data/tools/gperftools/2.15/lib64/libtcmalloc.so.9.16.5
-- Installing: /data/tools/gperftools/2.15/lib64/libtcmalloc.so
-- Installing: /data/tools/gperftools/2.15/lib64/libtcmalloc.a
-- Installing: /data/tools/gperftools/2.15/lib64/libtcmalloc_debug.so.9.16.5
-- Installing: /data/tools/gperftools/2.15/lib64/libtcmalloc_debug.so
-- Installing: /data/tools/gperftools/2.15/lib64/libtcmalloc_debug.a
-- Installing: /data/tools/gperftools/2.15/lib64/libprofiler.so.5.11.5
-- Installing: /data/tools/gperftools/2.15/lib64/libprofiler.so
-- Installing: /data/tools/gperftools/2.15/lib64/libprofiler.a
-- Installing: /data/tools/gperftools/2.15/include/gperftools/tcmalloc.h
-- Installing: /data/tools/gperftools/2.15/include/gperftools/stacktrace.h
-- Installing: /data/tools/gperftools/2.15/include/gperftools/malloc_hook.h
-- Installing: /data/tools/gperftools/2.15/include/gperftools/malloc_hook_c.h
-- Installing: /data/tools/gperftools/2.15/include/gperftools/malloc_extension.h
-- Installing: /data/tools/gperftools/2.15/include/gperftools/malloc_extension_c.h
-- Installing: /data/tools/gperftools/2.15/include/gperftools/nallocx.h
-- Installing: /data/tools/gperftools/2.15/include/gperftools/heap-profiler.h
-- Installing: /data/tools/gperftools/2.15/include/gperftools/heap-checker.h
-- Installing: /data/tools/gperftools/2.15/include/gperftools/profiler.h
-- Installing: /data/tools/gperftools/2.15/lib64/libtcmalloc_and_profiler.so.10.11.6
-- Installing: /data/tools/gperftools/2.15/lib64/libtcmalloc_and_profiler.so
-- Installing: /data/tools/gperftools/2.15/lib64/libtcmalloc_and_profiler.a
-- Installing: /data/tools/gperftools/2.15/lib64/pkgconfig/libtcmalloc.pc
-- Installing: /data/tools/gperftools/2.15/lib64/pkgconfig/libtcmalloc_minimal.pc
-- Installing: /data/tools/gperftools/2.15/lib64/pkgconfig/libtcmalloc_debug.pc
-- Installing: /data/tools/gperftools/2.15/lib64/pkgconfig/libtcmalloc_minimal_debug.pc
-- Installing: /data/tools/gperftools/2.15/lib64/pkgconfig/libprofiler.pc
[pkarneliuk@host gperftools]$

The libraries have symbolic links with versions.

[pkarneliuk@host gperftools]$ ls -la /data/tools/gperftools/2.15/lib64/
total 4628
drwxr-xr-x 3 sfxrunner sfxrunner   4096 Sep 12 01:05 .
drwxr-xr-x 5 sfxrunner sfxrunner     62 Sep 12 01:11 ..
-rw-r--r-- 1 sfxrunner sfxrunner  91158 Sep 12 01:04 libprofiler.a
lrwxrwxrwx 1 sfxrunner sfxrunner     21 Sep 12 01:05 libprofiler.so -> libprofiler.so.5.11.5
-rwxr-xr-x 1 sfxrunner sfxrunner  79096 Sep 12 01:03 libprofiler.so.5.11.5
-rw-r--r-- 1 sfxrunner sfxrunner 620710 Sep 12 01:04 libtcmalloc.a
-rw-r--r-- 1 sfxrunner sfxrunner 674482 Sep 12 01:03 libtcmalloc_and_profiler.a
lrwxrwxrwx 1 sfxrunner sfxrunner     35 Sep 12 01:05 libtcmalloc_and_profiler.so -> libtcmalloc_and_profiler.so.10.11.6
-rwxr-xr-x 1 sfxrunner sfxrunner 413352 Sep 12 01:03 libtcmalloc_and_profiler.so.10.11.6
-rw-r--r-- 1 sfxrunner sfxrunner 697038 Sep 12 01:04 libtcmalloc_debug.a
lrwxrwxrwx 1 sfxrunner sfxrunner     27 Sep 12 01:05 libtcmalloc_debug.so -> libtcmalloc_debug.so.9.16.5
-rwxr-xr-x 1 sfxrunner sfxrunner 424288 Sep 12 01:03 libtcmalloc_debug.so.9.16.5
-rw-r--r-- 1 sfxrunner sfxrunner 430784 Sep 12 01:03 libtcmalloc_minimal.a
-rw-r--r-- 1 sfxrunner sfxrunner 419962 Sep 12 01:03 libtcmalloc_minimal_debug.a
lrwxrwxrwx 1 sfxrunner sfxrunner     35 Sep 12 01:05 libtcmalloc_minimal_debug.so -> libtcmalloc_minimal_debug.so.9.16.5
-rwxr-xr-x 1 sfxrunner sfxrunner 263672 Sep 12 01:03 libtcmalloc_minimal_debug.so.9.16.5
lrwxrwxrwx 1 sfxrunner sfxrunner     29 Sep 12 01:05 libtcmalloc_minimal.so -> libtcmalloc_minimal.so.9.16.5
-rwxr-xr-x 1 sfxrunner sfxrunner 205152 Sep 12 01:03 libtcmalloc_minimal.so.9.16.5
lrwxrwxrwx 1 sfxrunner sfxrunner     21 Sep 12 01:05 libtcmalloc.so -> libtcmalloc.so.9.16.5
-rwxr-xr-x 1 sfxrunner sfxrunner 386304 Sep 12 01:04 libtcmalloc.so.9.16.5
drwxr-xr-x 2 sfxrunner sfxrunner    144 Sep 12 01:05 pkgconfig

Why this functionality was removed?

@alk
Copy link
Contributor
alk commented Dec 16, 2024

Again, tests were not passing. It wasn't right in many ways. E.g. so versions were bogus. That you see some files in plausibly looking places doesn't mean everything works and is in shape that makes it possible for me to support it.

Simply reverting is not possible. That is 100%.

You should be using autotools-based means to build and install gperftools. It is officially supported.

If you're one of cmake enthusiasts, consider helping for example here: #1575 (even then I cannot make any hard promises; it is me who will have to support this stuff)

@pkarneliuk
Copy link
Author
pkarneliuk commented Dec 16, 2024 via email

@alk
Copy link
Contributor
alk commented Dec 16, 2024

Just above you posted how you used 2.15 to do equivalent of make install. You should be able to do equivalent of make check.

(I am putting my responses to this ticket into throttling mode to reduce the risk of sending impolite replies; don't expect timely responses)

@pkarneliuk
Copy link
Author
pkarneliuk commented Dec 16, 2024 via email

@alk
Copy link
Contributor
alk commented Dec 16, 2024

Lets calm down a bit. Keep in mind that I owe you nothing and you owe me nothing as well.

From what I see, you're messages are indistinguishable from some troll trying to waste my time, demanding me "to explain myself" without any attempt to do own homework. All the answers you seek are in code or git history.

If you came here to argue, then this is going nowhere. If you're serious about helping then help. Talk is cheap. Show me the code.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants
0