Comment 20 for bug 1875481

Revision history for this message
Kenneth Koski (knkski) wrote :

I think this points at the underlying issue:

    application-dex-auth: 12:24:02 ERROR juju.worker.caasoperator exited "dex-auth/1": executing operation "remote init": caas-unit-init for unit "dex-auth/6" with command: "/var/lib/juju/tools/jujud caas-unit-init --unit unit-dex-auth-6 --charm-dir /tmp/unit-dex-auth-6215732929/charm --upgrade" failed: sh: /var/lib/juju/tools/jujud: not found

I exec'ed into the dex-auth pod, and that file exists. However, trying to run it similarly fails with the "not found" error from sh.

After poking around a bit, I believe this is due to Alpine linux using musl, and Ubuntu using glibc. I ran "ldd /var/lib/juju/tools/jujud" and got this line:

    /lib64/ld-linux-x86-64.so.2 (0x7f3ba0a74000)

That file doesn't exist on alpine linux, instead there's a /lib/ld-musl-x86_64.so.1 file.

I was able to install a compatibility layer with "apk add libc6-compat" and it got further, but still errored out:

    # ./jujud
    Error relocating ./jujud: __vfprintf_chk: symbol not found
    Error relocating ./jujud: __fprintf_chk: symbol not found

Which is the same error messages that ldd prints out. This is probably due to different versions of libc in play.