elbamos/largeVis

linker error in windows

Closed this issue · 8 comments

neighbors.o:neighbors.cpp:(.text+0x5eb7): undefined reference to `dgemv_'

more details? I'm running win10. R(64bit). And Rtools(64bit).
the following command works for me:
rcmd INSTALL largevis --no-multiarch

Thanks. I use devtools for i386:
install_github("elbamos/largevis")

C:/RBUILD1/3.1/mingw_32/bin/g++ -shared -s -static-libgcc -o largeVis.dll tmp.def RcppExports.o largeVis.o neighbors.o pjicalculation.o -fopenmp -Ld:/Compiler/gcc-4.9.3/local330/lib/i386 -Ld:/Compiler/gcc-4.9.3/local330/lib -LC:/PROGRA1/R/R-33~1.0/bin/i386 -lR
neighbors.o:neighbors.cpp:(.text+0x5eb7): undefined reference to dgemv_' neighbors.o:neighbors.cpp:(.text+0x6642): undefined reference todgemv_'
collect2.exe: error: ld returned 1 exit status
no DLL was created

@JerryDing I don't have a Windows machine to try to diagnose this --- but "dgemv_" is part of the BLAS. So I would look at whether your BLAS, LAPACK, and RcppArmadillo are installed properly and functioning correctly.

@JerryDing I came across the same error, and solved the issue by adding " $(LAPACK_LIBS) $(BLAS_LIBS)" to the variable PKG_LIBS in the file src/Makevars.

@complexly Thanks. That's the solution because I did not link BLAS.

@davidleon @complexly

I linked the BLAS and LAPACK like this below in src\Makevars, and I've installed RcppArmadillo
PKG_LIBS = $(SHLIB_OPENMP_CXXFLAGS)$(LAPACK_LIBS)$(BLAS_LIBS)

and "dgemv_" didn't appear

but it still had 'undefined reference to 'omp_get_num_threads' ' and similar ones
but my Rtools\gcc-4.6.3\i686-w64-mingw32\include does have omp.h

seems like anything about OpenMP doesn't work

I'm running win10. R(64bit). And Rtools(64bit).

@xiaolibird This should be fixed in the current version, 0.1.5. Again, I don't have a Windows machine, so I'm trying to test Windows build with Appveyor. Let me know if issues persist.

@elbamos It works! Thanks a lot.