Skip to content

DYNAMIC_ARCH=ON fails in cmake: many "undefined reference" errors #2076

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

Closed
yurivict opened this issue Mar 31, 2019 · 7 comments
Closed

DYNAMIC_ARCH=ON fails in cmake: many "undefined reference" errors #2076

yurivict opened this issue Mar 31, 2019 · 7 comments

Comments

@yurivict
Copy link
Contributor

[ 99%] Building Fortran object test/CMakeFiles/cblat3.dir/cblat3.f.o
cd /usr/ports/math/openblas/work/.build/test && /usr/local/bin/gfortran8  -I/usr/ports/math/openblas/work/OpenBLAS-0.3.5/lapack-netlib/LAPACKE/include -I/usr/ports/math/openblas/work/OpenBLAS-0.3.5 -I/usr/ports/math/openblas/work/.build -O -Wl,-rpath=/usr/local/lib/gcc8  -m128bit-long-double -fPIC -O3 -DNDEBUG -O3   -pthread -c /usr/ports/math/openblas/work/OpenBLAS-0.3.5/test/cblat3.f -o CMakeFiles/cblat3.dir/cblat3.f.o
--- test/CMakeFiles/zblat1.dir/all ---
/usr/local/bin/ld: ../lib/libopenblas.so.0.3: undefined reference to `xhemm_outcopy_PRESCOTT'
/usr/local/bin/ld: ../lib/libopenblas.so.0.3: undefined reference to `xdotc_k_CORE2'
/usr/local/bin/ld: ../lib/libopenblas.so.0.3: undefined reference to `xhemv_V_SKYLAKEX'
/usr/local/bin/ld: ../lib/libopenblas.so.0.3: undefined reference to `qgemm_otcopy_BARCELONA'
/usr/local/bin/ld: ../lib/libopenblas.so.0.3: undefined reference to `xgemm_oncopy_CORE2'
/usr/local/bin/ld: ../lib/libopenblas.so.0.3: undefined reference to `xtrmm_ounucopy_BARCELONA'
/usr/local/bin/ld: ../lib/libopenblas.so.0.3: undefined reference to `xtrmm_kernel_LR_PRESCOTT'
/usr/local/bin/ld: ../lib/libopenblas.so.0.3: undefined reference to `xgemm_otcopy_BARCELONA'
/usr/local/bin/ld: ../lib/libopenblas.so.0.3: undefined reference to `xtrsm_kernel_RT_CORE2'
/usr/local/bin/ld: ../lib/libopenblas.so.0.3: undefined reference to `iqamax_k_NEHALEM'
/usr/local/bin/ld: ../lib/libopenblas.so.0.3: undefined reference to `xtrmm_kernel_LC_CORE2'
@brada4
Copy link
Contributor

brada4 commented Apr 1, 2019

If you follow longer build log:
https://github.com/xianyi/OpenBLAS/blob/651ab01d2b552dd979120edd44cf0ccb0031bed1/CMakeLists.txt#L59

Namely it may happen that the warning above means that extended precision - probably 80bit long floats - really are not built with cmake. Those are not built on Linux or Windows, thus probably you are one of first to test if thei get through cmake.
Would be nice that you report shortcomings with cmake files including comparison with normal makefiles.

@yurivict
Copy link
Contributor Author

yurivict commented Apr 1, 2019

Thanks, I didn't realize that cmake support isn't mature yet.

@brada4
Copy link
Contributor

brada4 commented Apr 1, 2019

There probably should be option to disable ext precision , it was cool before double precision was omnipresent, and that no caller remembers it nowadays. (including own tests ;-) )
It is not present in NetLib BLAS, so it is an (OpenBLAS) extension. Let hear from martin if it is worth tackling in some way.

@martin-frbg
Copy link
Collaborator

This is not an expected failure. cmake builds may not support all the more esoteric options from Makefile.rule but a straightforward DYNAMIC_ARCH=ON should work. Can you make sure that this is not again caused by some incompatible patch from the BSD port, and then upload your build log please ?

@yurivict
Copy link
Contributor Author

yurivict commented Apr 1, 2019

Other patches seem unrelated.

Here is the log: https://people.freebsd.org/~yuri/openblas-DYNAMIC_ARCH=ON.log

@isuruf
Copy link
Contributor

isuruf commented Apr 1, 2019

@brada4
Copy link
Contributor

brada4 commented Apr 1, 2019

don't disable extended

Just that cmake does not build the files.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants