これは次の質問に関連しています。スタックオーバーフロー。その人はtcmalloc
次のような新しいアロケータをインストールしようとします。gperftools
。私たちは両方ともFedoraにインストールしましたが、どちらもライブラリを見つけることができませんでした。
$ find /lib -name '*tcmalloc*'
$ find /lib64 -name '*tcmalloc*'
$
追加のチェックの結果、インストールファイルがないことがわかりました。
$ dnf repoquery gperftools
Last metadata expiration check: 0:07:58 ago on Thu 30 Aug 2018 04:59:15 PM EDT.
gperftools-0:2.6.3-2.fc28.x86_64
$ dnf repoquery -l gperftools
Last metadata expiration check: 0:08:16 ago on Thu 30 Aug 2018 04:59:15 PM EDT.
Package gperftools-2.6.3-2.fc28.x86_64 contains no files
私は何が起こっているのか理解しようとしています。以前はどうでしたか覚えていません。
梱包エラーですか?それとも空のパッケージに異なる意味がありますか?
$ lsb_release -a
LSB Version: :core-4.1-amd64:core-4.1-noarch
Distributor ID: Fedora
Description: Fedora release 28 (Twenty Eight)
Release: 28
Codename: TwentyEight
$ uname -a
Linux goldmont 4.17.12-200.fc28.x86_64 #1 SMP Fri Aug 3 15:01:13 UTC 2018 x86_64 GNU/Linux
答え1
これは珍しい運動であることが証明されています。いいえgperftools-dev
またはgperftools-devel
パッケージ。パッケージがありますが、またはにインストールされてgperftools-libs
いません。/lib
/lib64
$ dnf repoquery -l gperftools-libs
Fedora 28 - x86_64 - Updates 9.6 MB/s | 23 MB 00:02
Last metadata expiration check: 0:00:13 ago on Fri 31 Aug 2018 12:40:20 AM EDT.
/usr/lib/.build-id
/usr/lib/.build-id/4a
/usr/lib/.build-id/4a/f4daa98151a84c8d1bc754e67a2858dd2007f7
/usr/lib/.build-id/56
/usr/lib/.build-id/56/fbe67cd746e213211226bc753dc3924e53d883
/usr/lib/.build-id/59
/usr/lib/.build-id/59/4af3ce60de4d29e773f783c434786d87e0431a
/usr/lib/.build-id/5d
/usr/lib/.build-id/5d/26545cd8d2417e42085614cecfb11bfcbbef58
/usr/lib/.build-id/66
/usr/lib/.build-id/66/bc072ca02ea7494c5f61d62c5d4f8abb83a37c
/usr/lib/.build-id/ef
/usr/lib/.build-id/ef/eedf93824216ffecac806dd60e3b4d23a7d8d1
/usr/lib64/libprofiler.so.0
/usr/lib64/libprofiler.so.0.4.16
/usr/lib64/libtcmalloc.so.4
/usr/lib64/libtcmalloc.so.4.5.1
/usr/lib64/libtcmalloc_and_profiler.so.4
/usr/lib64/libtcmalloc_and_profiler.so.4.5.1
/usr/lib64/libtcmalloc_debug.so.4
/usr/lib64/libtcmalloc_debug.so.4.5.1
/usr/lib64/libtcmalloc_minimal.so.4
/usr/lib64/libtcmalloc_minimal.so.4.5.1
/usr/lib64/libtcmalloc_minimal_debug.so.4
/usr/lib64/libtcmalloc_minimal_debug.so.4.5.1
/usr/lib/.build-id
/usr/lib/.build-id/70
/usr/lib/.build-id/70/532fbec5f8efae416a3d93452a41f40e866256
/usr/lib/.build-id/73
/usr/lib/.build-id/73/b36a618c8b93ffc6fb8bb6ac29932446b38c9f
/usr/lib/.build-id/73/ce1d567d60ea7a3fc84d6439e7e969465f6eb0
/usr/lib/.build-id/98
/usr/lib/.build-id/98/0ba2c89b28afdcec32e60fbba456fe9185e631
/usr/lib/.build-id/9e
/usr/lib/.build-id/9e/eb05e4484712cb7986c9e809d40d2869e3ab1f
/usr/lib/.build-id/b1
/usr/lib/.build-id/b1/be0e43fcc0d1fda1c56672f550046cc37ac9e8
/usr/lib/libprofiler.so.0
/usr/lib/libprofiler.so.0.4.16
/usr/lib/libtcmalloc.so.4
/usr/lib/libtcmalloc.so.4.5.1
/usr/lib/libtcmalloc_and_profiler.so.4
/usr/lib/libtcmalloc_and_profiler.so.4.5.1
/usr/lib/libtcmalloc_debug.so.4
/usr/lib/libtcmalloc_debug.so.4.5.1
/usr/lib/libtcmalloc_minimal.so.4
/usr/lib/libtcmalloc_minimal.so.4.5.1
/usr/lib/libtcmalloc_minimal_debug.so.4
/usr/lib/libtcmalloc_minimal_debug.so.4.5.1
-ltcmalloc
これがFedoraで接続が失敗する理由を説明すると思います。明らかに、リンカは/usr/lib
orを使用しません/usr/lib64
。
答え2
なぜそのパッケージが見つからなかったのかわかりませんがgperftools-devel
、それはあなたが探しているパッケージです。実際、パッケージマネージャはユーザーがインストールすることを意図していると思います。gperftools
は、パッケージの説明に次のように示されているからです。
gperftools
これは、すべての(およびpprof
)バイナリ、ライブラリ、および開発ヘッダーを抽出して使用できるようにするメタパッケージです。
gperftools-devel
開発シンボリックリンクを提供するlibtcmalloc
。 FC 28の最新バージョンこれは2018年2月にさかのぼる。すべてのアーキテクチャで成功しました。gperftools
プルインをインストールしますgperftools-devel
。