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

gazebo bottles broken due to new tbb version #1477

Closed
mcjsk opened this issue May 21, 2021 · 7 comments
Closed

gazebo bottles broken due to new tbb version #1477

mcjsk opened this issue May 21, 2021 · 7 comments

Comments

@mcjsk
Copy link

mcjsk commented May 21, 2021

I installed gazebo11 with the default one-liner on my MBP when running Catalina, and Gazebo worked.

I just upgraded to Big Sur, then ran:

brew update && brew upgrade

Now gazebo fails to run with:

~ » gazebo
dyld: Symbol not found: __ZNSt12length_errorD1Ev
  Referenced from: /usr/local/lib/libgazebo_common.11.dylib
  Expected in: /usr/local/opt/tbb/lib/libtbb.dylib
 in /usr/local/lib/libgazebo_common.11.dylib
zsh: abort      gazebo

brew doctor output:

~ » brew doctor
Please note that these warnings are just used to help the Homebrew maintainers
with debugging if you file an issue. If everything you use Homebrew for is
working fine: please don't worry or file an issue; just ignore this. Thanks!

Warning: You have the following deprecated, cask taps tapped:
  caskroom/cask
Untap them with `brew untap`.

Warning: "config" scripts exist outside your system or Homebrew directories.
`./configure` scripts often look for *-config scripts to determine if
software packages are installed, and which additional flags to use when
compiling and linking.

Having additional scripts in your path can confuse software installed via
Homebrew if the config script overrides a system or Homebrew-provided
script of the same name. We found the following "config" scripts:
  /Library/Frameworks/Python.framework/Versions/3.7/bin/python3.7-config
  /Library/Frameworks/Python.framework/Versions/3.7/bin/python3.7m-config
  /Library/Frameworks/Python.framework/Versions/3.7/bin/python3-config

Warning: You have unlinked kegs in your Cellar.
Leaving kegs unlinked can lead to build-trouble and cause formulae that depend on
those kegs to fail to run properly once built. Run `brew link` on these:
  [email protected]

Warning: Homebrew's "sbin" was not found in your PATH but you have installed
formulae that put executables in /usr/local/sbin.
Consider setting your PATH for example like so:
  echo 'export PATH="/usr/local/sbin:$PATH"' >> ~/.zshrc

brew config output:

~ » brew config
HOMEBREW_VERSION: 3.1.8
ORIGIN: https://github.com/Homebrew/brew
HEAD: e0bfcdaf258dadaaf8c102d4cb51f23b6fdb2c4c
Last commit: 3 days ago
Core tap ORIGIN: https://github.com/Homebrew/homebrew-core
Core tap HEAD: 4a2cac5078c318dcfc0068909cdb2631172ee844
Core tap last commit: 3 hours ago
Core tap branch: master
HOMEBREW_PREFIX: /usr/local
HOMEBREW_CASK_OPTS: []
HOMEBREW_DISPLAY: /private/tmp/com.apple.launchd.gXz3AcoN9O/org.xquartz:0
HOMEBREW_MAKE_JOBS: 4
Homebrew Ruby: 2.6.3 => /usr/local/Homebrew/Library/Homebrew/vendor/portable-ruby/2.6.3_2/bin/ruby
CPU: quad-core 64-bit kabylake
Clang: 12.0.5 build 1205
Git: 2.30.1 => /Applications/Xcode.app/Contents/Developer/usr/bin/git
Curl: 7.64.1 => /usr/bin/curl
macOS: 11.3.1-x86_64
CLT: 12.5.0.0.1.1617976050
Xcode: 12.5
@scpeters scpeters changed the title macOS Big Sur gazebo11 runtime failure => dyld: Symbol not found: __ZNSt12length_errorD1Ev gazebo bottles broken due to new tbb version May 21, 2021
@scpeters
Copy link
Member

thanks I had just noticed this and had started filling out a new issue; I'll add my comments here

@scpeters
Copy link
Member

There has been a new tbb version merged in Homebrew/homebrew-core#77662, which has caused our gazebo bottles to break:

dyld: Symbol not found: __ZNSt12length_errorD1Ev
  Referenced from: /usr/local/lib/libgazebo_common.11.dylib
  Expected in: /usr/local/opt/tbb/lib/libtbb.dylib
 in /usr/local/lib/libgazebo_common.11.dylib
Error: osrf/simulation/gazebo11: failed

Furthermore, it appears that the API has changed and gazebo doesn't build from source against this new version in the tbb formula:

gazebo/transport/Connection.hh:57:65: error: expected class name
    class GZ_TRANSPORT_VISIBLE ConnectionReadTask : public tbb::task
                                                                ^

Fortunately, they added a versioned tbb@2020 formula in Homebrew/homebrew-core#77662, so I think we should be able to use that with gazebo11

scpeters added a commit to scpeters/homebrew-simulation that referenced this issue May 21, 2021
scpeters added a commit that referenced this issue May 21, 2021
@scpeters
Copy link
Member

I've removed the broken bottles in #1478 and will update the gazebo formulae to use tbb@2020 in a subsequent PR

@scpeters
Copy link
Member

upstream issue: gazebosim/gazebo-classic#2867

@scpeters
Copy link
Member

gazebo11 bottle updated in #1479

scpeters added a commit to gazebo-tooling/release-tools that referenced this issue May 21, 2021
See discussion in the following issue:
osrf/homebrew-simulation#1477

This was needed by the gazebo11 test in
osrf/homebrew-simulation#1479

Signed-off-by: Steve Peters <[email protected]>
@mcjsk
Copy link
Author

mcjsk commented May 22, 2021

Thanks, @scpeters. This is now fixed.

@tenggyut
Copy link

this is still a problem, because other project may use gazebo headers to impelement plugins.....tbb@2020 dont have header files in /usr/local/include

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

3 participants