Using blaslapack

Mehmet Erol Sanliturk m.e.sanliturk at gmail.com
Mon Oct 16 08:07:02 UTC 2017


On Mon, Oct 16, 2017 at 9:20 AM, Gleb Popov <6yearold at gmail.com> wrote:

> Hello.
>
> I'm porting an application (DLib, https://reviews.freebsd.org/D12559) that
> uses BLAS and LAPACK, and I have some questions.
>
> 1. Is there any pure C implementation that does not require Fortran
> compiler?
>


Please see :


http://www.netlib.org/clapack/
http://www.netlib.org/blas/#_cblas



Mehmet Erol Sanliturk







>
> 2. My application looks for cblas_ddot function in BLAS library, but the
> default library (netlib) doesn't seem to have that. It has ddot, though, so
> I'm not sure if it is a wrong check on app's side, or netlib is indeed
> doesn't suit there. For now I've used openblas, but I'm also not sure if it
> is a right choice.
>
> 3. How to link properly to any of BLAS libraries? All BLAS implementations
> blaslapack.mk features require Fortran. This implies USE_GCC=yes, so these
> are compiled with GCC, not Clang. Now when I try to link Clang-compiled
> DLib to GCC-compiled openblas, I get undefined references:
>
> //usr/local/lib/gcc6/libgfortran.so.3: undefined reference to
> `__getf2 at GCC_4.6.0'
> //usr/local/lib/gcc6/libgfortran.so.3: undefined reference to
> `__floatunditf at GCC_4.6.0'
> //usr/local/lib/gcc6/libgfortran.so.3: undefined reference to
> `__subtf3 at GCC_4.6.0'
> //usr/local/lib/gcc6/libgfortran.so.3: undefined reference to
> `__multf3 at GCC_4.6.0'
> //usr/local/lib/gcc6/libgfortran.so.3: undefined reference to
> `__unordtf2 at GCC_4.6.0'
> //usr/local/lib/gcc6/libgfortran.so.3: undefined reference to
> `__lttf2 at GCC_4.6.0'
> //usr/local/lib/gcc6/libgfortran.so.3: undefined reference to
> `__addtf3 at GCC_4.6.0'
> //usr/local/lib/gcc6/libgfortran.so.3: undefined reference to
> `__gttf2 at GCC_4.6.0'
> //usr/local/lib/gcc6/libgfortran.so.3: undefined reference to
> `__divtf3 at GCC_4.6.0'
> //usr/local/lib/gcc6/libgfortran.so.3: undefined reference to
> `__letf2 at GCC_4.6.0'
> //usr/local/lib/gcc6/libgfortran.so.3: undefined reference to
> `__netf2 at GCC_4.6.0'
> //usr/local/lib/gcc6/libgfortran.so.3: undefined reference to
> `__floatditf at GCC_4.6.0'
> //usr/local/lib/gcc6/libgfortran.so.3: undefined reference to
> `__eqtf2 at GCC_4.6.0'
> //usr/local/lib/gcc6/libgfortran.so.3: undefined reference to
> `__floatsitf at GCC_4.6.0'
>
> I've tracked these symbols to /usr/local/lib/gcc6/libgcc_s.so. But there
> is
> also /usr/lib/libgcc_s.so and it doesn't have such symbols. I suspect this
> is the source of the error, but I wasn't able to fix it. Passing -Wl,-rpath
> as advised by lang/gcc6 pkg-message doesn't help. The only workaround I
> came up with is USE_GCC=yes to compile DLib itself, but that's pretty
> unsatisfactory.
>
> Thanks in advance.
> _______________________________________________
> freebsd-ports at freebsd.org mailing list
> https://lists.freebsd.org/mailman/listinfo/freebsd-ports
> To unsubscribe, send any mail to "freebsd-ports-unsubscribe at freebsd.org"
>


More information about the freebsd-ports mailing list