Open strowk opened 3 years ago
libbcc.so.0
is supposed to be shipped in the image at /opt/datadog-agent/embedded/lib/libbcc.so.0
.
The path to look for libraries is hard-coded as a RUNPATH
in the system-probe
binary.
Could you please run the following diagnostics:
Start a container (I took the same version as you):
docker run -ti --rm gcr.io/datadoghq/agent:7.25.0-jmx /bin/bash
Install readelf
inside this container:
apt update && apt install -y binutils
Check the dynamic
section of the system-probe
binary:
readelf -d $(which system-probe)
The output should begin with:
Dynamic section at offset 0x3c77dd0 contains 27 entries:
Tag Type Name/Value
0x0000000000000001 (NEEDED) Shared library: [libpthread.so.0]
0x0000000000000001 (NEEDED) Shared library: [libbcc.so.0]
0x0000000000000001 (NEEDED) Shared library: [libc.so.6]
0x000000000000001d (RUNPATH) Library runpath: [/opt/datadog-agent/embedded/lib]
Then, check that libbcc.so.0
can be found at the expected location:
ls /opt/datadog-agent/embedded/lib/libbcc.so.0
I ran into the same issue, and it was because /opt/datadog-agent/embedded/lib/libbcc.so.128-UNKNOWN (the eventual symlink from libbcc.so.0) was only readable by root, and my container was running as a non-root user.
Is there any reason that these permissions haven't been fixed? All it needs is a chmod a+r /opt/datadog-agent/embedded/lib/*
- the permissions in that directory don't really make any sense.
I'm going to need to wrap your image just to fix this problem so this works in my environment which seems silly considering this is a year old report
Output of the info page (if this is a bug)
Describe what happened:
We are using docker image with agent -
datadog/agent:7-jmx
as a sidecar in Openshift installation.It constantly logs following messages:
Describe what you expected: No error logs
Steps to reproduce the issue: Run agent using docker image
datadog/agent:7-jmx
on OpenshiftAdditional environment details (Operating System, Cloud provider, etc):