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

undefined reference to `clagge_' when compiling Julia 0.3.0 on CentOS 6 #8116

Closed
chtlp opened this issue Aug 25, 2014 · 23 comments
Closed

undefined reference to `clagge_' when compiling Julia 0.3.0 on CentOS 6 #8116

chtlp opened this issue Aug 25, 2014 · 23 comments
Labels
kind:upstream The issue is with an upstream dependency, e.g. LLVM

Comments

@chtlp
Copy link

chtlp commented Aug 25, 2014

Compiled with g++ 4.7 from devtoolset. The clagge_ seem to be LAPACK functions.

Any guesses? I will provide more information if needed. Thanks!

...
 END OF TESTS
STOP 
../libopenblasp-r0.2.10.so: undefined reference to `clagge_'
../libopenblasp-r0.2.10.so: undefined reference to `clatms_'
../libopenblasp-r0.2.10.so: undefined reference to `dlagsy_'
../libopenblasp-r0.2.10.so: undefined reference to `slatms_'
../libopenblasp-r0.2.10.so: undefined reference to `zlatms_'
../libopenblasp-r0.2.10.so: undefined reference to `slagsy_'
../libopenblasp-r0.2.10.so: undefined reference to `dlagge_'
../libopenblasp-r0.2.10.so: undefined reference to `clagsy_'
../libopenblasp-r0.2.10.so: undefined reference to `claghe_'
../libopenblasp-r0.2.10.so: undefined reference to `zlagsy_'
../libopenblasp-r0.2.10.so: undefined reference to `slagge_'
../libopenblasp-r0.2.10.so: undefined reference to `zlagge_'
../libopenblasp-r0.2.10.so: undefined reference to `dlatms_'
../libopenblasp-r0.2.10.so: undefined reference to `zlaghe_'
collect2: error: ld returned 1 exit status
make[4]: *** [../libopenblasp-r0.2.10.so] Error 1
make[3]: *** [shared] Error 2
*** Clean the OpenBLAS build with 'make -C deps clean-openblas'. Rebuild with 'make OPENBLAS_USE_THREAD=0 if OpenBLAS had trouble linking libpthread.so, and with 'make OPENBLAS_TARGET_ARCH=NEHALEM' if there were errors building SandyBridge support. Both these options can also be used simultaneously. ***
make[2]: *** [openblas-v0.2.10/libopenblas.so] Error 1
make[1]: *** [julia-release] Error 2
make: *** [release] Error 2

==== UPDATE ====

I fixed the build by make clean under the openblas folder, then copied the make command for openblas and ran that command in the openblas folder. So this issue is (partly) resolved now.

linpengt@fat:~/Programs/julia-v0.3.0/deps/openblas-v0.2.10$ make CC="gcc -m64" FC="gfortran -m64" RANLIB="ranlib" FFLAGS=" -O2 -fPIC" TARGET= BINARY=64 USE_THREAD=1 GEMM_MULTITHREADING_THRESHOLD=50 NUM_THREADS=16 NO_AFFINITY=1 DYNAMIC_ARCH=1 INTERFACE64=1 || (echo "*** Clean the OpenBLAS build with 'make -C deps clean-openblas'. Rebuild with 'make OPENBLAS_USE_THREAD=0 if OpenBLAS had trouble linking libpthread.so, and with 'make OPENBLAS_TARGET_ARCH=NEHALEM' if there were errors building SandyBridge support. Both these options can also be used simultaneously. ***" && false)
@chtlp chtlp changed the title undefined reference to `clagge_' when compiling Julia 0.3.0 on CentOS 6 undefined reference to 'clagge_' when compiling Julia 0.3.0 on CentOS 6 Aug 25, 2014
@chtlp chtlp changed the title undefined reference to 'clagge_' when compiling Julia 0.3.0 on CentOS 6 undefined reference to `clagge_' when compiling Julia 0.3.0 on CentOS 6 Aug 25, 2014
@tkelman
Copy link
Contributor

tkelman commented Aug 25, 2014

