Pas.plugins.ldap install fails on Windows because of Samba

I am using Plone 5.0.5 and OpenLDAP for Windows.
eggs =
Plone
Pillow
Products.PloneLDAP
pas.plugins.ldap

They work nicely together with Products.PloneLDAP. I tried pas.plugins.ldap and with a
bypass I got it working as well.

pas.plugins.ldap uses node.ext.ldap (0.9.7) which requires smbpasswd.
smbpasswd gives compilation errors. See below.

I used following "bypass":

Bypass Samba on Windows

Comment: # smbpasswd in file node.ext.ldap-0.9.7-py2.7.egg\EGG-INFO\requires.txt

Put try: except: around all samba references in next files:

node.ext.ldap-0.9.7-py2.7.egg\node\ext\ldap\ugm\defaults.py

node.ext.ldap-0.9.7-py2.7.egg\node\ext\ldap\ugm_api.py

node.ext.ldap-0.9.7-py2.7.egg\node\ext\ldap\ugm\samba.py

Getting distribution for 'smbpasswd'.

smbpasswd.c: In function 'lmhash':

smbpasswd.c5: warning: pointer targets in passing argument 2 of 'E_P16' dif

fer in signedness [-Wpointer-sign]

 E_P16(lmpwd, hashout);

 ^

smbpasswd.c:35:6: note: expected 'unsigned char *' but argument is of type 'char

*'

void E_P16(unsigned char *p14,unsigned char *p16);

  ^

smbpasswd.c: In function 'nthash':

smbpasswd.c:125:5: warning: pointer targets in passing argument 1 of 'mdfour' di

ffer in signedness [-Wpointer-sign]

 mdfour(hashout, pwd, pwd_len);

 ^

smbpasswd.c:34:6: note: expected 'unsigned char *' but argument is of type 'char

*'

void mdfour(unsigned char *out, unsigned char *in, int n);

  ^

smbpasswd.c:125:5: warning: pointer targets in passing argument 2 of 'mdfour' di

ffer in signedness [-Wpointer-sign]

 mdfour(hashout, pwd, pwd_len);

 ^

smbpasswd.c:34:6: note: expected 'unsigned char *' but argument is of type 'char

*'

void mdfour(unsigned char *out, unsigned char *in, int n);

  ^

build\temp.win-amd64-2.7\Release\smbpasswd.o:smbpasswd.c:(.text+0x47): undefined

reference to _imp__PyString_FromStringAndSize'
build\temp.win-amd64-2.7\Release\smbpasswd.o:smbpasswd.c:(.text+0x85): undefined
reference to_imp__PyArg_ParseTuple'

build\temp.win-amd64-2.7\Release\smbpasswd.o:smbpasswd.c:(.text+0xfa): undefined

reference to _imp__PyMem_Free'
build\temp.win-amd64-2.7\Release\smbpasswd.o:smbpasswd.c:(.text+0x131): undefine
d reference to_imp__PyArg_ParseTuple'

build\temp.win-amd64-2.7\Release\smbpasswd.o:smbpasswd.c:(.text+0x222): undefine

d reference to _imp__PyTuple_New'
build\temp.win-amd64-2.7\Release\smbpasswd.o:smbpasswd.c:(.text+0x245): undefine
d reference to_imp__PyTuple_SetItem'

build\temp.win-amd64-2.7\Release\smbpasswd.o:smbpasswd.c:(.text+0x29e): undefine

d reference to _imp__Py_InitModule4'
c:/mingw/bin/../lib/gcc/mingw32/4.8.1/../../../../mingw32/bin/ld.exe: build\temp
.win-amd64-2.7\Release\smbpasswd.o: bad reloc address 0x0 in section.data'

collect2.exe: error: ld returned 1 exit status

error: Setup script exited with error: command 'c:\MinGW\bin\gcc.exe' failed

with exit status 1

An error occurred when trying to install smbpasswd 1.0.2. Look above this messag

e for any errors that were output by easy_install.

While:

Updating instance.

Getting distribution for 'smbpasswd'.

Error: Couldn't install: smbpasswd 1.0.2

Dup for Github Issue https://github.com/collective/pas.plugins.ldap/issues/20, please discuss over there

Maybe related?