On Mon, Oct 16, 2017 at 9:20 AM, Gleb Popov <[email protected]> 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@GCC_4.6.0' > //usr/local/lib/gcc6/libgfortran.so.3: undefined reference to > `__floatunditf@GCC_4.6.0' > //usr/local/lib/gcc6/libgfortran.so.3: undefined reference to > `__subtf3@GCC_4.6.0' > //usr/local/lib/gcc6/libgfortran.so.3: undefined reference to > `__multf3@GCC_4.6.0' > //usr/local/lib/gcc6/libgfortran.so.3: undefined reference to > `__unordtf2@GCC_4.6.0' > //usr/local/lib/gcc6/libgfortran.so.3: undefined reference to > `__lttf2@GCC_4.6.0' > //usr/local/lib/gcc6/libgfortran.so.3: undefined reference to > `__addtf3@GCC_4.6.0' > //usr/local/lib/gcc6/libgfortran.so.3: undefined reference to > `__gttf2@GCC_4.6.0' > //usr/local/lib/gcc6/libgfortran.so.3: undefined reference to > `__divtf3@GCC_4.6.0' > //usr/local/lib/gcc6/libgfortran.so.3: undefined reference to > `__letf2@GCC_4.6.0' > //usr/local/lib/gcc6/libgfortran.so.3: undefined reference to > `__netf2@GCC_4.6.0' > //usr/local/lib/gcc6/libgfortran.so.3: undefined reference to > `__floatditf@GCC_4.6.0' > //usr/local/lib/gcc6/libgfortran.so.3: undefined reference to > `__eqtf2@GCC_4.6.0' > //usr/local/lib/gcc6/libgfortran.so.3: undefined reference to > `__floatsitf@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. > _______________________________________________ > [email protected] mailing list > https://lists.freebsd.org/mailman/listinfo/freebsd-ports > To unsubscribe, send any mail to "[email protected]" > _______________________________________________ [email protected] mailing list https://lists.freebsd.org/mailman/listinfo/freebsd-ports To unsubscribe, send any mail to "[email protected]"
