-
Notifications
You must be signed in to change notification settings - Fork 215
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
Build issue on Mac #49
Comments
Hi Volker, Could you try installing/compiling with
Cheers, |
Thanks Martin,
will give this a try when I get a chance.
Volker
…On Fri, 1 May 2020 at 11:53, Martin Weigert ***@***.***> wrote:
Hi Volker,
Could you try installing/compiling with gcc (instead of clang)?
1. Install gcc via brew install gcc
2. install stardist with gcc (assuming gcc-9 was installed in the
first step)
CC=gcc-9 CXX=g++-9 pip install stardist
Cheers,
M
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#49 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAQ3R7BOP4L5QG2KRBB5EZTRPISXDANCNFSM4MWY7NSQ>
.
|
Hi Martin, well ... I gave this a try today and failed ... the problems I ran into were not related to Stardist. I didn't even manage to install brew (and therefore gcc). Brew gave a network error when trying to download the commandline tools and downloading them manually from Apple didn't work either as I don't have an Apple Developer login. Needless to say that the user is still lagging behind with his MacOS (Mac OS 10.12). I also don't want to download the whole XCode package onto the user's laptop. I guess next time I will try removing/adding compiler flags, starting with removing |
note that you can conda install gcc |
@maweigert btw you could also provide wheels? It's a fair bit of infrastructure to get them built automatically, but to just make Mac ones for the current version you should be able to |
This has been on our todo list for a long time, but we haven't found the time to work on that.
Is it really that easy? I thought wheels should be build for some sort of a reference system to ensure compatibility. Also, macOS would be the last of my priorities because there's no GPU support for TensorFlow anyway. |
I have only a vague understanding, but for Mac, they are forward compatible, so if you build on 10.12 you should be set for future systems. You can see info about the build system for skimage wheels here. Looks like we use 10.13 actually! For Linux, there are reference systems, yes, which makes sense since Linux distros are much more varied. I don't know the situation on Windows. Linux wheels are in some sense the least important since Linux systems typically have a nice compiler environment.
That's probably the best approach. For scikit-image have an archaic mishmash of Travis and AppVeyor that is not at all fun. Probably we should switch to cibuildwheel also! |
@jni Yep, that'd be wonderful! Alas the additional hassle with the build chain was still a bit of a deterrent (as @uschmidt83 mentioned). Maybe we'll give it a try... @VolkerH I created a wheel for on my OSX machine (10.14.6), maybe it works for you: |
Just tried the wheel. Set up a new conda environment with python 3.7. Installed tensorflow and numba from conda-forge. Then pip installed the wheel. So it appears that the wheel does not bundle some libraries from the brew-installed
I also tried @jni's suggestion of installing I just wanted to report back on your suggestions, not expecting anyone to fix this, I think something is generally messed up in this user's environment. |
I am getting exactly the same error, thus preventing me from using this amazing tool in Python :-(
This build was using a gcc compiler installed in the same environment with conda. I uninstalled gcc & stardist & reinstalled the latter using the system gcc (that I installed with brew) and got an identical error message as VolkerH:
I'd really appreciate help/a fix on this as StarDist has outstanding nuclei segmentation performance |
Thanks for trying out! Yeah, looks like it didn't bundle the external OpenMP library. Not really experience with wheels, so not sure how to fix that (apart from installing some gcc). Sorry. |
Apologies, I meant to say error type. So the issue you pointed to was helpful, as it doesn't seem to be spitting out an error because of that anymore. Thank you.
Is it possible that this error might be related to HomeBrew? Found this error-related issue
|
Hmm, apologies, looks like I gave bad wheel advice... 😬 |
With which version of gcc did you install stardist? |
"Wheely bad advice!" (Pontius Pilate :) I don't have any experience with building wheels, so I highly suspect its just me not spotting the option to include all external libraries. There seems to be auditwheel for that exact purpose, yet it is only available for linux... :( |
🤣 That is a perfect joke in Python-land. 😁 |
I'm running into some gcc build errors on Mac. Debugging is a bit complicated for me as I have very limited access to the Mac.
Background:
I tried to install stardist on a facility users Mac as I built a workflow for the user that incorporates Stardist. Given the current COVID situation I tried to do this remotely and I do not currently have access to a Mac otherwise. As I can only access the Mac for short periods of time it would be nice to get an idea what would be good to try.
Steps taken:
conda install -c conda-forge tensorflow=1.15
pip install stardist
error: invalid argument '-std=c++11' not allowed with 'C/ObjC'
. I will include a longer traceback at the end.I googled the error message and can find a number of projects with similar errors (going back a while). Some seem to be related to the
llvm
version.When installing tensorflow from conda-forge:
During
pip install stardist
the following version of llvmlite is also collected.I am not sure whether they might be shadowing each other.
What to try ?
Has anyone encountered this before? As mentioned, I have limited time to try on the machine in question.
What I was going to try next time is:
llvm
-std=C++11
compiler flag as suggested here: error: invalid argument '-std=c++11' not allowed with 'C/ObjC' SeanNaren/warp-ctc#26 (comment)Other suggestions are welcome.
Full console log (create environment, install tensorflow, install stardist)
The text was updated successfully, but these errors were encountered: