Plone 5.0.x, app.ldap, and app.form broken

Feedback here for the pas.plugins.ldap add-in ...

fresh install of Plone 5.0.7
... confirmed Plone running and added first site

Edited buildoutcfg by adding
pas.plugins.ldap to EGGS section , per instructions here https://pypi.python.org/pypi/pas.plugins.ldap
Rebuild = OK, with the following warnings

Getting distribution for 'PyYAML'.
build/temp.linux-x86_64-2.7/check_libyaml.c:2:18: fatal error: yaml.h: No such file or directory
 #include ]yaml.h]
                  ^
compilation terminated.

libyaml is not found or a compiler error: forcing --without-libyaml

.........

Getting distribution for 'smbpasswd'.
smbpasswd.c: In function ‘lmhash’:
smbpasswd.c:100:18: warning: pointer targets in passing argument 2 of ‘E_P16’ differ 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:12: warning: pointer targets in passing argument 1 of ‘mdfour’ differ 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:21: warning: pointer targets in passing argument 2 of ‘mdfour’ differ 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);
      ^
zip_safe flag not set; analyzing archive contents...

Started Plone with bin/plonectl fg , fails with the following errors

Traceback (most recent call last):
  File "/opt/plone/zinstance/parts/instance/bin/interpreter", line 298, in ]module]
    exec(compile(__file__f.read(), __file__, "exec"))
  File "/opt/plone/buildout-cache/eggs/Zope2-2.13.26-py2.7.egg/Zope2/Startup/run.py", line 76, in ]module]
    run()
  File "/opt/plone/buildout-cache/eggs/Zope2-2.13.26-py2.7.egg/Zope2/Startup/run.py", line 22, in run
    starter.prepare()
  File "/opt/plone/buildout-cache/eggs/Zope2-2.13.26-py2.7.egg/Zope2/Startup/__init__.py", line 92, in prepare
    self.startZope()
  File "/opt/plone/buildout-cache/eggs/Zope2-2.13.26-py2.7.egg/Zope2/Startup/__init__.py", line 268, in startZope
    Zope2.startup()
  File "/opt/plone/buildout-cache/eggs/Zope2-2.13.26-py2.7.egg/Zope2/__init__.py", line 47, in startup
    _startup()
  File "/opt/plone/buildout-cache/eggs/Zope2-2.13.26-py2.7.egg/Zope2/App/startup.py", line 120, in startup
    load_zcml()
  File "/opt/plone/buildout-cache/eggs/Zope2-2.13.26-py2.7.egg/Zope2/App/startup.py", line 52, in load_zcml
    load_site()
  File "/opt/plone/buildout-cache/eggs/Zope2-2.13.26-py2.7.egg/Zope2/App/zcml.py", line 46, in load_site
    _context = xmlconfig.file(site_zcml)
  File "/opt/plone/buildout-cache/eggs/zope.configuration-3.7.4-py2.7.egg/zope/configuration/xmlconfig.py", line 649, in file
    include(context, name, package)
  File "/opt/plone/buildout-cache/eggs/zope.configuration-3.7.4-py2.7.egg/zope/configuration/xmlconfig.py", line 548, in include
    processxmlfile(f, context)
  File "/opt/plone/buildout-cache/eggs/zope.configuration-3.7.4-py2.7.egg/zope/configuration/xmlconfig.py", line 380, in processxmlfile
    parser.parse(src)
  File "/usr/lib/python2.7/xml/sax/expatreader.py", line 107, in parse
    xmlreader.IncrementalParser.parse(self, source)
  File "/usr/lib/python2.7/xml/sax/xmlreader.py", line 123, in parse
    self.feed(buffer)
  File "/usr/lib/python2.7/xml/sax/expatreader.py", line 210, in feed
    self._parser.Parse(data, isFinal)
  File "/usr/lib/python2.7/xml/sax/expatreader.py", line 352, in end_element_ns
    self._cont_handler.endElementNS(pair, None)
  File "/opt/plone/buildout-cache/eggs/zope.configuration-3.7.4-py2.7.egg/zope/configuration/xmlconfig.py", line 359, in endElementNS
    self.context.end()
  File "/opt/plone/buildout-cache/eggs/zope.configuration-3.7.4-py2.7.egg/zope/configuration/config.py", line 558, in end
    self.stack.pop().finish()
  File "/opt/plone/buildout-cache/eggs/zope.configuration-3.7.4-py2.7.egg/zope/configuration/config.py", line 706, in finish
    actions = self.handler(context, **args)
  File "/opt/plone/buildout-cache/eggs/Zope2-2.13.26-py2.7.egg/OFS/metaconfigure.py", line 46, in loadProducts
    xmlconfig.include(_context, zcml, package=product)
  File "/opt/plone/buildout-cache/eggs/zope.configuration-3.7.4-py2.7.egg/zope/configuration/xmlconfig.py", line 548, in include
    processxmlfile(f, context)
  File "/opt/plone/buildout-cache/eggs/zope.configuration-3.7.4-py2.7.egg/zope/configuration/xmlconfig.py", line 380, in processxmlfile
    parser.parse(src)
  File "/usr/lib/python2.7/xml/sax/expatreader.py", line 107, in parse
    xmlreader.IncrementalParser.parse(self, source)
  File "/usr/lib/python2.7/xml/sax/xmlreader.py", line 123, in parse
    self.feed(buffer)
  File "/usr/lib/python2.7/xml/sax/expatreader.py", line 210, in feed
    self._parser.Parse(data, isFinal)
  File "/usr/lib/python2.7/xml/sax/expatreader.py", line 352, in end_element_ns
    self._cont_handler.endElementNS(pair, None)
  File "/opt/plone/buildout-cache/eggs/zope.configuration-3.7.4-py2.7.egg/zope/configuration/xmlconfig.py", line 359, in endElementNS
    self.context.end()
  File "/opt/plone/buildout-cache/eggs/zope.configuration-3.7.4-py2.7.egg/zope/configuration/config.py", line 558, in end
    self.stack.pop().finish()
  File "/opt/plone/buildout-cache/eggs/zope.configuration-3.7.4-py2.7.egg/zope/configuration/config.py", line 706, in finish
    actions = self.handler(context, **args)
  File "/opt/plone/buildout-cache/eggs/z3c.autoinclude-0.3.6-py2.7.egg/z3c/autoinclude/zcml.py", line 101, in includePluginsDirective
    info = PluginFinder(dotted_name).includableInfo(zcml_to_look_for)
  File "/opt/plone/buildout-cache/eggs/z3c.autoinclude-0.3.6-py2.7.egg/z3c/autoinclude/plugin.py", line 15, in includableInfo
    for plugin_distribution in find_plugins(self.dottedname):
  File "/opt/plone/buildout-cache/eggs/z3c.autoinclude-0.3.6-py2.7.egg/z3c/autoinclude/plugin.py", line 25, in find_plugins
    for ep in iter_entry_points('z3c.autoinclude.plugin'):
  File "/opt/plone/zinstance/lib/python2.7/site-packages/pkg_resources/__init__.py", line 725, in iter_entry_points
    entries = dist.get_entry_map(group)
  File "/opt/plone/zinstance/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2656, in get_entry_map
    self._get_metadata('entry_points.txt'), self
  File "/opt/plone/zinstance/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2386, in parse_map
    for group, lines in data:
  File "/opt/plone/zinstance/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2984, in split_sections
    for line in yield_lines(s):
  File "/opt/plone/zinstance/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2246, in yield_lines
    for ss in strs:
  File "/opt/plone/zinstance/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2582, in _get_metadata
    for line in self.get_metadata_lines(name):
  File "/opt/plone/zinstance/lib/python2.7/site-packages/pkg_resources/__init__.py", line 1472, in get_metadata_lines
    return yield_lines(self.get_metadata(name))
  File "/opt/plone/zinstance/lib/python2.7/site-packages/pkg_resources/__init__.py", line 1468, in get_metadata
    value = self._get(self._fn(self.egg_info, name))
  File "/opt/plone/zinstance/lib/python2.7/site-packages/pkg_resources/__init__.py", line 1577, in _get
    with open(path, 'rb') as stream:
zope.configuration.xmlconfig.ZopeXMLConfigurationError: File "/opt/plone/zinstance/parts/instance/etc/site.zcml", line 12.2-12.39
    ZopeXMLConfigurationError: File "/opt/plone/buildout-cache/eggs/Products.CMFPlone-5.0.7-py2.7.egg/Products/CMFPlone/meta.zcml", line 46.4-50.10
    IOError: [Errno 13] Permission denied: '/opt/plone/buildout-cache/eggs/plumber-1.3.1-py2.7.egg/EGG-INFO/entry_points.txt'

Per instructions found in this message thread I alter the file permissions in the buildout-cache folder
chmod -R g+r /path/to/Plone/buildout-cache

Started Plone with bin/plonectl fg
Install LDAP/AD support add-in
Configure LDAP/AD support add-in, getting the following error when saving configuration options

2017-03-29 13:45:35 ERROR pas.plugins.ldap Non-LDAP error while connection test!
Traceback (most recent call last):
  File "/opt/plone/buildout-cache/eggs/pas.plugins.ldap-1.5.1-py2.7.egg/pas/plugins/ldap/properties.py", line 153, in connection_test
    ugm.users.iterkeys().next()
StopIteration

The error message does not have anything helpful to better diagnose the issue here. The values added to the LDAP configuration are the same used on other Linux machines which authenticate with our AD server without trouble. I'm not sure what a Non-LDAP error means. Perhaps a bug in the plugin?

I'm unsure if the issue noted in this thread is related:

I'm sure someone out there has Active Directory working with Plone v5.