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

fmt issue #225

Open
jq5 opened this issue Nov 29, 2021 · 4 comments
Open

fmt issue #225

jq5 opened this issue Nov 29, 2021 · 4 comments

Comments

@jq5
Copy link

jq5 commented Nov 29, 2021

Hi all,

No real bug, just an update for the README of fizz, folly and mvfst

If you are using brew on OSX and install fmt (dependency of folly), then you get errors during build, using "build_helper.sh"

ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Look in the error for "fmt::v8" or "fmt::v7" or other version of fmt.

And just run "brew remove fmt"

All builds work and all mvfst tests pass :)

Hope this helps,

J

@lnicco
Copy link
Contributor

lnicco commented Nov 29, 2021

thanks for reporting the issue @jq5

unfortunately this does not have an easy fix in the build_helper.sh script. The script does not install fmt via homebrew, and I don't believe it should uninstall any existing version either.

The right fix is probably to instruct CMake to always use the most recent version which should always be the one we install from github trunk.

another potential fix is to use the getdeps.sh build script instead, since that build system has a way to say "skip the system libs, and always rebuild dependencies". Are you able to reproduce with getdeps as well?

@jq5
Copy link
Author

jq5 commented Nov 29, 2021

Hi @lnicco

Hope all is well

Thanks for getting back.

I know its not an easy fix, I spent more of the morning try to get it to build :)

I think is might be nice to just have a comment on the README (for fizz, folly and mvfst), stating if you hit this problem in OSX, try "brew remove fmt" and re run "build_helper.sh". This puts the responsibility on the installer and not on your script.

I didn't even know that getdeps.sh existed. It's not mentioned on the README.

I'll pull a new clone and see if getdeps.sh works...

J

@jq5
Copy link
Author

jq5 commented Nov 29, 2021

unfortunately... no joy:

Building on {distro=None, distro_vers=None, fb=off, os=darwin, test=on}
Assessing boost...
Download https://versaweb.dl.sourceforge.net/project/boost/boost/1.69.0/boost_1_69_0.tar.bz2 ->
...
TransientFailure: Failed to download https://versaweb.dl.sourceforge.net/project/boost/boost/1.69.0/boost_1_69_0.tar.bz2 to .../downloads/boost-boost_1_69_0.tar.bz2: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:997)>

within a second of running the script... :(

@jq5
Copy link
Author

jq5 commented Nov 30, 2021

one other thought on this.

Seems there are versions of folly and fizz on home-brew. If someone installed those via brew, brews version of fmt would be installed by default. causing the issue.

You should be able to check if these are installed in your script, and then either use the home-brew versions or stop the script instructing the user to remove them, and then re-run the script.

maybe also do a "which fmt" to see if the wrong version is in use, and again stop the script and instruct the user :)

Have fun....

J

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