-
Notifications
You must be signed in to change notification settings - Fork 1.5k
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
Compilation: strange behaviour on macos Catalina 10.15.7 #3168
Comments
Both of those errors seems like an error in your toolchain. Have you asked homebrew developers? (which is where I assume you got |
Very strange - the link error looks almost spurious, at least I do not understand why it would fail to build only the single-precision complex BLAS3 test after successful compilation of the single and double precision real BLAS3 tests with the exact same options and libraries. And neither of these would require thread-local storage support in any way. As |
Do you have multiple versions of homebrew gcc installed (if that is even possible), or did you run a |
Hello Isuru and Martin, Thanks for getting back to me so quickly! My setup is perhaps a little atypical for macos as I'm ultimately trying to mimic the environment of the HPC cluster I have access to. I use Enironment Modules http://modules.sourceforge.net/ to "load" the compiler toolchain into my environment, this does the following (output from module-whatis {The GNU Compiler Collection (GCC) Version 10.2.0 }
setenv GCC_HOME /usr/local/Cellar/gcc/10.2.0_3
setenv GCC_VERSION 10.2.0
setenv CC gcc-10
setenv CXX g++-10
setenv F90 gfortran-10
setenv F77 gfortran-10
setenv FC gfortran-10
prepend-path PATH /usr/local/Cellar/gcc/10.2.0_3/bin
prepend-path LD_LIBRARY_PATH /usr/local/Cellar/gcc/10.2.0_3/lib/gcc/10
prepend-path LIBRARY_PATH /usr/local/Cellar/gcc/10.2.0_3/lib/gcc/10 where Loading toolchains in this way avoids possible conflicts as only one may be loaded at a time. To your question @martin-frbg about a possible "make clean" error, at first I thought that was a possiblilty so I create a separate directory for each build configuration and copy over the unconfigured source tree from If this is a bug in the Homebrew gcc installation then I would be more than happy to open an issue with them and keep you posted. Let me know if that's something you would like me to do. |
The fact that |
As isuruf suggested, please dump your environment to check the active settings for LIBRARY_PATH and LD_LIBRARY_PATH, probably at least one of your settings did not work out as intended. I have added a gcc10,gfortran10,USE_THREADS=0 build to our Azure CI in PR #3166 and that job succeeded. |
Hombrew places symlinks in So in theory But I agree, clearly something is not right with my setup. I will do some more digging. Since this does not appear to actually be a bug in OpenBLAS I'm happy for you to close the issue. |
Do you have MACOSX_DEPLOYMENT_TARGET` env variable set? |
Ah, I don't. Let me give that a try. |
So setting
persists. |
|
Not sure if OSX has |
It turns out that symbol |
|
Well that must be issue, there is no libemutls_w.a alongside libgfortran in |
I have found the problem! It seems to be due to the way homebrew symlinks libraries. When I run
The bottom library The library So, to summarise libgfortran was looking for a library that does exist but via a symlink that did not. So, when I call |
Sorry for wasting both of your time on a completely avoidable bug. Thank you both again. Your suggestions were very helpful. |
Hello, I hope you are well.
I am observing some strange behaviour when I compile both v0.3.14 and v0.3.10 on macos.
I avoided using 0.3.13 as I ran into this issue: [https://github.com//issues/3037].
The compilation proceeds as expected until I reach the tests where I encounter
messages like:
dyld: lazy symbol binding failed: Symbol not found: ___emutls_get_address Referenced from: /usr/local/opt/gcc/lib/gcc/10/libgfortran.5.dylib Expected in: /usr/lib/libSystem.B.dylib
and
ld: warning: dylib (/usr/local/Cellar/gcc/10.2.0_3/lib/gcc/10/libgfortran.dylib) was built for newer macOS version (10.15) than being linked (10.8)
In addition to these messages it seems that the shared library
libopenblas_haswellp-r0.3.14.dylib
is not built at all, only the static library is built.I am using the following setup
And I called the following make command:
make CC=gcc-10 FC=gfortran-10 USE_THREADS=0
I have attached the full output of the make command, those linker messages I cited earlier appear at the end of the file.
compilation.txt
Thank you in advance for your time,
Best wishes,
John.
The text was updated successfully, but these errors were encountered: