grafana-rrd-server icon indicating copy to clipboard operation
grafana-rrd-server copied to clipboard

Prebuilt binary crashing on RHEL 6

Open miken32 opened this issue 6 years ago • 3 comments

I've downloaded the prebuilt binary, and it keeps crashing with this error:

grafana-rrd-server: symbol lookup error: grafana-rrd-server: undefined symbol: rrd_info_r

This happens every time it's sent a POST from Grafana.

It appears to be looking for an old version of librrd:

root@host:~ ❱❱❱ objdump -x /usr/local/bin/grafana-rrd-server  | grep librrd
  NEEDED               librrd.so.4

librrd.so.4 is present on my machine (version 1.3.8, installed by yum) but it does not have that symbol. I've also got librrd.so.8 (version 1.6.0 installed from source) and it does have it:

root@host:~ ❱❱❱ objdump -x /usr/lib64/librrd.so.4 | grep rrd_info_r
root@host:~ ❱❱❱ objdump -x /usr/local/lib/librrd.so.8 | grep rrd_info_r
0000000000030860 g     F .text	0000000000000c06              rrd_info_r
root@host:~ ❱❱❱ 

Also checked RHEL 7; it also provides librrd.so.4 version 1.4.8, and doesn't contain that symbol either.

miken32 avatar Mar 01 '18 17:03 miken32

I think this is caused by an issue in the rrd package which grafana-rrd-server is using. If this is correct, it's better to be fixed in the package's repository by merging the pull request (unlikely to happen, though 😭)

The grafana-rrd-server binary is built on a Docker image, which is based on Debian. That is why it can be successfully built, but can't run on RHEL.

doublemarket avatar Apr 24 '18 08:04 doublemarket

@miken32 👆

doublemarket avatar Apr 24 '18 08:04 doublemarket

Yes that’s probably why it crashes, but the real problem is that it shouldn’t be looking for librrd.so.4 because it doesn’t contain those symbols, but rather a later version. Then it would ignore the system version and insist on using manually built one instead.

miken32 avatar Apr 24 '18 13:04 miken32