Xgboost: The procedure entry point could not be located in the dynamic link library libxgboost.dll

Created on 13 Mar 2016  路  7Comments  路  Source: dmlc/xgboost

I install the xgboost package in python on Windows based on the answer from Disco4Ever in [http://stackoverflow.com/questions/33749735/how-to-install-xgboost-package-in-python-windows-platform]
After I run *_import xgboost as xgb *_ in python 3.5, this error appears.
error

Most helpful comment

I'm having the same problem, Windows 10 x64, python 3.4. Trying to run the xgboost.exe gives the same problem, so I doubt it's a python issue

Edit: I seem to have found a solution. It looks like some DLL (possibly libstdc++-6.dll) is being loaded from some other software package which causes the "procedure entry point" issue. I manually copied the following DLLs (_libgcc_s_seh-1.dll_, _libgomp-1.dll_, _libstdc++-6.dll_l, _libwinpthread-1.dll_) from my mingw64/bin directory to C:\Python34\Lib\site-packages\xgboost-0.4-py3.4.egg\xgboost, and the error disappeared.

All 7 comments

I'm having the same problem, Windows 10 x64, python 3.4. Trying to run the xgboost.exe gives the same problem, so I doubt it's a python issue

Edit: I seem to have found a solution. It looks like some DLL (possibly libstdc++-6.dll) is being loaded from some other software package which causes the "procedure entry point" issue. I manually copied the following DLLs (_libgcc_s_seh-1.dll_, _libgomp-1.dll_, _libstdc++-6.dll_l, _libwinpthread-1.dll_) from my mingw64/bin directory to C:\Python34\Lib\site-packages\xgboost-0.4-py3.4.egg\xgboost, and the error disappeared.

I've identified the offending DLL. It is indeed libstdc++-6.dll. On my machine, the dll provided by anaconda2 was being loaded (found in c:anaconda2\scripts\LIBSTDC++-6.DLL), which didn't have the following referenced and required functions:

_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4findEPKcyy
_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4findEcy
_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5rfindEPKcyy
_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5rfindEcy
_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7compareEPKc
_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7compareERKS4_
_ZNKSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE3strEv

Thank you. I had exactly this issue. Copying the file to the site-packages directory didn't fix it, but I took a risk (after backing up the old one) and overwrote the anaconda script version.

I'm a little concerned that some other functionality is going to crap out because the file sizes were so different (8MB vs 1.3MB) but so far it seems to work.

I have the same problem with you guys. Could you share the solutions? Copying the file to the site-packages directory didn't fix the issue.

Yeah. The bug has been fixed. According to @TalhaAsmal ,you have to copy the libstdc++-6.dll to Anaconda3\Scripts, it will work.

Another possible solution (not tested properly):
add this to CMakeLists.txt

if(MINGW)
    set(CMAKE_EXE_LINKER_FLAGS ${CMAKE_EXE_LINKER_FLAGS} -static-libstdc++)
endif()

I was getting the error for compiling a code with MinGW, which is written in Visual studio and StrikerRUS's fix worked for me

Was this page helpful?
0 / 5 - 0 ratings