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

Runtime errors on macOS with protobuf 21.2 #3242

Closed
scpeters opened this issue Jul 21, 2022 · 2 comments
Closed

Runtime errors on macOS with protobuf 21.2 #3242

scpeters opened this issue Jul 21, 2022 · 2 comments

Comments

@scpeters
Copy link
Member

Protobuf version 21.2 was recently merged in homebrew-core, and since that time there have been run-time errors in all gazebo tests that link against protobuf with lazy symbol binding errors like the following:

1: [ RUN      ] MsgsTest.Msg
1: dyld: lazy symbol binding failed: Symbol not found: __ZN6google8protobuf8internal16InternalMetadataD1Ev
1:   Referenced from: /Users/jenkins/workspace/gazebo-ci-pr_any-homebrew-amd64/build/gazebo/msgs/libgazebo_msgs.9.dylib
1:   Expected in: flat namespace
1: 
1: dyld: Symbol not found: __ZN6google8protobuf8internal16InternalMetadataD1Ev
1:   Referenced from: /Users/jenkins/workspace/gazebo-ci-pr_any-homebrew-amd64/build/gazebo/msgs/libgazebo_msgs.9.dylib
1:   Expected in: flat namespace
1: 
  1/662 Test   #1: UNIT_msgs_TEST ........................................Subprocess aborted***Exception:   0.33 sec

With c++filt the symbol __ZN6google8protobuf8internal16InternalMetadataD1Ev is translated to google::protobuf::internal::InternalMetadata::~InternalMetadata(). It turns out there is an ABI with that symbol reported in protocolbuffers/protobuf#9947 that has been fixed in the next version of protobuf (21.3). This should be fixed once the next version of protobuf is merged to homebrew-core from Homebrew/homebrew-core#106252.

@carlocab
Copy link

You can also pass -DNEDEBUG to your builds so you don't need to wait for the new version. We've applied this fix to a number of protobuf dependents in Homebrew/core.

@scpeters
Copy link
Member Author

thanks @carlocab! it looks like you've already merged 21.3 with the fix, and now my bottles are working again!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants