Error using ToBoundaryMesh and then ToElementMesh (NDSolve package)

When I use ToBoundaryMesh and then ToElementMesh (both are in NDSolveFEM packege) to generate a FEM mesh, this error message always comes out

bem = ToBoundaryMesh[
   "Coordinates" -> {{0, 0}, {0.5, 0}, {1, 0}, {1, 1}, {0, 1}},  "BoundaryElements" -> {LineElement[{{1, 2}, {2, 3}, {3, 4}, {4, 5}, {5, 1}}, {1, 2, 2, 2, 2}]}];

mesh = ToElementMesh[bem];

    LibraryFunction::verserr: An error due to an incompatible function call was encountered evaluating the function getSegmentMarkers. The library was compiled with a previous WolframLibrary version. Recompile with the current version to fix the error. >>

The problem might be with the segment marker command. After I delete the marker and run again, everything is good.

 bem = ToBoundaryMesh[
       "Coordinates" -> {{0, 0}, {0.5, 0}, {1, 0}, {1, 1}, {0, 1}}, 
       "BoundaryElements" -> {LineElement[{{1, 2}, {2, 3}, {3, 4}, {4, 
            5}, {5, 1}}]}];

mesh = ToElementMesh[bem];

There seems some problem with the corresponding function in the package. How can I fix it? Or as the error message says, how can I recompile with the current version?

You cannot fix it (recompilation) without being the owner or maintainer of the source code. In Mathematica 10.4.1.0 (Win 10 Prof 64 Bit) it works

In[1]:= << NDSolve`FEM`
bem = ToBoundaryMesh["Coordinates" -> {{0, 0}, {0.5, 0}, {1, 0}, {1, 1}, {0, 1}}, 
  "BoundaryElements" -> {LineElement[{{1, 2}, {2, 3}, {3, 4}, {4, 5}, {5, 1}}, {1, 2, 2, 2, 2}]}]

Out[2]= ElementMesh[{{0., 1.}, {0., 1.}}, Automatic]

In[3]:= mesh = ToElementMesh[bem]
Out[3]= ElementMesh[{{0., 1.}, {0., 1.}}, {TriangleElement[ "<" 643 ">"]}]