DataDog/dd-trace-php

[BUG] libexecinfo no longer available on alpine 3.17

silvervest opened this issue · 8 comments

Bug description

It appears that with Alpine 3.17, the libexecinfo package has been removed entirely, thus causing the dd-trace-php apk package and install scripts to fail.

6b9cf11aaac5:~# apk update
fetch https://dl-cdn.alpinelinux.org/alpine/v3.17/main/x86_64/APKINDEX.tar.gz
fetch https://dl-cdn.alpinelinux.org/alpine/v3.17/community/x86_64/APKINDEX.tar.gz
v3.17.0-74-g4470818ef5 [https://dl-cdn.alpinelinux.org/alpine/v3.17/main]
v3.17.0-73-g7a30a0c9ee [https://dl-cdn.alpinelinux.org/alpine/v3.17/community]
OK: 17804 distinct packages available
6b9cf11aaac5:~# apk add libexecinfo
ERROR: unable to select packages:
  libexecinfo (no such package):
    required by: world[libexecinfo]
6b9cf11aaac5:~# php datadog-setup.php --php-bin=all
ERROR: Required library 'libexecinfo' not found.

6b9cf11aaac5:~# apk add --allow-untrusted datadog-php-tracer_0.81.1_x86_64.apk
ERROR: unable to select packages:
  libexecinfo (no such package):
    required by: datadog-php-tracer-0.81.1[libexecinfo]

Alpine info detailing the removal:

I attempted to remove this dependency check in the datadog-setup.php script, but the built ddtrace extensions will fail with Error loading shared library libexecinfo.so.1: No such file or directory

OS info

6b9cf11aaac5:~# cat /etc/os-release | grep -E "(NAME)|(VERSION)"
NAME="Alpine Linux"
VERSION_ID=3.17.0
PRETTY_NAME="Alpine Linux v3.17"

We caught this early this week, but wondered if it was just a transient issue given how new the release was. Seems like it's not transient, but wasn't called out in release notes. Will have to comb through what the right thing to do is.

A starting point to look through:

FWIW this blocked our deployments temporarily as the php:fpm-alpine docker alpine image updated from 3.16 to 3.17, so we had to lock to php:fpm-alpine3.16
Not a horrible problem, but not ideal

The tentative plan will be drop the feature which needs this when building for Alpine Linux. The feature is optional, and based on the bug reports I linked, unwinding had some technical issues even in Alpine versions which had libexecinfo.

Faced the same issue last week, just subscribed to this GitHub Issue.

Keep up the good work 👍

jbiel commented

This package is also missing from Alpine edge release, so it's likely to be gone going forward.

By the way, we have quite a few team members out for holidays or unplanned sickness, so please be patient with us on this one!

Hey @silvervest,

0.83.0 has been released now, removing the libexecinfo dependency for alpine.

Thank you @bwoebi and @morrisonlevi , much appreciated!