ingress-nginx: An error occurred between opentelemetry modules

NGINX Ingress controller version (exec into the pod and run nginx-ingress-controller --version.):

bash-5.1$ ./nginx-ingress-controller --version
-------------------------------------------------------------------------------
NGINX Ingress controller
  Release:       v1.1.3
  Build:         9d3a285f19a704524439c75b947e2189406565ab
  Repository:    https://github.com/kubernetes/ingress-nginx
  nginx version: nginx/1.19.10

-------------------------------------------------------------------------------

[root@trace1 ingress-nginx]# kubectl version
Client Version: version.Info{Major:"1", Minor:"22", GitVersion:"v1.22.8", GitCommit:"7061dbbf75f9f82e8ab21f9be7e8ffcaae8e0d44", GitTreeState:"clean", BuildDate:"2022-03-16T14:10:06Z", GoVersion:"go1.16.15", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"22", GitVersion:"v1.22.8", GitCommit:"7061dbbf75f9f82e8ab21f9be7e8ffcaae8e0d44", GitTreeState:"clean", BuildDate:"2022-03-16T14:04:34Z", GoVersion:"go1.16.15", Compiler:"gc", Platform:"linux/amd64"}

Environment:

  • Cloud provider or hardware configuration:
  • baremetal, kubernetes on centos7
[root@trace1 ingress-nginx]# cat /etc/*release
CentOS Linux release 7.9.2009 (Core)
NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"

CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"

CentOS Linux release 7.9.2009 (Core)
CentOS Linux release 7.9.2009 (Core)
  • Cloud provider or hardware configuration:

  • Kernel (e.g. uname -a):

  [root@trace1 ingress-nginx]# uname -a
Linux trace1 3.10.0-1160.59.1.el7.x86_64 #1 SMP Wed Feb 23 16:47:03 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
  • Install tools:

    • Please mention how/where was the cluster created like kubeadm/kops/minikube/kind etc.
    • kubespray 2.18
    • helm chart
  • Basic cluster related info:

    • kubectl get nodes -o wide
  [root@trace1 ingress-nginx]# kubectl get nodes
NAME     STATUS   ROLES                  AGE   VERSION
trace1   Ready    control-plane,master   3d    v1.22.8
trace2   Ready    <none>                 3d    v1.22.8
  • How was the ingress-nginx-controller installed:
    • If helm was used then please show output of helm ls -A | grep -i ingress
git clone https://github.com/kubernetes/ingress-nginx.git
cd ingress-nginx/charts/ingress-nginx
cat << EOF >> extra.yml 
  extraModules:
  - name: opentelemetry
    image: gcr.io/k8s-staging-ingress-nginx/opentelemetry:v20220331-controller-v1.1.2-36-g7517b7ecf
EOF

