mmh3 dependency and issues with libstdc++ / libc++ (OSX)

When installing prodigy one of its dependencies (mmh3) relies on using the “old” C++ standard library. I was able to circumvent this issue by using conda rather than pip.

But I figured it would be useful for someone to share a workaround in case they solved this issue differently.

Here’s the output for the failed pip installation

clang: warning: libstdc++ is deprecated; move to libc++ with a minimum deployment target of OS X 10.9 [-Wdeprecated]
ld: library not found for -lstdc++
clang: error: linker command failed with exit code 1 (use -v to see invocation)
error: command 'g++' failed with exit status 1

And here’s the package with which I solved the problem.

1 Like

Thanks for this! I hope we can encourage mmh3 and the rest of our compiled dependencies to publish binary wheels, to avoid this type of headache. We recently released wheels for the open-source packages we publish (spaCy, Thinc, preshed, murmurhash and cymem). We’ve put together a tool to make this easier: https://github.com/explosion/wheelwright . We’re hoping this can help other authors publish wheels, so that everything installs smoothly.

Is there a way to do this without using conda?

Any progress on this? I’m unable to use prodigy because of this…

Thanks for your patience on this. The next version of Prodigy removes the mmh3 dependency, which should resolve the issue.

We’re just testing the release now. If there are no problems, it should be up today.

1 Like

Oh yes, thanks Matt