What does ls deps/openblas-v0.2.10/lapack-netlib/lapacke/src/*clagge* say? Does the devtoolset contain a newer Fortran compiler too, or just gcc and g++?

@chtlp
Copy link
Author

chtlp commented Aug 25, 2014

Here is the output of ls deps/openblas-v0.2.10/lapack-netlib/lapacke/src/*clagge*. The devtoolset contains gfortran 4.7.2 as well.

linpengt@neuro1:~/Programs/julia-0.3.0-rc4$ ls deps/openblas-v0.2.10/lapack-netlib/lapacke/src/*clagge*
deps/openblas-v0.2.10/lapack-netlib/lapacke/src/lapacke_clagge.c
deps/openblas-v0.2.10/lapack-netlib/lapacke/src/lapacke_clagge.o
deps/openblas-v0.2.10/lapack-netlib/lapacke/src/lapacke_clagge_work.c
deps/openblas-v0.2.10/lapack-netlib/lapacke/src/lapacke_clagge_work.o

@tkelman
Copy link
Contributor

tkelman commented Aug 25, 2014

Hm, so the files were compiled. How about:
for i in deps/openblas-v0.2.10/libopenblas*; do echo "$i:"; nm $i | grep clagge; done

@tkelman
Copy link
Contributor

tkelman commented Aug 25, 2014

And ls deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/* ?

@chtlp
Copy link
Author

chtlp commented Aug 26, 2014

See results below (I just realized I ran the previous command on anther machine, but the results seem to be the same so no harm is done):

linpengt@fat:~/Programs/julia-v0.3.0$ ls deps/openblas-v0.2.10/lapack-netlib/lapacke/src/*clagge*
deps/openblas-v0.2.10/lapack-netlib/lapacke/src/lapacke_clagge.c
deps/openblas-v0.2.10/lapack-netlib/lapacke/src/lapacke_clagge.o
deps/openblas-v0.2.10/lapack-netlib/lapacke/src/lapacke_clagge_work.c
deps/openblas-v0.2.10/lapack-netlib/lapacke/src/lapacke_clagge_work.o

linpengt@fat:~/Programs/julia-v0.3.0$ for i in deps/openblas-v0.2.10/libopenblas*; do echo "$i:"; nm $i | grep clagge; done
deps/openblas-v0.2.10/libopenblas.a:
lapacke_clagge.o:
0000000000000000 T LAPACKE_clagge
                 U LAPACKE_clagge_work
lapacke_clagge_work.o:
                 U clagge_
0000000000000000 T LAPACKE_clagge_work
deps/openblas-v0.2.10/libopenblasp-r0.2.10.a:
lapacke_clagge.o:
0000000000000000 T LAPACKE_clagge
                 U LAPACKE_clagge_work
lapacke_clagge_work.o:
                 U clagge_
0000000000000000 T LAPACKE_clagge_work
deps/openblas-v0.2.10/libopenblasp-r0.2.10.so:
                 U clagge_
0000000001cfdf20 T LAPACKE_clagge
0000000001cfe080 T LAPACKE_clagge_work
linpengt@fat:~/Programs/julia-v0.3.0$ ls deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/*
deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/clagge.f
deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/clagge.o
deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/claghe.f
deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/claghe.o
deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/clagsy.f
deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/clagsy.o
deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/clahilb.f
deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/clahilb.o
deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/clakf2.f
deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/clakf2.o
deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/clarge.f
deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/clarge.o
deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/clarnd.f
deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/clarnd.o
deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/claror.f
deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/claror.o
deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/clarot.f
deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/clarot.o
deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/clatm1.f
deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/clatm1.o
deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/clatm2.f
deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/clatm2.o
deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/clatm3.f
deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/clatm3.o
deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/clatm5.f
deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/clatm5.o
deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/clatm6.f
deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/clatm6.o
deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/clatme.f
deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/clatme.o
deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/clatmr.f
deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/clatmr.o
deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/clatms.f
deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/clatms.o
deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/clatmt.f
deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/clatmt.o
deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/CMakeLists.txt
deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/dlagge.f
deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/dlagge.o
deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/dlagsy.f
deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/dlagsy.o
deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/dlahilb.f
deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/dlahilb.o
deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/dlakf2.f
deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/dlakf2.o
deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/dlaran.f
deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/dlaran.o
deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/dlarge.f
deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/dlarge.o
deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/dlarnd.f
deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/dlarnd.o
deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/dlaror.f
deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/dlaror.o
deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/dlarot.f
deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/dlarot.o
deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/dlatm1.f
deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/dlatm1.o
deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/dlatm2.f
deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/dlatm2.o
deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/dlatm3.f
deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/dlatm3.o
deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/dlatm5.f
deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/dlatm5.o
deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/dlatm6.f
deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/dlatm6.o
deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/dlatm7.f
deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/dlatm7.o
deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/dlatme.f
deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/dlatme.o
deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/dlatmr.f
deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/dlatmr.o
deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/dlatms.f
deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/dlatms.o
deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/dlatmt.f
deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/dlatmt.o
deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/Makefile
deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/slagge.f
deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/slagge.o
deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/slagsy.f
deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/slagsy.o
deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/slahilb.f
deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/slahilb.o
deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/slakf2.f
deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/slakf2.o
deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/slaran.f
deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/slaran.o
deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/slarge.f
deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/slarge.o
deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/slarnd.f
deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/slarnd.o
deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/slaror.f
deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/slaror.o
deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/slarot.f
deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/slarot.o
deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/slatm1.f
deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/slatm1.o
deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/slatm2.f
deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/slatm2.o
deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/slatm3.f
deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/slatm3.o
deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/slatm5.f
deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/slatm5.o
deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/slatm6.f
deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/slatm6.o
deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/slatm7.f
deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/slatm7.o
deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/slatme.f
deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/slatme.o
deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/slatmr.f
deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/slatmr.o
deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/slatms.f
deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/slatms.o
deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/slatmt.f
deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/slatmt.o
deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/zlagge.f
deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/zlagge.o
deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/zlaghe.f
deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/zlaghe.o
deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/zlagsy.f
deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/zlagsy.o
deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/zlahilb.f
deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/zlahilb.o
deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/zlakf2.f
deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/zlakf2.o
deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/zlarge.f
deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/zlarge.o
deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/zlarnd.f
deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/zlarnd.o
deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/zlaror.f
deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/zlaror.o
deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/zlarot.f
deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/zlarot.o
deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/zlatm1.f
deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/zlatm1.o
deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/zlatm2.f
deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/zlatm2.o
deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/zlatm3.f
deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/zlatm3.o
deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/zlatm5.f
deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/zlatm5.o
deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/zlatm6.f
deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/zlatm6.o
deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/zlatme.f
deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/zlatme.o
deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/zlatmr.f
deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/zlatmr.o
deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/zlatms.f
deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/zlatms.o
deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/zlatmt.f
deps/openblas-v0.2.10/lapack-netlib/TESTING/MATGEN/zlatmt.o

@tkelman
Copy link
Contributor

tkelman commented Aug 26, 2014

I'm at a bit of a loss about why clagge.o isn't ending up in the .a libraries. For lack of any better ideas, how about posting the whole log:

make -C deps distclean-openblas
rm -f nohup.out
nohup make -C deps install-openblas

then post nohup.out to a gist

@chtlp
Copy link
Author

chtlp commented Aug 26, 2014

This is a lot of text :)
https://gist.github.com/chtlp/2df130727ba1d5569742

@tkelman
Copy link
Contributor

tkelman commented Aug 26, 2014

Yep, OpenBLAS is a big library. Still not sure exactly what's wrong. In a build log from my Red Hat machine, there are 8 invocations of ar -ru, but your log only has 7. The missing invocation is in the folder lapack-netlib/TESTING/MATGEN, which is where all of the missing symbols should be coming from. The problem must be in the makefile in that folder, we'll have to look into it.

@chtlp
Copy link
Author

chtlp commented Aug 27, 2014

Here is the makefile:
https://gist.github.com/chtlp/cdb72dc95a5da4d3a22a

clagge seems to be in the targets. Do I need to provide more logs?

@tkelman
Copy link
Contributor

tkelman commented Aug 27, 2014

Sorry, had to look into the makefiles to figure out what's going on. Can you post deps/openblas-v0.2.10/lapack-netlib/make.inc? I'm especially interested in the value of TMGLIB.

@tkelman
Copy link
Contributor

tkelman commented Aug 27, 2014

Also, as a sanity check, if you git clone https://github.com/xianyi/OpenBLAS to a new folder and just try make, does openblas pass its self-tests?

@chtlp
Copy link
Author

chtlp commented Aug 27, 2014

I can't build OpenBLAS on my machine either. I am on a Xeon E7-4870 machine. The processor is Nehalem, but OpenBLAS can't build Nehalem on it.

@tkelman
Copy link
Contributor

tkelman commented Aug 27, 2014

With the same error message? I'd recommend posting an issue on OpenBLAS' tracker then. https://github.com/xianyi/OpenBLAS/issues

@chtlp
Copy link
Author

chtlp commented Aug 28, 2014

Thanks. Just did: OpenMathLib/OpenBLAS#441

@wernsaar
Copy link

@chtlp
Did you ran make lapack-test in the toplevel OpenBLAS directory? Only
this command builds the binaries in the TESTING directory.

@chtlp
Copy link
Author

chtlp commented Aug 28, 2014

I just did. Had some different errors this time

          gfortran -pthread -O2 -Wall -m64 -fPIC -lm -lpthread -lgfortran -o xeigtstc \
          cchkee.o cbdt01.o cbdt02.o cbdt03.o cchkbb.o cchkbd.o cchkbk.o cchkbl.o cchkec.o cchkgg.o cchkgk.o cchkgl.o cchkhb.o cchkhs.o cchkst.o cckcsd.o cckglm.o cckgqr.o cckgsv.o ccklse.o ccsdts.o cdrges.o cdrgev.o cdrgsx.o cdrgvx.o cdrvbd.o cdrves.o cdrvev.o cdrvgg.o cdrvsg.o cdrvst.o cdrvsx.o cdrvvx.o cerrbd.o cerrec.o cerred.o cerrgg.o cerrhs.o cerrst.o cget02.o cget10.o cget22.o cget23.o cget24.o cget35.o cget36.o cget37.o cget38.o cget51.o cget52.o cget54.o cglmts.o cgqrts.o cgrqts.o cgsvts.o chbt21.o chet21.o chet22.o chpt21.o chst01.o clarfy.o clarhs.o clatm4.o clctes.o clctsx.o clsets.o csgt01.o cslect.o cstt21.o cstt22.o cunt01.o cunt03.o slafts.o slahd2.o slasum.o slatb9.o sstech.o sstect.o ssvdch.o ssvdct.o ssxt1.o alahdg.o alasum.o alasvm.o alareq.o ilaenv.o xerbla.o xlaenv.o chkxer.o ../../../libopenblas_nehalemp-r0.2.11.a \
      ../../../libopenblas_nehalemp-r0.2.11.a ../../../libopenblas_nehalemp-r0.2.11.a -lm -lpthread -lgfortran && mv xeigtstc ../xeigtstc
cchkbb.o: In function `cchkbb_':
cchkbb.f:(.text+0xcb1): undefined reference to `clatmr_'
cchkbb.f:(.text+0x1424): undefined reference to `clatms_'
cchkbb.f:(.text+0x165d): undefined reference to `clatmr_'
cchkbd.o: In function `cchkbd_':
cchkbd.f:(.text+0x16e5): undefined reference to `clatmr_'
cchkbd.f:(.text+0x1fd3): undefined reference to `clatms_'
cchkbd.f:(.text+0x20ae): undefined reference to `clatms_'
cchkbd.f:(.text+0x2142): undefined reference to `slarnd_'
cchkbd.f:(.text+0x2171): undefined reference to `slarnd_'
cchkbd.f:(.text+0x2361): undefined reference to `clatmr_'
cchkbd.f:(.text+0x2434): undefined reference to `clatms_'
cchkbd.f:(.text+0x25c5): undefined reference to `clatmr_'
cchkbd.f:(.text+0x276f): undefined reference to `clatmr_'
cchkbd.f:(.text+0x290e): undefined reference to `clatmr_'
cchkgg.o: In function `cchkgg_':
cchkgg.f:(.text+0x1189): undefined reference to `clarnd_'
cchkgg.f:(.text+0x1214): undefined reference to `clarnd_'
cchkgg.f:(.text+0x1733): undefined reference to `clarnd_'
cchkgg.f:(.text+0x1775): undefined reference to `clarnd_'
cchkgg.f:(.text+0x1994): undefined reference to `clarnd_'
cchkgg.o:cchkgg.f:(.text+0x1ac4): more undefined references to `clarnd_' follow
cchkhb.o: In function `cchkhb_':
cchkhb.f:(.text+0x157b): undefined reference to `clatms_'
cchkhb.f:(.text+0x1685): undefined reference to `clatms_'
cchkhb.f:(.text+0x1a1b): undefined reference to `clatmr_'
cchkhs.o: In function `cchkhs_':
cchkhs.f:(.text+0x2bab): undefined reference to `clatme_'
cchkhs.f:(.text+0x2f17): undefined reference to `clatmr_'
cchkhs.f:(.text+0x2fd6): undefined reference to `clatms_'
cchkst.o: In function `cchkst_':
cchkst.f:(.text+0x1d05): undefined reference to `clatms_'
cchkst.f:(.text+0x1f2a): undefined reference to `clatmr_'
cchkst.f:(.text+0x239f): undefined reference to `clatms_'
cchkst.f:(.text+0x3ef4): undefined reference to `slarnd_'
cchkst.f:(.text+0x3f36): undefined reference to `slarnd_'
cckcsd.o: In function `clacsg_':
cckcsd.f:(.text+0x4c4): undefined reference to `claror_'
cckcsd.f:(.text+0x539): undefined reference to `claror_'
cckcsd.f:(.text+0x58e): undefined reference to `claror_'
cckcsd.f:(.text+0x611): undefined reference to `claror_'
cckcsd.o: In function `cckcsd_':
cckcsd.f:(.text+0x82d): undefined reference to `slarnd_'
cckcsd.f:(.text+0xd16): undefined reference to `slaran_'
cckcsd.f:(.text+0xe0d): undefined reference to `slarnd_'
cckcsd.f:(.text+0xf39): undefined reference to `slarnd_'
cckcsd.f:(.text+0x1018): undefined reference to `claror_'
cckglm.o: In function `cckglm_':
cckglm.f:(.text+0x50b): undefined reference to `clatms_'
cckglm.f:(.text+0x69b): undefined reference to `clatms_'
cckglm.f:(.text+0x6e5): undefined reference to `clarnd_'
cckgqr.o: In function `cckgqr_':
cckgqr.f:(.text+0x381): undefined reference to `clatms_'
cckgqr.f:(.text+0x5b3): undefined reference to `clatms_'
cckgqr.f:(.text+0xa0f): undefined reference to `clatms_'
cckgqr.f:(.text+0xaf3): undefined reference to `clatms_'
cckgsv.o: In function `cckgsv_':
cckgsv.f:(.text+0x343): undefined reference to `clatms_'
cckgsv.o:cckgsv.f:(.text+0x533): more undefined references to `clatms_' follow
cdrges.o: In function `cdrges_':
cdrges.f:(.text+0x1842): undefined reference to `clarnd_'
cdrges.f:(.text+0x18d3): undefined reference to `clarnd_'
cdrges.f:(.text+0x1b13): undefined reference to `clarnd_'
cdrges.f:(.text+0x1b54): undefined reference to `clarnd_'
cdrges.f:(.text+0x1d5f): undefined reference to `clarnd_'
cdrges.o:cdrges.f:(.text+0x1e9e): more undefined references to `clarnd_' follow
cdrgsx.o: In function `cdrgsx_':
cdrgsx.f:(.text+0x8fe): undefined reference to `clatm5_'
cdrgsx.f:(.text+0x14ab): undefined reference to `clakf2_'
cdrgvx.o: In function `cdrgvx_':
cdrgvx.f:(.text+0x13b2): undefined reference to `clatm6_'
cdrvbd.o: In function `cdrvbd_':
cdrvbd.f:(.text+0x599): undefined reference to `clatms_'
cdrves.o: In function `cdrves_':
cdrves.f:(.text+0x18d8): undefined reference to `clatms_'
cdrves.f:(.text+0x1a3c): undefined reference to `clatme_'
cdrves.f:(.text+0x1d20): undefined reference to `clatmr_'
cdrves.f:(.text+0x1ed5): undefined reference to `clatmr_'
cdrvev.o: In function `cdrvev_':
cdrvev.f:(.text+0x1ed7): undefined reference to `clatme_'
cdrvev.f:(.text+0x1fda): undefined reference to `clatms_'
cdrvev.f:(.text+0x2234): undefined reference to `clatmr_'
cdrvev.f:(.text+0x23c4): undefined reference to `clatmr_'
cdrvgg.o: In function `cdrvgg_':
cdrvgg.f:(.text+0x19ef): undefined reference to `clarnd_'
cdrvgg.f:(.text+0x1a7a): undefined reference to `clarnd_'
cdrvgg.f:(.text+0x1fe3): undefined reference to `clarnd_'
cdrvgg.f:(.text+0x2025): undefined reference to `clarnd_'
cdrvgg.f:(.text+0x2245): undefined reference to `clarnd_'
cdrvgg.o:cdrvgg.f:(.text+0x236f): more undefined references to `clarnd_' follow
cdrvsg.o: In function `cdrvsg_':
cdrvsg.f:(.text+0x5bd): undefined reference to `slarnd_'
cdrvsg.f:(.text+0x60a): undefined reference to `slarnd_'
cdrvsg.f:(.text+0x733): undefined reference to `clatms_'
cdrvsg.f:(.text+0x4677): undefined reference to `clatms_'
cdrvsg.f:(.text+0x4dd3): undefined reference to `clatmr_'
cdrvst.o: In function `cdrvst_':
cdrvst.f:(.text+0x5c3): undefined reference to `slarnd_'
cdrvst.f:(.text+0x612): undefined reference to `slarnd_'
cdrvst.f:(.text+0xb70b): undefined reference to `clatms_'
cdrvst.f:(.text+0xb908): undefined reference to `clatmr_'
cdrvst.f:(.text+0xba85): undefined reference to `slarnd_'
cdrvst.f:(.text+0xbb4c): undefined reference to `clatms_'
cdrvsx.o: In function `cdrvsx_':
cdrvsx.f:(.text+0x18da): undefined reference to `clatme_'
cdrvsx.f:(.text+0x19c4): undefined reference to `clatms_'
cdrvsx.f:(.text+0x1a99): undefined reference to `clatms_'
cdrvsx.f:(.text+0x1c46): undefined reference to `clatmr_'
cdrvsx.f:(.text+0x1dec): undefined reference to `clatmr_'
cdrvvx.o: In function `cdrvvx_':
cdrvvx.f:(.text+0x1124): undefined reference to `clatme_'
cdrvvx.f:(.text+0x19f6): undefined reference to `clatms_'
cdrvvx.f:(.text+0x1ae2): undefined reference to `clatms_'
cdrvvx.f:(.text+0x1c88): undefined reference to `clatmr_'
cdrvvx.f:(.text+0x1e3c): undefined reference to `clatmr_'
clatm4.o: In function `clatm4_':
clatm4.f:(.text+0x2bb): undefined reference to `clarnd_'
clatm4.f:(.text+0x504): undefined reference to `clarnd_'
clatm4.f:(.text+0x67e): undefined reference to `clarnd_'
clatm4.f:(.text+0xab9): undefined reference to `clarnd_'
clatm4.f:(.text+0xde0): undefined reference to `slaran_'
collect2: error: ld returned 1 exit status
make[2]: *** [../xeigtstc] Error 1
make[2]: Leaving directory `/memex/linpengt/Programs/OpenBLAS/lapack-netlib/TESTING/EIG'
make[1]: *** [xeigtstc] Error 2
make[1]: Leaving directory `/memex/linpengt/Programs/OpenBLAS/lapack-netlib/TESTING'
make: *** [lapack-test] Error 2

@tkelman
Copy link
Contributor

tkelman commented Aug 28, 2014

@wernsaar the lapack-netlib/TESTING/MATGEN folder gets built because of this line https://github.com/xianyi/OpenBLAS/blob/a7126c2ce4d89c442dae602e4bcd57cb3638f100/Makefile#L219

@wernsaar
Copy link

On 28.08.2014 10:03, Tony Kelman wrote:

@wernsaar the lapack-netlib/TESTING/MATGEN folder gets built because of this line https://github.com/xianyi/OpenBLAS/blob/a7126c2ce4d89c442dae602e4bcd57cb3638f100/Makefile#L219


Reply to this email directly or view it on GitHub:
#8116 (comment)
OK,

and then type:

nm libopenblas.a|grep clagge

Here is my output:

              U clagge_
              U clagge_

clagge.o:
0000000000000000 T clagge_
lapacke_clagge.o:
0000000000000000 T LAPACKE_clagge
U LAPACKE_clagge_work
lapacke_clagge_work.o:
0000000000000000 T LAPACKE_clagge_work
U clagge_

Regards
Werner

@tkelman
Copy link
Contributor

tkelman commented Aug 28, 2014

@chtlp did that above #8116 (comment)

linpengt@fat:~/Programs/julia-v0.3.0$ for i in deps/openblas-v0.2.10/libopenblas*; do echo "$i:"; nm $i | grep clagge; done
deps/openblas-v0.2.10/libopenblas.a:
lapacke_clagge.o:
0000000000000000 T LAPACKE_clagge
                 U LAPACKE_clagge_work
lapacke_clagge_work.o:
                 U clagge_
0000000000000000 T LAPACKE_clagge_work

@chtlp
Copy link
Author

chtlp commented Sep 1, 2014

I fixed the build by make clean under the openblas folder, then copied the make command and ran that in the folder

linpengt@fat:~/Programs/julia-v0.3.0/deps/openblas-v0.2.10$ make CC="gcc -m64" FC="gfortran -m64" RANLIB="ranlib" FFLAGS=" -O2 -fPIC" TARGET= BINARY=64 USE_THREAD=1 GEMM_MULTITHREADING_THRESHOLD=50 NUM_THREADS=16 NO_AFFINITY=1 DYNAMIC_ARCH=1 INTERFACE64=1 || (echo "*** Clean the OpenBLAS build with 'make -C deps clean-openblas'. Rebuild with 'make OPENBLAS_USE_THREAD=0 if OpenBLAS had trouble linking libpthread.so, and with 'make OPENBLAS_TARGET_ARCH=NEHALEM' if there were errors building SandyBridge support. Both these options can also be used simultaneously. ***" && false)

I can run Julia now so I think the issue is partly resolved, but I don't understand why the automated make failed in the first place.

@tkelman
Copy link
Contributor

tkelman commented Sep 1, 2014

I am similarly confused. Maybe you have a buggy version of make or something screwy like that?

@chtlp
Copy link
Author

chtlp commented Sep 1, 2014

It seems difficult to confirm the issue. Julia builds fine on other machines (also CentOS 6) I have access to. Feel free to close the issue. Other people with similar problem can try to make openblas separately to see if it works.

@tkelman
Copy link
Contributor

tkelman commented May 3, 2015

Closing, feel free to open a new issue if any problems with up-to-date openblas versions.

@tkelman tkelman closed this as completed May 3, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind:upstream The issue is with an upstream dependency, e.g. LLVM
Projects
None yet
Development

No branches or pull requests

3 participants