tmegos blog

Web developer

alpineにperfをインストールする

Node.jsのパフォーマンスを測定するために、perfをインストールしたときのメモ

nodejs.org

環境

  • node:12.16.2-alpine

方法

/etc/apk/repositories に以下のリポジトリを追加

http://dl-cdn.alpinelinux.org/alpine/edge/main # elfutils-devの0.179-r0を入れるため
http://dl-cdn.alpinelinux.org/alpine/edge/testing # perfを入れるため

apkで依存関係とperfをインストールします

$ sudo apk add elfutils-dev=0.179-r0 perf

作業メモ

perfをインストールするため、Packageを検索します
デフォルトで設定されているbranchはv3.11なので、http://dl-cdn.alpinelinux.org/alpine/edge/testingを追加します

https://pkgs.alpinelinux.org/packages?name=perf&branch=edge&arch=x86_64

リポジトリを追加して$ sudo apk add perfをすると、libdw.soが見つからず失敗します

quired by: perf-5.4.25-r1[so:libdw.so.1]

こちらも検索すると、elfutils-devに含まれていることがわかります

https://pkgs.alpinelinux.org/contents?branch=edge&name=elfutils-dev&arch=x86_64&repo=main

elfutils-devをインストールしてからあらためてperfをインストールしようとしても、同じくlibdw.soが見つかりません
/usr/lib以下を見るとたしかにlibdw.soは存在しません

調べてみると、branchがedgeの場合のみlibdw.soが含まれるようです
http://dl-cdn.alpinelinux.org/alpine/edge/mainを追加、バージョンを指定してelfutils-devをインストールします

https://pkgs.alpinelinux.org/contents?file=&path=&name=elfutils-dev&branch=v3.11&repo=main&arch=x86_64

こうして無事perfのインストールができました