tetratelabs / archive-envoy

Archive of Envoy® release binaries
Apache License 2.0
10 stars 4 forks source link

Envoy macOS image built on macOS 12 cannot be executed on 10.15 and 11 #41

Closed cpakulski closed 2 years ago

cpakulski commented 2 years ago

When run on macOS 10.15 and 11, Envoy binary fails complaining about missing dynamic library.

codefromthecrypt commented 2 years ago

maybe before you close this, you can paste what the error is. That way, in case upstream can make old versions link again, or this happens again, folks can know what was wrong?

Ex. this is a successful output using normal homebrew (it seems current brew version is 1.21.2)

$ otool -L /usr/local/bin/envoy
/usr/local/bin/envoy:
    /usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version 1300.23.0)
    /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1311.100.3)
    /usr/lib/libresolv.9.dylib (compatibility version 1.0.0, current version 1.0.0)
    /System/Library/Frameworks/Foundation.framework/Versions/C/Foundation (compatibility version 300.0.0, current version 1858.112.0)
    /usr/lib/libobjc.A.dylib (compatibility version 1.0.0, current version 228.0.0)
    /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (compatibility version 150.0.0, current version 1858.112.0)

It would be interesting for next time to know if otool shows a problem, or if that's deferred to executing envoy.

cpakulski commented 2 years ago

When Envoy binary built on macOS 12 is executed on macOS 10.15 or macOS11 it fails with the following error:

./envoy --version
  shell: /bin/bash --noprofile --norc -e -o pipefail {0}
dyld: Symbol not found: __ZTTNSt[3](https://github.com/tetratelabs/archive-envoy/runs/6495714281?check_suite_focus=true#step:3:3)__11[4](https://github.com/tetratelabs/archive-envoy/runs/6495714281?check_suite_focus=true#step:3:5)basic_ifstreamIcNS_11char_traitsIcEEEE
  Referenced from: /Users/runner/work/archive-envoy/archive-envoy/./envoy (which was built for Mac OS X 12.3)
  Expected in: /usr/lib/libc++.1.dylib