-
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
Segfault when running tests after compiling 0.2.3 on OSX 10.8.2 #156
Comments
Interesting compiling with just make CC=clang FC=gfortran seems to work fine. Optimization/other flags issue? Stay tuned. |
Seems to be the -ff2c flag that's doing it. |
confirmed, this: make CC="clang -mmacosx-version-min=10.6" FC="gfortran" FFLAGS="-O2 -fPIC" USE_THREAD=1 Compiles just fine, I'll see if I can get Julia to not pass the -ff2c flag and see where that gets me. |
Hi @smcallis , I am not familiar with -ff2c flag. I thinks this issue is about the calling convention, e.g. the return value of cdotc. Xianyi |
According to the man page: -ff2c
f2c) require functions that
the libgfortran library.
-ff2c with code compiled
of type default "REAL" or So it does indeed twiddle with the calling conventions, I can see how On Sun, Nov 11, 2012 at 8:28 PM, Zhang Xianyi [email protected]:
|
@smcallis have you tried to There is a tap for julia, too. It's by @staticfloat. |
I got it compiling OK without that flag, and Julia ships with it's own On Mon, Nov 12, 2012 at 6:31 AM, Samuel John [email protected]:
|
Oh, didn't know Julia vendors openblas. |
They actually pull it from github as part of the compilation and compile it On Mon, Nov 12, 2012 at 7:02 AM, Samuel John [email protected]:
|
Just a heads up to you @samueljohn; OpenBLAS 0.2.4 has a bug which has been fixed by the upcoming 0.2.5 (Currently the |
I tried to compile with the command: sudo make CC=clang FC=gfortran -j 8 the error didn't occur and finally successed |
Well, that error report was nine years ago (and even back then there should have been no reason to tell the compiler to assume unusual calling conventions that make it compatible with the ancient f2c converter) |
I'm trying to get Julia compiled, and I've run into a snag with the OpenBLAS 0.2.3 compilation:
(build with make CC="clang -mmacosx-version-min=10.6" FC="gfortran" FFLAGS="-ff2c -O2 -fPIC" USE_THREAD=1)
OPENBLAS_NUM_THREADS=1 OMP_NUM_THREADS=1 ./dblat1
Real BLAS Test Program Results
Test of subprogram number 1 DDOT
----- PASS -----
Test of subprogram number 2 DAXPY
----- PASS -----
Test of subprogram number 3 DROTG
----- PASS -----
Test of subprogram number 4 DROT
----- PASS -----
Test of subprogram number 5 DCOPY
----- PASS -----
Test of subprogram number 6 DSWAP
----- PASS -----
Test of subprogram number 7 DNRM2
----- PASS -----
Test of subprogram number 8 DASUM
----- PASS -----
Test of subprogram number 9 DSCAL
----- PASS -----
Test of subprogram number 10 IDAMAX
----- PASS -----
OPENBLAS_NUM_THREADS=1 OMP_NUM_THREADS=1 ./cblat1
Complex BLAS Test Program Results
Test of subprogram number 1 CDOTC
Program received signal SIGSEGV: Segmentation fault - invalid memory reference.
Backtrace for this error:
#0 0x100019bbe
#1 0x10001a2d4
#2 0x7fff98d598e9
gfortran -ff2c -O2 -o cblat2 cblat2.o ../libopenblas_sandybridgep-r0.2.3.a -lpthread -lgfortran -lpthread -lgfortran
gfortran -ff2c -O2 -o zblat2 zblat2.o ../libopenblas_sandybridgep-r0.2.3.a -lpthread -lgfortran -lpthread -lgfortran
rm -f ?BLAT2.SUMM
OPENBLAS_NUM_THREADS=1 OMP_NUM_THREADS=1 ./sblat2 < ./sblat2.dat
make[1]: *** [level1] Segmentation fault: 11
make[1]: *** Waiting for unfinished jobs....
OPENBLAS_NUM_THREADS=1 OMP_NUM_THREADS=1 ./dblat2 < ./dblat2.dat
OPENBLAS_NUM_THREADS=1 OMP_NUM_THREADS=1 ./cblat2 < ./cblat2.dat
OPENBLAS_NUM_THREADS=1 OMP_NUM_THREADS=1 ./zblat2 < ./zblat2.dat
rm -f ?BLAT2.SUMM
OPENBLAS_NUM_THREADS=2 ./sblat2 < ./sblat2.dat
OPENBLAS_NUM_THREADS=2 ./dblat2 < ./dblat2.dat
OPENBLAS_NUM_THREADS=2 ./cblat2 < ./cblat2.dat
OPENBLAS_NUM_THREADS=2 ./zblat2 < ./zblat2.dat
make: *** [tests] Error 2
It looks like I have to use clang to compile (it fails compiling kernels with gcc), so I'm suspecting an incompatibility between the gfortran I have and clang:
Any guidance would be appreciated!
The text was updated successfully, but these errors were encountered: