Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Bug]: 0.94.0 build failure #2376

Closed
remicollet opened this issue Nov 21, 2023 · 6 comments
Closed

[Bug]: 0.94.0 build failure #2376

remicollet opened this issue Nov 21, 2023 · 6 comments
Labels
🐛 bug Something isn't working

Comments

@remicollet
Copy link
Contributor

Bug report

For ZTS builds:

libtool: link:  gcc -shared  -fPIC -DPIC  components/container_id/.libs/container_id.o components/log/.libs/log.o components/sapi/.libs/sapi.o components/string_view/.libs/string_view.o zend_abstract_interface/interceptor/php8/.libs/interceptor.o zend_abstract_interface/interceptor/php8/.libs/resolver.o zend_abstract_interface/jit_utils/.libs/jit_blacklist.o zend_abstract_interface/sandbox/php8/.libs/sandbox.o zend_abstract_interface/config/.libs/config.o zend_abstract_interface/config/.libs/config_decode.o zend_abstract_interface/config/.libs/config_ini.o zend_abstract_interface/config/.libs/config_runtime.o zend_abstract_interface/env/.libs/env.o zend_abstract_interface/exceptions/.libs/exceptions.o zend_abstract_interface/headers/.libs/headers.o zend_abstract_interface/hook/.libs/hook.o zend_abstract_interface/json/.libs/json.o zend_abstract_interface/symbols/.libs/lookup.o zend_abstract_interface/symbols/.libs/call.o zend_abstract_interface/uri_normalization/.libs/uri_normalization.o zend_abstract_interface/zai_string/.libs/string.o ext/vendor/mpack/.libs/mpack.o ext/vendor/mt19937/.libs/mt19937-64.o src/dogstatsd/.libs/client.o ext/.libs/handlers_curl.o ext/hook/.libs/uhook_attributes.o ext/.libs/handlers_fiber.o ext/.libs/ddtrace.o ext/.libs/arrays.o ext/.libs/auto_flush.o ext/.libs/circuit_breaker.o ext/.libs/comms_php.o ext/.libs/compat_string.o ext/.libs/coms.o ext/.libs/configuration.o ext/.libs/ddshared.o ext/.libs/distributed_tracing_headers.o ext/.libs/dogstatsd_client.o ext/.libs/engine_api.o ext/.libs/engine_hooks.o ext/.libs/excluded_modules.o ext/.libs/handlers_api.o ext/.libs/handlers_exception.o ext/.libs/handlers_internal.o ext/.libs/handlers_pcntl.o ext/integrations/.libs/integrations.o ext/.libs/ip_extraction.o ext/.libs/logging.o ext/.libs/memory_limit.o ext/limiter/.libs/limiter.o ext/priority_sampling/.libs/priority_sampling.o ext/.libs/profiling.o ext/.libs/random.o ext/.libs/request_hooks.o ext/.libs/serializer.o ext/.libs/sidecar.o ext/.libs/signals.o ext/.libs/span.o ext/.libs/startup_logging.o ext/.libs/telemetry.o ext/tracer_tag_propagation/.libs/tracer_tag_propagation.o ext/hook/.libs/uhook.o ext/hook/.libs/uhook_legacy.o   -lcurl -lrt -lm /dev/shm/BUILD/php-pecl-datadog-trace-0.94.0/ZTS/target/tracer-release/libddtrace_php.a  -O2 -flto=auto -g -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -mno-omit-leaf-frame-pointer -Wl,-z -Wl,relro -Wl,--as-needed -Wl,-z -Wl,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes -flto -fuse-linker-plugin   -pthread -Wl,-soname -Wl,ddtrace.so -Wl,-version-script -Wl,.libs/ddtrace.ver -o .libs/ddtrace.so
/dev/shm/BUILD/php-pecl-datadog-trace-0.94.0/datadog_trace-0.94.0/ext/ddtrace.h:115:46: error: '_tsrm_ls_cache' is defined with tls model local-dynamic
  115 | extern __thread void *ATTR_TLS_LOCAL_DYNAMIC TSRMLS_CACHE;
      |                                              ^
/dev/shm/BUILD/php-pecl-datadog-trace-0.94.0/datadog_trace-0.94.0/ext/ddtrace.c:113:16: note: previously defined here as global-dynamic
  113 | TSRM_TLS void *TSRMLS_CACHE = NULL;
      |                ^
/dev/shm/BUILD/php-pecl-datadog-trace-0.94.0/datadog_trace-0.94.0/ext/ddtrace.h:115:46: error: '_tsrm_ls_cache' is defined with tls model local-dynamic
  115 | extern __thread void *ATTR_TLS_LOCAL_DYNAMIC TSRMLS_CACHE;
      |                                              ^
/dev/shm/BUILD/php-pecl-datadog-trace-0.94.0/datadog_trace-0.94.0/ext/ddtrace.c:113:16: note: previously defined here as global-dynamic
  113 | TSRM_TLS void *TSRMLS_CACHE = NULL;
      |                ^
/dev/shm/BUILD/php-pecl-datadog-trace-0.94.0/datadog_trace-0.94.0/ext/ddtrace.h:115:46: error: '_tsrm_ls_cache' is defined with tls model local-dynamic
  115 | extern __thread void *ATTR_TLS_LOCAL_DYNAMIC TSRMLS_CACHE;
      |                                              ^
/dev/shm/BUILD/php-pecl-datadog-trace-0.94.0/datadog_trace-0.94.0/ext/ddtrace.c:113:16: note: previously defined here as global-dynamic
  113 | TSRM_TLS void *TSRMLS_CACHE = NULL;
      |                ^
/dev/shm/BUILD/php-pecl-datadog-trace-0.94.0/datadog_trace-0.94.0/ext/ddtrace.h:115:46: error: '_tsrm_ls_cache' is defined with tls model local-dynamic
  115 | extern __thread void *ATTR_TLS_LOCAL_DYNAMIC TSRMLS_CACHE;
      |                                              ^
/dev/shm/BUILD/php-pecl-datadog-trace-0.94.0/datadog_trace-0.94.0/ext/ddtrace.c:113:16: note: previously defined here as global-dynamic
  113 | TSRM_TLS void *TSRMLS_CACHE = NULL;
      |                ^
/dev/shm/BUILD/php-pecl-datadog-trace-0.94.0/datadog_trace-0.94.0/ext/ddtrace.h:115:46: error: '_tsrm_ls_cache' is defined with tls model local-dynamic
  115 | extern __thread void *ATTR_TLS_LOCAL_DYNAMIC TSRMLS_CACHE;
      |                                              ^
/dev/shm/BUILD/php-pecl-datadog-trace-0.94.0/datadog_trace-0.94.0/ext/ddtrace.c:113:16: note: previously defined here as global-dynamic
  113 | TSRM_TLS void *TSRMLS_CACHE = NULL;
      |                ^
/dev/shm/BUILD/php-pecl-datadog-trace-0.94.0/datadog_trace-0.94.0/ext/ddtrace.h:115:46: error: '_tsrm_ls_cache' is defined with tls model local-dynamic
  115 | extern __thread void *ATTR_TLS_LOCAL_DYNAMIC TSRMLS_CACHE;
      |                                              ^
/dev/shm/BUILD/php-pecl-datadog-trace-0.94.0/datadog_trace-0.94.0/ext/ddtrace.c:113:16: note: previously defined here as global-dynamic
  113 | TSRM_TLS void *TSRMLS_CACHE = NULL;
      |                ^
/dev/shm/BUILD/php-pecl-datadog-trace-0.94.0/datadog_trace-0.94.0/ext/ddtrace.h:115:46: error: '_tsrm_ls_cache' is defined with tls model local-dynamic
  115 | extern __thread void *ATTR_TLS_LOCAL_DYNAMIC TSRMLS_CACHE;
      |                                              ^
/dev/shm/BUILD/php-pecl-datadog-trace-0.94.0/datadog_trace-0.94.0/ext/ddtrace.c:113:16: note: previously defined here as global-dynamic
  113 | TSRM_TLS void *TSRMLS_CACHE = NULL;
      |                ^
/dev/shm/BUILD/php-pecl-datadog-trace-0.94.0/datadog_trace-0.94.0/ext/ddtrace.h:115:46: error: '_tsrm_ls_cache' is defined with tls model local-dynamic
  115 | extern __thread void *ATTR_TLS_LOCAL_DYNAMIC TSRMLS_CACHE;
      |                                              ^
/dev/shm/BUILD/php-pecl-datadog-trace-0.94.0/datadog_trace-0.94.0/ext/ddtrace.c:113:16: note: previously defined here as global-dynamic
  113 | TSRM_TLS void *TSRMLS_CACHE = NULL;
      |                ^
/dev/shm/BUILD/php-pecl-datadog-trace-0.94.0/datadog_trace-0.94.0/ext/ddtrace.h:115:46: error: '_tsrm_ls_cache' is defined with tls model local-dynamic
  115 | extern __thread void *ATTR_TLS_LOCAL_DYNAMIC TSRMLS_CACHE;
      |                                              ^
/dev/shm/BUILD/php-pecl-datadog-trace-0.94.0/datadog_trace-0.94.0/ext/ddtrace.c:113:16: note: previously defined here as global-dynamic
  113 | TSRM_TLS void *TSRMLS_CACHE = NULL;
      |                ^
/dev/shm/BUILD/php-pecl-datadog-trace-0.94.0/datadog_trace-0.94.0/ext/ddtrace.h:115:46: error: '_tsrm_ls_cache' is defined with tls model local-dynamic
  115 | extern __thread void *ATTR_TLS_LOCAL_DYNAMIC TSRMLS_CACHE;
      |                                              ^
/dev/shm/BUILD/php-pecl-datadog-trace-0.94.0/datadog_trace-0.94.0/ext/ddtrace.c:113:16: note: previously defined here as global-dynamic
  113 | TSRM_TLS void *TSRMLS_CACHE = NULL;
      |                ^
/dev/shm/BUILD/php-pecl-datadog-trace-0.94.0/datadog_trace-0.94.0/ext/ddtrace.h:115:46: error: '_tsrm_ls_cache' is defined with tls model local-dynamic
  115 | extern __thread void *ATTR_TLS_LOCAL_DYNAMIC TSRMLS_CACHE;
      |                                              ^
/dev/shm/BUILD/php-pecl-datadog-trace-0.94.0/datadog_trace-0.94.0/ext/ddtrace.c:113:16: note: previously defined here as global-dynamic
  113 | TSRM_TLS void *TSRMLS_CACHE = NULL;
      |                ^
/dev/shm/BUILD/php-pecl-datadog-trace-0.94.0/datadog_trace-0.94.0/ext/ddtrace.h:115:46: error: '_tsrm_ls_cache' is defined with tls model local-dynamic
  115 | extern __thread void *ATTR_TLS_LOCAL_DYNAMIC TSRMLS_CACHE;
      |                                              ^
/dev/shm/BUILD/php-pecl-datadog-trace-0.94.0/datadog_trace-0.94.0/ext/ddtrace.c:113:16: note: previously defined here as global-dynamic
  113 | TSRM_TLS void *TSRMLS_CACHE = NULL;
      |                ^
/dev/shm/BUILD/php-pecl-datadog-trace-0.94.0/datadog_trace-0.94.0/ext/ddtrace.h:115:46: error: '_tsrm_ls_cache' is defined with tls model local-dynamic
  115 | extern __thread void *ATTR_TLS_LOCAL_DYNAMIC TSRMLS_CACHE;
      |                                              ^
/dev/shm/BUILD/php-pecl-datadog-trace-0.94.0/datadog_trace-0.94.0/ext/ddtrace.c:113:16: note: previously defined here as global-dynamic
  113 | TSRM_TLS void *TSRMLS_CACHE = NULL;
      |                ^
/dev/shm/BUILD/php-pecl-datadog-trace-0.94.0/datadog_trace-0.94.0/ext/ddtrace.h:115:46: error: '_tsrm_ls_cache' is defined with tls model local-dynamic
  115 | extern __thread void *ATTR_TLS_LOCAL_DYNAMIC TSRMLS_CACHE;
      |                                              ^
/dev/shm/BUILD/php-pecl-datadog-trace-0.94.0/datadog_trace-0.94.0/ext/ddtrace.c:113:16: note: previously defined here as global-dynamic
  113 | TSRM_TLS void *TSRMLS_CACHE = NULL;
      |                ^
lto-wrapper: fatal error: gcc returned 1 exit status
compilation terminated.

PHP version

8.2.12

Tracer or profiler version

0.94.0

Installed extensions

No response

Output of phpinfo()

No response

Upgrading from

No response

@remicollet remicollet added the 🐛 bug Something isn't working label Nov 21, 2023
@remicollet
Copy link
Contributor Author

Disabling LTO is a workaround

Notice: LTO is enabled by default in some distributions (Fedora, RHEL...)

@bwoebi
Copy link
Collaborator

bwoebi commented Nov 21, 2023

Does just adding it work as well like this?
d73e1a3

@bwoebi
Copy link
Collaborator

bwoebi commented Nov 21, 2023

At least I don't know whether the compiler complains about the attribute, or the attribute missing on the definition in .c file?

@remicollet
Copy link
Contributor Author

Same error with linked patch

@cataphract
Copy link
Contributor

@remicollet Can you check if #2383 fixes the problem?

@bwoebi
Copy link
Collaborator

bwoebi commented Nov 24, 2023

Closing given #2383 has been merged - thanks Remi!

@bwoebi bwoebi closed this as completed Nov 24, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🐛 bug Something isn't working
Projects
None yet
Development

No branches or pull requests

3 participants