helm install ingress-nginx . -f extra.yml`


[root@trace1 ingress-nginx]# helm ls -A
NAME            NAMESPACE       REVISION        UPDATED                                 STATUS          CHART                  APP VERSION
ingress-nginx   default         1               2022-04-06 05:03:26.400791535 +0000 UTC deployed        ingress-nginx-4.0.19   1.1.3
  • If helm was used then please show output of helm -n <ingresscontrollernamepspace> get values <helmreleasename>
[root@trace1 ingress-nginx]# helm get values ingress-nginx
USER-SUPPLIED VALUES:
null
  • If helm was not used, then copy/paste the complete precise command used to install the controller, along with the flags and options used

  • if you have more than one instance of the ingress-nginx-controller installed in the same cluster, please provide details for all the instances

  • Current State of the controller:

    • kubectl describe ingressclasses
    • kubectl -n <ingresscontrollernamespace> get all -A -o wide
    • kubectl -n <ingresscontrollernamespace> describe po <ingresscontrollerpodname>
  [root@trace1 ingress-nginx]# kubectl get po -n default
NAME                                        READY   STATUS    RESTARTS   AGE
ingress-nginx-controller-5c5846d6f7-2b7gr   1/1     Running   0          20m

[root@trace1 ingress-nginx]# kubectl describe po ingress-nginx-controller-5c5846d6f7-2b7gr 
Name:         ingress-nginx-controller-5c5846d6f7-2b7gr
Namespace:    default
Priority:     0
Node:         trace2/192.168.16.69
Start Time:   Wed, 06 Apr 2022 05:03:28 +0000
Labels:       app.kubernetes.io/component=controller
              app.kubernetes.io/instance=ingress-nginx
              app.kubernetes.io/name=ingress-nginx
              pod-template-hash=5c5846d6f7
Annotations:  cni.projectcalico.org/containerID: 6446671f8ac137a1024148588551902e25e715c3a22f35cbed1544a9a096682a
              cni.projectcalico.org/podIP: 10.233.94.74/32
              cni.projectcalico.org/podIPs: 10.233.94.74/32
Status:       Running
IP:           10.233.94.74
IPs:
  IP:           10.233.94.74
Controlled By:  ReplicaSet/ingress-nginx-controller-5c5846d6f7
Init Containers:
  opentelemetry:
    Container ID:  containerd://24b7aa7186e49c44cfa5ba59f7a580ac4e61f9f527e2052176d927196559b752
    Image:         yjkim1ntels/ingress-nginx:opentelemetry
    Image ID:      docker.io/yjkim1ntels/ingress-nginx@sha256:d86b3679ad13c510d5991f5e2c6e34dc5d2e957e60b493487cff875a138ed806
    Port:          <none>
    Host Port:     <none>
    Command:
      sh
      -c
      /usr/local/bin/init_module.sh
    State:          Terminated
      Reason:       Completed
      Exit Code:    0
      Started:      Wed, 06 Apr 2022 05:03:34 +0000
      Finished:     Wed, 06 Apr 2022 05:03:34 +0000
    Ready:          True
    Restart Count:  0
    Environment:    <none>
    Mounts:
      /modules_mount from modules (rw)
      /var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-xn5cv (ro)
Containers:
  controller:
    Container ID:  containerd://96113bb6bdbd35d91534ef40c5794d2ac1c551b06b64bd0d91dbb57c4042453f
    Image:         k8s.gcr.io/ingress-nginx/controller:v1.1.3@sha256:31f47c1e202b39fadecf822a9b76370bd4baed199a005b3e7d4d1455f4fd3fe2
    Image ID:      k8s.gcr.io/ingress-nginx/controller@sha256:31f47c1e202b39fadecf822a9b76370bd4baed199a005b3e7d4d1455f4fd3fe2
    Ports:         80/TCP, 443/TCP, 8443/TCP
    Host Ports:    0/TCP, 0/TCP, 0/TCP
    Args:
      /nginx-ingress-controller
      --publish-service=$(POD_NAMESPACE)/ingress-nginx-controller
      --election-id=ingress-controller-leader
      --controller-class=k8s.io/ingress-nginx
      --ingress-class=nginx
      --configmap=$(POD_NAMESPACE)/ingress-nginx-controller
      --validating-webhook=:8443
      --validating-webhook-certificate=/usr/local/certificates/cert
      --validating-webhook-key=/usr/local/certificates/key
    State:          Running
      Started:      Wed, 06 Apr 2022 05:03:35 +0000
    Ready:          True
    Restart Count:  0
    Requests:
      cpu:      100m
      memory:   90Mi
    Liveness:   http-get http://:10254/healthz delay=10s timeout=1s period=10s #success=1 #failure=5
    Readiness:  http-get http://:10254/healthz delay=10s timeout=1s period=10s #success=1 #failure=3
    Environment:
      POD_NAME:       ingress-nginx-controller-5c5846d6f7-2b7gr (v1:metadata.name)
      POD_NAMESPACE:  default (v1:metadata.namespace)
      LD_PRELOAD:     /usr/local/lib/libmimalloc.so
    Mounts:
      /modules_mount from modules (rw)
      /usr/local/certificates/ from webhook-cert (ro)
      /var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-xn5cv (ro)
Conditions:
  Type              Status
  Initialized       True 
  Ready             True 
  ContainersReady   True 
  PodScheduled      True
Volumes:
  modules:
    Type:       EmptyDir (a temporary directory that shares a pod's lifetime)
    Medium:
    SizeLimit:  <unset>
  webhook-cert:
    Type:        Secret (a volume populated by a Secret)
    SecretName:  ingress-nginx-admission
    Optional:    false
  kube-api-access-xn5cv:
    Type:                    Projected (a volume that contains injected data from multiple sources)
    TokenExpirationSeconds:  3607
    ConfigMapName:           kube-root-ca.crt
    ConfigMapOptional:       <nil>
    DownwardAPI:             true
QoS Class:                   Burstable
Node-Selectors:              kubernetes.io/os=linux
Tolerations:                 node.kubernetes.io/not-ready:NoExecute op=Exists for 300s
                             node.kubernetes.io/unreachable:NoExecute op=Exists for 300s
Events:
  Type    Reason     Age   From                      Message
  ----    ------     ----  ----                      -------
  Normal  Scheduled  20m   default-scheduler         Successfully assigned default/ingress-nginx-controller-5c5846d6f7-2b7gr to trace2
  Normal  Pulling    20m   kubelet                   Pulling image "yjkim1ntels/ingress-nginx:opentelemetry"
  Normal  Pulled     20m   kubelet                   Successfully pulled image "yjkim1ntels/ingress-nginx:opentelemetry" in 5.495976532s
  Normal  Created    20m   kubelet                   Created container opentelemetry
  Normal  Started    20m   kubelet                   Started container opentelemetry
  Normal  Pulled     20m   kubelet                   Container image "k8s.gcr.io/ingress-nginx/controller:v1.1.3@sha256:31f47c1e202b39fadecf822a9b76370bd4baed199a005b3e7d4d1455f4fd3fe2" already present on machine
  Normal  Created    20m   kubelet                   Created container controller
  Normal  Started    20m   kubelet                   Started container controller
  Normal  RELOAD     20m   nginx-ingress-controller  NGINX reload triggered due to a change in configuration

What happened:

  • An error occurred while adding the openteletry module as a sidecar to ingress-nginx.
ls -al /modules_mount/etc/nginx/modules/modules/otel_ngx_module.so
-rwxr-xr-x    1 root     root       8077416 Apr  6 04:20 /modules_mount/etc/nginx/modules/modules/otel_ngx_module.so

# add nginx.conf load_module 

bash-5.1$ cat nginx.conf | head -n 3
load_module /modules_mount/etc/nginx/modules/modules/otel_ngx_module.so;
# Configuration checksum: 6642706386070326205

nginx -s reload
 
# error 
2022/04/06 04:45:48 [emerg] 619#619: dlopen() "/modules_mount/etc/nginx/modules/modules/otel_ngx_module.so" failed (Error relocating /modules_mount/etc/nginx/modules/modules/otel_ngx_module.so: _ZN13opentelemetry5proto5trace2v14Span8CopyFromERKS3_: symbol not found) in /etc/nginx/nginx.conf:1
nginx: [emerg] dlopen() "/modules_mount/etc/nginx/modules/modules/otel_ngx_module.so" failed (Error relocating /modules_mount/etc/nginx/modules/modules/otel_ngx_module.so: _ZN13opentelemetry5proto5trace2v14Span8CopyFromERKS3_: symbol not found) in /etc/nginx/nginx.conf:1

What you expected to happen:

  • I want the nginx-ingress-controller and opentelemetry module to work together.

About this issue

  • Original URL
  • State: closed
  • Created 2 years ago
  • Comments: 48 (44 by maintainers)

Most upvoted comments

@longwuyuan I can confirm that on the latest image gcr.io/k8s-staging-ingress-nginx/opentelemetry:v20220906-controller-v1.3.1-3-g981ce38a7 problem with libopentelemetry_exporter_otlp_grpc.so is reproducible.

@esigo only Otel_ngx_module.so. We build our own nginx

@kuzaxak This issue is closed. Please track all opentelemetry things in https://github.com/kubernetes/ingress-nginx/issues/9016

I finally got a local version of the nginx controller running with the opentelemetry sidecar. Changes done to get it working can be checked at https://github.com/Tobrek/ingress-nginx/commit/555cb568026cbc25421b95e499a2df168105c0c8 Before anybody say something … I know that this is no final solution. There are some open points (e.g. nginx.tmpl must be adapted to load the module when the sidecar is configured. Or i just disabled the checksum check for building the opentelemetry-cpp-contrib.). But for me it was just important to get a running version with otel active. I will not work on a proper solution, because i have what i need for the moment (and that a task for people who knows what they are doing 😄 ). This solution should be just an idea how to get it working. tobrek.md contains a description of the steps how I build the different images, the otel config k8s configmap and helm command / values.

Hope this helps and i’m looking forward for a released nginx version with opentelemetry sidecar 🙂

We can edit the Dockerfole for opentelemetry under /images and promote again. What would be a good way to get a list of missing modules.

Thanks, ; Long

On Wed, 6 Apr, 2022, 1:21 PM oct28-yjkim, @.***> wrote:

@dmathieu https://github.com/dmathieu I got a err message

/tmp/build # cd nginx-1.19.10/ /tmp/build/nginx-1.19.10 # ls CHANGES LICENSE README conf contrib man src CHANGES.ru Makefile auto configure html objs /tmp/build/nginx-1.19.10 # ./configure ‘–prefix=/usr/local/nginx’ --with-compat ‘–add-dynamic-module=/tmp/build/opent elemetry-cpp-contrib-2656a4072e257b6794da86ddd1b773b49f5517b3/instrumentation/nginx’ checking for OS

  • Linux 3.10.0-1160.59.1.el7.x86_64 x86_64 checking for C compiler … found
  • using GNU C compiler
  • gcc version: 10.3.1 20210424 (Alpine 10.3.1_git20210424) checking for gcc -pipe switch … found checking for -Wl,-E switch … found checking for gcc builtin atomic operations … found checking for C99 variadic macros … found checking for gcc variadic macros … found checking for gcc builtin 64 bit byteswap … found checking for unistd.h … found checking for inttypes.h … found checking for limits.h … found checking for sys/filio.h … not found checking for sys/param.h … found checking for sys/mount.h … found checking for sys/statvfs.h … found checking for crypt.h … found checking for Linux specific features checking for epoll … found checking for EPOLLRDHUP … found checking for EPOLLEXCLUSIVE … found checking for eventfd() … found checking for O_PATH … found checking for sendfile() … found checking for sendfile64() … found checking for sys/prctl.h … found checking for prctl(PR_SET_DUMPABLE) … found checking for prctl(PR_SET_KEEPCAPS) … found checking for capabilities … not found checking for crypt_r() … found checking for sys/vfs.h … found checking for nobody group … found checking for poll() … found checking for /dev/poll … not found checking for kqueue … not found checking for crypt() … found checking for F_READAHEAD … not found checking for posix_fadvise() … found checking for O_DIRECT … found checking for F_NOCACHE … not found checking for directio() … not found checking for statfs() … found checking for statvfs() … found checking for dlopen() … found checking for sched_yield() … found checking for sched_setaffinity() … found checking for SO_SETFIB … not found checking for SO_REUSEPORT … found checking for SO_ACCEPTFILTER … not found checking for SO_BINDANY … not found checking for IP_TRANSPARENT … found checking for IP_BINDANY … not found checking for IP_BIND_ADDRESS_NO_PORT … found checking for IP_RECVDSTADDR … not found checking for IP_SENDSRCADDR … not found checking for IP_PKTINFO … found checking for IPV6_RECVPKTINFO … found checking for TCP_DEFER_ACCEPT … found checking for TCP_KEEPIDLE … found checking for TCP_FASTOPEN … found checking for TCP_INFO … found checking for accept4() … found checking for int size … 4 bytes checking for long size … 8 bytes checking for long long size … 8 bytes checking for void * size … 8 bytes checking for uint32_t … found checking for uint64_t … found checking for sig_atomic_t … found checking for sig_atomic_t size … 4 bytes checking for socklen_t … found checking for in_addr_t … found checking for in_port_t … found checking for rlim_t … found checking for uintptr_t … uintptr_t found checking for system byte ordering … little endian checking for size_t size … 8 bytes checking for off_t size … 8 bytes checking for time_t size … 8 bytes checking for AF_INET6 … found checking for setproctitle() … not found checking for pread() … found checking for pwrite() … found checking for pwritev() … found checking for strerrordesc_np() … not found checking for sys_nerr … not found checking for _sys_nerr … not found checking for localtime_r() … found checking for clock_gettime(CLOCK_MONOTONIC) … found checking for posix_memalign() … found checking for memalign() … found checking for mmap(MAP_ANON|MAP_SHARED) … found checking for mmap(“/dev/zero”, MAP_SHARED) … found checking for System V shared memory … found checking for POSIX semaphores … found checking for struct msghdr.msg_control … found checking for ioctl(FIONBIO) … found checking for ioctl(FIONREAD) … found checking for struct tm.tm_gmtoff … found checking for struct dirent.d_namlen … not found checking for struct dirent.d_type … found checking for sysconf(_SC_NPROCESSORS_ONLN) … found checking for sysconf(_SC_LEVEL1_DCACHE_LINESIZE) … not found checking for openat(), fstatat() … found checking for getaddrinfo() … found configuring additional dynamic modules adding module in /tmp/build/opentelemetry-cpp-contrib-2656a4072e257b6794da86ddd1b773b49f5517b3/instrumentation/nginx
  • otel_ngx_module was configured checking for PCRE library … found checking for PCRE JIT support … found checking for zlib library … found creating objs/Makefile

Configuration summary

  • using system PCRE library
  • OpenSSL library is not used
  • using system zlib library

nginx path prefix: “/usr/local/nginx” nginx binary file: “/usr/local/nginx/sbin/nginx” nginx modules path: “/usr/local/nginx/modules” nginx configuration prefix: “/usr/local/nginx/conf” nginx configuration file: “/usr/local/nginx/conf/nginx.conf” nginx pid file: “/usr/local/nginx/logs/nginx.pid” nginx error log file: “/usr/local/nginx/logs/error.log” nginx http access log file: “/usr/local/nginx/logs/access.log” nginx http client request body temporary files: “client_body_temp” nginx http proxy temporary files: “proxy_temp” nginx http fastcgi temporary files: “fastcgi_temp” nginx http uwsgi temporary files: “uwsgi_temp” nginx http scgi temporary files: “scgi_temp”

/tmp/build/nginx-1.19.10 # ls -al /tmp/build/opentelemetry-cpp-contrib-2656a4072e257b6794da86ddd1b773b49f5517b3/instrum entation/nginx/ CMakeLists.txt README.md ci/ config nginx.cmake src/ test/

/tmp/build/nginx-1.19.10 # ls -al /tmp/build/opentelemetry-cpp-contrib-2656a4072e257b6794da86ddd1b773b49f5517b3/instrum entation/nginx/ total 24 drwxrwxr-x 5 root root 111 Apr 6 07:07 . drwxrwxr-x 5 root root 61 Apr 6 07:07 … -rw-rw-r-- 1 root root 1019 Mar 29 04:20 CMakeLists.txt -rw-rw-r-- 1 root root 8090 Mar 29 04:20 README.md drwxrwxr-x 2 root root 34 Apr 6 07:07 ci -rw-rw-r-- 1 root root 908 Mar 29 04:20 config -rw-rw-r-- 1 root root 1170 Mar 29 04:20 nginx.cmake drwxrwxr-x 2 root root 4096 Apr 6 07:07 src drwxrwxr-x 6 root root 112 Apr 6 07:07 test

/tmp/build/nginx-1.19.10 # make modules make -f objs/Makefile modules make[1]: Entering directory ‘/tmp/build/nginx-1.19.10’ cc -c -fPIC -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs -I src/http -I src/http/modules
-o objs/addon/src/agent_config.o
/tmp/build/opentelemetry-cpp-contrib-2656a4072e257b6794da86ddd1b773b49f5517b3/instrumentation/nginx/src/agent_config.cpp cc -c -fPIC -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs -I src/http -I src/http/modules
-o objs/addon/src/nginx_config.o
/tmp/build/opentelemetry-cpp-contrib-2656a4072e257b6794da86ddd1b773b49f5517b3/instrumentation/nginx/src/nginx_config.cpp cc -c -fPIC -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs -I src/http -I src/http/modules
-o objs/addon/src/otel_ngx_module.o
/tmp/build/opentelemetry-cpp-contrib-2656a4072e257b6794da86ddd1b773b49f5517b3/instrumentation/nginx/src/otel_ngx_module.cpp cc -c -fPIC -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs -I src/http -I src/http/modules
-o objs/addon/src/propagate.o
/tmp/build/opentelemetry-cpp-contrib-2656a4072e257b6794da86ddd1b773b49f5517b3/instrumentation/nginx/src/propagate.cpp cc -c -fPIC -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs -I src/http -I src/http/modules
-o objs/addon/src/script.o
/tmp/build/opentelemetry-cpp-contrib-2656a4072e257b6794da86ddd1b773b49f5517b3/instrumentation/nginx/src/script.cpp cc -c -fPIC -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs -I src/http -I src/http/modules
-o objs/addon/src/toml.o
/tmp/build/opentelemetry-cpp-contrib-2656a4072e257b6794da86ddd1b773b49f5517b3/instrumentation/nginx/src/toml.c cc -c -fPIC -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs -I src/http -I src/http/modules
-o objs/addon/src/trace_context.o
/tmp/build/opentelemetry-cpp-contrib-2656a4072e257b6794da86ddd1b773b49f5517b3/instrumentation/nginx/src/trace_context.cpp cc -c -fPIC -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs -I src/http -I src/http/modules
-o objs/otel_ngx_module_modules.o
objs/otel_ngx_module_modules.c cc -o objs/otel_ngx_module.so
objs/addon/src/agent_config.o
objs/addon/src/nginx_config.o
objs/addon/src/otel_ngx_module.o
objs/addon/src/propagate.o
objs/addon/src/script.o
objs/addon/src/toml.o
objs/addon/src/trace_context.o
objs/otel_ngx_module_modules.o
-lstdc++ -lopentelemetry_common -lopentelemetry_resources -lopentelemetry_trace -lopentelemetry_exporter_otlp_grpc -lopentelemetry_otlp_recordable
-shared /usr/lib/gcc/x86_64-alpine-linux-musl/10.3.1/…/…/…/…/x86_64-alpine-linux-musl/bin/ld: cannot find -lopentelemetry_common /usr/lib/gcc/x86_64-alpine-linux-musl/10.3.1/…/…/…/…/x86_64-alpine-linux-musl/bin/ld: cannot find -lopentelemetry_resources /usr/lib/gcc/x86_64-alpine-linux-musl/10.3.1/…/…/…/…/x86_64-alpine-linux-musl/bin/ld: cannot find -lopentelemetry_trace /usr/lib/gcc/x86_64-alpine-linux-musl/10.3.1/…/…/…/…/x86_64-alpine-linux-musl/bin/ld: cannot find -lopentelemetry_exporter_otlp_grpc /usr/lib/gcc/x86_64-alpine-linux-musl/10.3.1/…/…/…/…/x86_64-alpine-linux-musl/bin/ld: cannot find -lopentelemetry_otlp_recordable collect2: error: ld returned 1 exit status make[1]: *** [objs/Makefile:1210: objs/otel_ngx_module.so] Error 1 make[1]: Leaving directory ‘/tmp/build/nginx-1.19.10’ make: *** [Makefile:16: modules] Error 2

Is this a related error?

— Reply to this email directly, view it on GitHub https://github.com/kubernetes/ingress-nginx/issues/8437#issuecomment-1089946230, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABGZVWXAIFMN7CUNJQAE5HTVDU7A7ANCNFSM5SU3ENIQ . You are receiving this because you commented.Message ID: @.***>