carbon-relay-ng の v0.12.0以前をビルドするメモ

carbon-relay-ng

carbon-relay-ng は Graphite の carbon-relay-py  に相当するもので、違いなどの詳細は GitHub - grafana/carbon-relay-ng をみてください。

 

2019年12月中旬のタイミングで

carbon-relay-ng の owner が graphite-ng から grafana(Grafana Labs) に変更になっています。変更タイミングは Fix path to new grafana org by Dieterbe · Pull Request #384 · grafana/carbon-relay-ng · GitHub のあたりでした。

 

2020年6月19日現在の最新バージョンである v0.12.0 など、Fix path to new grafana org by Dieterbe · Pull Request #384 · grafana/carbon-relay-ng · GitHub  のcommit以前のバージョンをビルドする際には、こちらの差分を取り込むか、make実行時の配置パスを過去の graphite-ng に合わせるか、などで対応しておく必要があります。

なお、 graphite-ng は現在もう存在しません。

( 0.12.0 以前 )
graphite-ng/carbon-relay-ng

( 現在 )
grafana/carbon-relay-ng

 

うっかりこのことを忘れてビルドすると失敗します。

# make
cd ui/web && go-bindata -pkg web admin_http_assets/...
find . -name '*.go' | grep -v '^\.\/vendor' | xargs gofmt -w -s
CGO_ENABLED=0 go build -ldflags "-X main.Version=0.12.0" ./cmd/carbon-relay-ng
# github.com/grafana/carbon-relay-ng/cmd/carbon-relay-ng
cmd/carbon-relay-ng/carbon-relay-ng.go:85:18: cannot use formatter (type *logger.TextFormatter) as type "github.com/grafana/carbon-relay-ng/vendor/github.com/sirupsen/logrus".Formatter in argument to "github.com/grafana/carbon-relay-ng/vendor/github.com/sirupsen/logrus".SetFormatter:
*logger.TextFormatter does not implement "github.com/grafana/carbon-relay-ng/vendor/github.com/sirupsen/logrus".Formatter (wrong type for Format method)
have Format(*"github.com/graphite-ng/carbon-relay-ng/vendor/github.com/sirupsen/logrus".Entry) ([]byte, error)
want Format(*"github.com/grafana/carbon-relay-ng/vendor/github.com/sirupsen/logrus".Entry) ([]byte, error)
cmd/carbon-relay-ng/carbon-relay-ng.go:163:34: cannot use meta (type "github.com/grafana/carbon-relay-ng/vendor/github.com/BurntSushi/toml".MetaData) as type "github.com/graphite-ng/carbon-relay-ng/vendor/github.com/BurntSushi/toml".MetaData in argument to table.InitFromConfig
Makefile:five: recipe for target 'build' failed
make: *** [build] Error 2