[CalendarServer-users] Kerberos and install on OmniOS (illumos)

Andre LaBranche dre at apple.com
Sun Feb 1 14:30:54 PST 2015


> On Feb 1, 2015, at 7:17 AM, Olaf Marzocchi <lists at marzocchi.net> wrote:
> 
> Hi Andre,
> I tried again (after a long break) the compilation under OmniOS r151012 (the current stable) and also using python2.7 (would 3.x also be fine?) because I verified that python2.6 didn’t even get me this far (see below). I used the current trunk from svn.

Python 3.x is not supported and likely won’t work at all. The biggest blocker for us is for Twisted to support 3.x, which they are working on.

The xattr module is used to support upgrades from very old (2.x) versions of Calendar Server. If you aren’t doing such an upgrade, it might be easier to simply disable the requirement for xattr instead of figuring out why it doesn’t build.

I’m able to remove matter from the setup / build phase with this patch:

Index: requirements-stable.txt
===================================================================
--- requirements-stable.txt	(revision 14353)
+++ requirements-stable.txt	(working copy)
@@ -74,5 +74,3 @@
 
     psutil==2.1.3
     setproctitle==1.1.8
-    xattr==0.7.5
-        #cffi
Index: setup.py
===================================================================
--- setup.py	(revision 14353)
+++ setup.py	(working copy)
@@ -253,7 +253,7 @@
     "kerberos",
 
     # Data store
-    "xattr",
+    #"xattr",
     "twextpy[DAL]",
     "sqlparse>=0.1.11",

… however, the service does not start without xattr, emitting the traceback:

Starting server...
Traceback (most recent call last):
  File "/home/andre/work/cs/trunk/.develop/virtualenv/bin/twistd", line 14, in <module>
    run()
  File "/home/andre/work/cs/trunk/.develop/virtualenv/local/lib/python2.7/site-packages/twisted/scripts/twistd.py", line 27, in run
    app.run(runApp, ServerOptions)
  File "/home/andre/work/cs/trunk/.develop/virtualenv/local/lib/python2.7/site-packages/twisted/application/app.py", line 637, in run
    config.parseOptions()
  File "/home/andre/work/cs/trunk/.develop/virtualenv/local/lib/python2.7/site-packages/twisted/application/app.py", line 604, in parseOptions
    usage.Options.parseOptions(self, options)
  File "/home/andre/work/cs/trunk/.develop/virtualenv/local/lib/python2.7/site-packages/twisted/python/usage.py", line 261, in parseOptions
    for (cmd, short, parser, doc) in self.subCommands:
  File "/home/andre/work/cs/trunk/.develop/virtualenv/local/lib/python2.7/site-packages/twisted/application/app.py", line 621, in subCommands
    for plug in sorted(plugins, key=attrgetter('tapname')):
  File "/home/andre/work/cs/trunk/twisted/plugins/caldav.py", line 29, in getProperty
    return getattr(reflect.namedClass(self.serviceMakerClass), propname)
  File "/home/andre/work/cs/trunk/.develop/virtualenv/local/lib/python2.7/site-packages/twisted/python/reflect.py", line 168, in namedObject
    module = namedModule('.'.join(classSplit[:-1]))
  File "/home/andre/work/cs/trunk/.develop/virtualenv/local/lib/python2.7/site-packages/twisted/python/reflect.py", line 154, in namedModule
    topLevel = __import__(name)
  File "/home/andre/work/cs/trunk/txdav/dps/server.py", line 21, in <module>
    from calendarserver.tap.util import getDBPool, storeFromConfigWithDPSServer
  File "/home/andre/work/cs/trunk/calendarserver/tap/util.py", line 32, in <module>
    from calendarserver.provision.root import RootResource
  File "/home/andre/work/cs/trunk/calendarserver/provision/root.py", line 46, in <module>
    from txweb2.dav.xattrprops import xattrPropertyStore
  File "/home/andre/work/cs/trunk/txweb2/dav/xattrprops.py", line 45, in <module>
    import xattr
ImportError: No module named xattr


I’m trying to figure out if this traceback is telling me that we actually need a CachingPropertyStore that defines a deadProperties method that would pull in some dead properties from an xattrPropertyStore if we’re using a store without a _deadProperties attribute, or if instead we’re getting here through some sort of config / option parsing introspective reflection, and we don’t actually need an xattrPropertyStore()s.

I also tried normally initializing a data store (with xattr support present), and then removing the xattr module - it still failed the same way at startup.

We should probably have some reasonable way to disable or otherwise opt out of xattr use, since the need for it is very old, and because it is problematic on various platforms. Stay tuned...

-dre


> 
> Thanks again
> Olaf
> 
> 
> $ export PATH=/opt/python27/bin:/usr/gnu/bin:$PATH
> $ nano requirements-stable.txt
> -> I commented out the line:
> -> "--editable svn+http://svn.calendarserver.org/repository/calendarserver/PyKerberos/trunk@13420#egg=kerberos”
> $ bash ./bin/develop
> -> I cannot use “./bin/develop” without explicitly calling bash because I get:
> -> "./bin/develop[27]: .: syntax error at line 145: `(‘ unexpected”
> -> maybe you should modify it into #!/bin/bash ?
> 
> [Compilation goes fine until…]
> 
> Installed /export/home/olaf/src/CalendarServer/trunk/.develop/ve_tools/lib/virtualenv-1.11.6-py2.7.egg
> Processing dependencies for virtualenv==1.11.6
> Finished processing dependencies for virtualenv==1.11.6
> New python executable in /export/home/olaf/src/CalendarServer/trunk/.develop/virtualenv/bin/python2.7
> Also creating executable in /export/home/olaf/src/CalendarServer/trunk/.develop/virtualenv/bin/python
> ____________________________________________________________
> 
> Preparing Python requirements
> 
> You are using pip version 6.0.6, however version 6.0.7 is available.
> You should consider upgrading via the 'pip install --upgrade pip' command.
> DEPRECATION: --download-cache has been deprecated and will be removed in the future. Pip now automatically uses and configures its cache.
> Obtaining file:///export/home/olaf/src/CalendarServer/trunk (from -r /export/home/olaf/src/CalendarServer/trunk/requirements-stable.txt (line 21))
>    package init file 'twisted/plugins/__init__.py' not found (or not a regular file)
> 
> […]
> 
> Collecting python-ldap==2.4.18 (from -r /export/home/olaf/src/CalendarServer/trunk/requirements-stable.txt (line 45))
>  Downloading python-ldap-2.4.18.tar.gz (137kB)
>    100% |################################| 139kB 2.2MB/s 
>    defines: HAVE_SASL HAVE_TLS HAVE_LIBLDAP_R
>    extra_compile_args:
>    extra_objects:
>    include_dirs: /opt/openldap/include /usr/include/sasl /usr/include
>    library_dirs: /opt/openldap/lib64 /usr/lib
>    libs: ldap_r
>    file Lib/ldap.py (for module ldap) not found
>    file Lib/ldap/controls.py (for module ldap.controls) not found
>    file Lib/ldap/extop.py (for module ldap.extop) not found
>    file Lib/ldap/schema.py (for module ldap.schema) not found
> 
> […]
> 
> Collecting xattr==0.7.5 (from -r /export/home/olaf/src/CalendarServer/trunk/requirements-stable.txt (line 77))
>  Downloading xattr-0.7.5.tar.gz
>    Installed /tmp/pip-build-F7GPci/xattr/cffi-0.8.6-py2.7-solaris-2.11-i86pc.64bit.egg
>    Searching for pycparser
>    Reading https://pypi.python.org/simple/pycparser/
>    Best match: pycparser 2.10
>    Downloading https://pypi.python.org/packages/source/p/pycparser/pycparser-2.10.tar.gz#md5=d87aed98c8a9f386aa56d365fe4d515f
>    Processing pycparser-2.10.tar.gz
>    Writing /tmp/easy_install-lAMjKU/pycparser-2.10/setup.cfg
>    Running pycparser-2.10/setup.py -q bdist_egg --dist-dir /tmp/easy_install-lAMjKU/pycparser-2.10/egg-dist-tmp-LcynxR
>    zip_safe flag not set; analyzing archive contents...
>    Installed /tmp/pip-build-F7GPci/xattr/pycparser-2.10-py2.7.egg
>    building '_cffi__x282d9483x6ee6f75' extension
>    /opt/gcc-4.8.1/bin/gcc -O3 -m64 -fno-strict-aliasing -O3 -m64 -DNDEBUG -g -O3 -Wall -Wstrict-prototypes -I/export/home/olaf/src/CalendarServer/trunk/.develop/roots/PostgreSQL/include -I/export/home/olaf/src/CalendarServer/trunk/.develop/roots/memcached/include -I/export/home/olaf/src/CalendarServer/trunk/.develop/roots/libevent/include -I/export/home/olaf/src/CalendarServer/trunk/.develop/roots/Cyrus_SASL/include -I/export/home/olaf/src/CalendarServer/trunk/.develop/roots/OpenLDAP/include -I/export/home/olaf/src/CalendarServer/trunk/.develop/roots/libffi/include -I/export/home/olaf/src/CalendarServer/trunk/.develop/roots/openssl/include -fPIC -I/opt/python27/include/python2.7 -c xattr/__pycache__/_cffi__x282d9483x6ee6f75.c -o /tmp/pip-build-F7GPci/xattr/xattr/__pycache__/xattr/__pycache__/_cffi__x282d9483x6ee6f75.o
>    xattr/__pycache__/_cffi__x282d9483x6ee6f75.c: In function 'xattr_xflistxattr':
>    xattr/__pycache__/_cffi__x282d9483x6ee6f75.c:580:5: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
>             if (strcmp(entry->d_name, ".") == 0 ||
>         ^
>    xattr/__pycache__/_cffi__x282d9483x6ee6f75.c: In function '_cffi_const_XATTR_CREATE':
>    xattr/__pycache__/_cffi__x282d9483x6ee6f75.c:1239:30: error: 'XATTR_CREATE' undeclared (first use in this function)
>         return -1;
>                                  ^
>    xattr/__pycache__/_cffi__x282d9483x6ee6f75.c:54:8: note: in definition of macro '_cffi_from_c_int_const'
>         (((x) > 0) ?                                                         \
>            ^
>    xattr/__pycache__/_cffi__x282d9483x6ee6f75.c:1239:30: note: each undeclared identifier is reported only once for each function it appears in
>         return -1;
>                                  ^
>    xattr/__pycache__/_cffi__x282d9483x6ee6f75.c:54:8: note: in definition of macro '_cffi_from_c_int_const'
>         (((x) > 0) ?                                                         \
>            ^
>    xattr/__pycache__/_cffi__x282d9483x6ee6f75.c: In function '_cffi_const_XATTR_REPLACE':
>    xattr/__pycache__/_cffi__x282d9483x6ee6f75.c:1295:30: error: 'XATTR_REPLACE' undeclared (first use in this function)
>         return -1;
>                                  ^
>    xattr/__pycache__/_cffi__x282d9483x6ee6f75.c:54:8: note: in definition of macro '_cffi_from_c_int_const'
>         (((x) > 0) ?                                                         \
>            ^
>    Traceback (most recent call last):
>      File "<string>", line 20, in <module>
>      File "/tmp/pip-build-F7GPci/xattr/setup.py", line 67, in <module>
>        cmdclass={'build': cffi_build},
>      File "/opt/python27/lib/python2.7/distutils/core.py", line 151, in setup
>        dist.run_commands()
>      File "/opt/python27/lib/python2.7/distutils/dist.py", line 953, in run_commands
>        self.run_command(cmd)
>      File "/opt/python27/lib/python2.7/distutils/dist.py", line 972, in run_command
>        cmd_obj.run()
>      File "<string>", line 15, in replacement_run
>      File "build/bdist.solaris-2.11-i86pc.64bit/egg/setuptools/command/egg_info.py", line 193, in find_sources
>      File "build/bdist.solaris-2.11-i86pc.64bit/egg/setuptools/command/egg_info.py", line 277, in run
>      File "build/bdist.solaris-2.11-i86pc.64bit/egg/setuptools/command/egg_info.py", line 306, in add_defaults
>      File "build/bdist.solaris-2.11-i86pc.64bit/egg/setuptools/command/sdist.py", line 171, in add_defaults
>      File "/opt/python27/lib/python2.7/distutils/cmd.py", line 312, in get_finalized_command
>        cmd_obj.ensure_finalized()
>      File "/opt/python27/lib/python2.7/distutils/cmd.py", line 109, in ensure_finalized
>        self.finalize_options()
>      File "build/bdist.solaris-2.11-i86pc.64bit/egg/setuptools/command/build_py.py", line 28, in finalize_options
>      File "/opt/python27/lib/python2.7/distutils/command/build_py.py", line 46, in finalize_options
>        ('force', 'force'))
>      File "/opt/python27/lib/python2.7/distutils/cmd.py", line 298, in set_undefined_options
>        src_cmd_obj.ensure_finalized()
>      File "/opt/python27/lib/python2.7/distutils/cmd.py", line 109, in ensure_finalized
>        self.finalize_options()
>      File "/tmp/pip-build-F7GPci/xattr/setup.py", line 15, in finalize_options
>        from xattr.lib import ffi
>      File "xattr/__init__.py", line 12, in <module>
>        from .lib import (XATTR_NOFOLLOW, XATTR_CREATE, XATTR_REPLACE,
>      File "xattr/lib.py", line 592, in <module>
>        """, ext_package='xattr')
>      File "/tmp/pip-build-F7GPci/xattr/cffi-0.8.6-py2.7-solaris-2.11-i86pc.64bit.egg/cffi/api.py", line 340, in verify
>        lib = self.verifier.load_library()
>      File "/tmp/pip-build-F7GPci/xattr/cffi-0.8.6-py2.7-solaris-2.11-i86pc.64bit.egg/cffi/verifier.py", line 74, in load_library
>        self._compile_module()
>      File "/tmp/pip-build-F7GPci/xattr/cffi-0.8.6-py2.7-solaris-2.11-i86pc.64bit.egg/cffi/verifier.py", line 139, in _compile_module
>        outputfilename = ffiplatform.compile(tmpdir, self.get_extension())
>      File "/tmp/pip-build-F7GPci/xattr/cffi-0.8.6-py2.7-solaris-2.11-i86pc.64bit.egg/cffi/ffiplatform.py", line 25, in compile
>        outputfilename = _build(tmpdir, ext)
>      File "/tmp/pip-build-F7GPci/xattr/cffi-0.8.6-py2.7-solaris-2.11-i86pc.64bit.egg/cffi/ffiplatform.py", line 51, in _build
>        raise VerificationError('%s: %s' % (e.__class__.__name__, e))
>    cffi.ffiplatform.VerificationError: CompileError: command '/opt/gcc-4.8.1/bin/gcc' failed with exit status 1
>    Complete output from command python setup.py egg_info:
> 
> 
>    Installed /tmp/pip-build-F7GPci/xattr/cffi-0.8.6-py2.7-solaris-2.11-i86pc.64bit.egg
> 
>    Searching for pycparser
> 
>    Reading https://pypi.python.org/simple/pycparser/
> 
>    Best match: pycparser 2.10
> 
>    Downloading https://pypi.python.org/packages/source/p/pycparser/pycparser-2.10.tar.gz#md5=d87aed98c8a9f386aa56d365fe4d515f
> 
>    Processing pycparser-2.10.tar.gz
> 
>    Writing /tmp/easy_install-lAMjKU/pycparser-2.10/setup.cfg
> 
>    Running pycparser-2.10/setup.py -q bdist_egg --dist-dir /tmp/easy_install-lAMjKU/pycparser-2.10/egg-dist-tmp-LcynxR
> 
>    zip_safe flag not set; analyzing archive contents...
> 
> 
> 
>    Installed /tmp/pip-build-F7GPci/xattr/pycparser-2.10-py2.7.egg
> 
>    running egg_info
> 
>    creating pip-egg-info/xattr.egg-info
> 
>    writing requirements to pip-egg-info/xattr.egg-info/requires.txt
> 
>    writing pip-egg-info/xattr.egg-info/PKG-INFO
> 
>    writing top-level names to pip-egg-info/xattr.egg-info/top_level.txt
> 
>    writing dependency_links to pip-egg-info/xattr.egg-info/dependency_links.txt
> 
>    writing entry points to pip-egg-info/xattr.egg-info/entry_points.txt
> 
>    writing manifest file 'pip-egg-info/xattr.egg-info/SOURCES.txt'
> 
>    warning: manifest_maker: standard file '-c' not found
> 
> 
> 
>    running build_ext
> 
>    building '_cffi__x282d9483x6ee6f75' extension
> 
>    creating /tmp/pip-build-F7GPci/xattr/xattr/__pycache__/xattr
> 
>    creating /tmp/pip-build-F7GPci/xattr/xattr/__pycache__/xattr/__pycache__
> 
>    /opt/gcc-4.8.1/bin/gcc -O3 -m64 -fno-strict-aliasing -O3 -m64 -DNDEBUG -g -O3 -Wall -Wstrict-prototypes -I/export/home/olaf/src/CalendarServer/trunk/.develop/roots/PostgreSQL/include -I/export/home/olaf/src/CalendarServer/trunk/.develop/roots/memcached/include -I/export/home/olaf/src/CalendarServer/trunk/.develop/roots/libevent/include -I/export/home/olaf/src/CalendarServer/trunk/.develop/roots/Cyrus_SASL/include -I/export/home/olaf/src/CalendarServer/trunk/.develop/roots/OpenLDAP/include -I/export/home/olaf/src/CalendarServer/trunk/.develop/roots/libffi/include -I/export/home/olaf/src/CalendarServer/trunk/.develop/roots/openssl/include -fPIC -I/opt/python27/include/python2.7 -c xattr/__pycache__/_cffi__x282d9483x6ee6f75.c -o /tmp/pip-build-F7GPci/xattr/xattr/__pycache__/xattr/__pycache__/_cffi__x282d9483x6ee6f75.o
> 
>    xattr/__pycache__/_cffi__x282d9483x6ee6f75.c: In function 'xattr_xflistxattr':
> 
>    xattr/__pycache__/_cffi__x282d9483x6ee6f75.c:580:5: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
> 
>             if (strcmp(entry->d_name, ".") == 0 ||
> 
>         ^
> 
>    xattr/__pycache__/_cffi__x282d9483x6ee6f75.c: In function '_cffi_const_XATTR_CREATE':
> 
>    xattr/__pycache__/_cffi__x282d9483x6ee6f75.c:1239:30: error: 'XATTR_CREATE' undeclared (first use in this function)
> 
>         return -1;
> 
>                                  ^
> 
>    xattr/__pycache__/_cffi__x282d9483x6ee6f75.c:54:8: note: in definition of macro '_cffi_from_c_int_const'
> 
>         (((x) > 0) ?                                                         \
> 
>            ^
> 
>    xattr/__pycache__/_cffi__x282d9483x6ee6f75.c:1239:30: note: each undeclared identifier is reported only once for each function it appears in
> 
>         return -1;
> 
>                                  ^
> 
>    xattr/__pycache__/_cffi__x282d9483x6ee6f75.c:54:8: note: in definition of macro '_cffi_from_c_int_const'
> 
>         (((x) > 0) ?                                                         \
> 
>            ^
> 
>    xattr/__pycache__/_cffi__x282d9483x6ee6f75.c: In function '_cffi_const_XATTR_REPLACE':
> 
>    xattr/__pycache__/_cffi__x282d9483x6ee6f75.c:1295:30: error: 'XATTR_REPLACE' undeclared (first use in this function)
> 
>         return -1;
> 
>                                  ^
> 
>    xattr/__pycache__/_cffi__x282d9483x6ee6f75.c:54:8: note: in definition of macro '_cffi_from_c_int_const'
> 
>         (((x) > 0) ?                                                         \
> 
>            ^
> 
>    Traceback (most recent call last):
> 
>      File "<string>", line 20, in <module>
> 
>      File "/tmp/pip-build-F7GPci/xattr/setup.py", line 67, in <module>
> 
>        cmdclass={'build': cffi_build},
> 
>      File "/opt/python27/lib/python2.7/distutils/core.py", line 151, in setup
> 
>        dist.run_commands()
> 
>      File "/opt/python27/lib/python2.7/distutils/dist.py", line 953, in run_commands
> 
>        self.run_command(cmd)
> 
>      File "/opt/python27/lib/python2.7/distutils/dist.py", line 972, in run_command
> 
>        cmd_obj.run()
> 
>      File "<string>", line 15, in replacement_run
> 
>      File "build/bdist.solaris-2.11-i86pc.64bit/egg/setuptools/command/egg_info.py", line 193, in find_sources
> 
>      File "build/bdist.solaris-2.11-i86pc.64bit/egg/setuptools/command/egg_info.py", line 277, in run
> 
>      File "build/bdist.solaris-2.11-i86pc.64bit/egg/setuptools/command/egg_info.py", line 306, in add_defaults
> 
>      File "build/bdist.solaris-2.11-i86pc.64bit/egg/setuptools/command/sdist.py", line 171, in add_defaults
> 
>      File "/opt/python27/lib/python2.7/distutils/cmd.py", line 312, in get_finalized_command
> 
>        cmd_obj.ensure_finalized()
> 
>      File "/opt/python27/lib/python2.7/distutils/cmd.py", line 109, in ensure_finalized
> 
>        self.finalize_options()
> 
>      File "build/bdist.solaris-2.11-i86pc.64bit/egg/setuptools/command/build_py.py", line 28, in finalize_options
> 
>      File "/opt/python27/lib/python2.7/distutils/command/build_py.py", line 46, in finalize_options
> 
>        ('force', 'force'))
> 
>      File "/opt/python27/lib/python2.7/distutils/cmd.py", line 298, in set_undefined_options
> 
>        src_cmd_obj.ensure_finalized()
> 
>      File "/opt/python27/lib/python2.7/distutils/cmd.py", line 109, in ensure_finalized
> 
>        self.finalize_options()
> 
>      File "/tmp/pip-build-F7GPci/xattr/setup.py", line 15, in finalize_options
> 
>        from xattr.lib import ffi
> 
>      File "xattr/__init__.py", line 12, in <module>
> 
>        from .lib import (XATTR_NOFOLLOW, XATTR_CREATE, XATTR_REPLACE,
> 
>      File "xattr/lib.py", line 592, in <module>
> 
>        """, ext_package='xattr')
> 
>      File "/tmp/pip-build-F7GPci/xattr/cffi-0.8.6-py2.7-solaris-2.11-i86pc.64bit.egg/cffi/api.py", line 340, in verify
> 
>        lib = self.verifier.load_library()
> 
>      File "/tmp/pip-build-F7GPci/xattr/cffi-0.8.6-py2.7-solaris-2.11-i86pc.64bit.egg/cffi/verifier.py", line 74, in load_library
> 
>        self._compile_module()
> 
>      File "/tmp/pip-build-F7GPci/xattr/cffi-0.8.6-py2.7-solaris-2.11-i86pc.64bit.egg/cffi/verifier.py", line 139, in _compile_module
> 
>        outputfilename = ffiplatform.compile(tmpdir, self.get_extension())
> 
>      File "/tmp/pip-build-F7GPci/xattr/cffi-0.8.6-py2.7-solaris-2.11-i86pc.64bit.egg/cffi/ffiplatform.py", line 25, in compile
> 
>        outputfilename = _build(tmpdir, ext)
> 
>      File "/tmp/pip-build-F7GPci/xattr/cffi-0.8.6-py2.7-solaris-2.11-i86pc.64bit.egg/cffi/ffiplatform.py", line 51, in _build
> 
>        raise VerificationError('%s: %s' % (e.__class__.__name__, e))
> 
>    cffi.ffiplatform.VerificationError: CompileError: command '/opt/gcc-4.8.1/bin/gcc' failed with exit status 1
> 
>    ----------------------------------------
>    Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-F7GPci/xattr
> 
> 
> 
> 
> 
> 
>> Il giorno 09/nov/2014, alle ore 20:59, Andre LaBranche <dre at apple.com> ha scritto:
>> 
>> Hi,
>> 
>> Are you using python 2.6? I think trunk requires python 2.7. This isn’t very well documented at present.
>> http://trac.calendarserver.org/browser/CalendarServer/trunk/HACKING.rst says 2.6, but I’m pretty sure that is out-dated.
>> 
>> However, the new (woefully incomplete, barely started) admin guide says to use python2.7:
>> http://trac.calendarserver.org/browser/CalendarServer/trunk/doc/Admin/Guide.rst (this doc isn’t yet linked from the web).
>> 
>> Please retry with python2.7. Once I confirm that 2.7 is required, I’ll update the HACKING doc.
>> 
>> -dre
>> 
>>> On Nov 9, 2014, at 10:51 AM, Olaf Marzocchi <lists at marzocchi.net> wrote:
>>> 
>>> In bin/build.sh I had to change line 515 from “Cyrus SASL” to “Cyrus_SASL” to have the compilation start.
>>> In line 517 I added --disable-gssapi
>>> 
>>> These two changes made Cyrus IMAP compile.
>>> 
>>> I had to export PATH=/usr/gnu/bin:$PATH and to install the package gnu-tar to be able to proceed with setuptools-5.4.1.
>>> 
>>> At a certain point,
>>> 
>>>> Installed /export/home/olaf/src/CalendarServer/trunk/.develop/ve_tools/lib/virtualenv-1.11.6-py2.6.egg
>>>> Processing dependencies for virtualenv==1.11.6
>>>> Finished processing dependencies for virtualenv==1.11.6
>>>> New python executable in /export/home/olaf/src/CalendarServer/trunk/.develop/virtualenv/bin/python2.6
>>>> Also creating executable in /export/home/olaf/src/CalendarServer/trunk/.develop/virtualenv/bin/python
>>>> ERROR: The executable /export/home/olaf/src/CalendarServer/trunk/.develop/virtualenv/bin/python2.6 is not functioning
>>>> ERROR: It thinks sys.prefix is u'/export/home/olaf/src/CalendarServer/trunk' (should be u'/export/home/olaf/src/CalendarServer/trunk/.develop/virtualenv')
>>>> ERROR: virtualenv is not compatible with this system or executable
>>> 
>>> And I’m not sure how to proceed further.
>>> 
>>> Could you tell me how to proceed?
>>> 
>>> Thanks
>>> Olaf
>>> 
>>> 
>>> 
>>>> Il giorno 05/nov/2014, alle ore 23:11, Andre LaBranche <dre at apple.com> ha scritto:
>>>> 
>>>> On Nov 5, 2014, at 1:55 PM, Olaf Marzocchi <lists at marzocchi.net> wrote:
>>>>> 
>>>>> Dear Andre,
>>>>> I checked out today the latest version (revision 14134) and i tried the compilation again but the issue is the same.
>>>>> I suppose you haven’t updated the source code with the “right flags”. If you provide me with them, I will try the compilation and report back.
>>>> 
>>>> I haven’t had a chance to do this, and really it’s a question for OmniOS and / or Kerberos hackers.
>>>> 
>>>> It would probably be easier to simply disable kerberos support in Calendar Server if you don’t need it. To do this:
>>>> 
>>>> 1) Edit requirements-stable.txt to comment out the line that declares the dependency on PyKerberos. 
>>>> 
>>>> # -e svn+http://svn.calendarserver.org/repository/calendarserver/PyKerberos/trunk@13420#egg=kerberos
>>>> 
>>>> 2) Run ./bin/develop again
>>>> 
>>>> 3) Make sure none of your server config plists try to activate Kerberos by setting the Authentication --> Kerberos --> Enabled key to false.
>>>> 
>>>>      <!-- Kerberos/SPNEGO -->
>>>>      <key>Kerberos</key>
>>>>      <dict>
>>>>        <key>Enabled</key>
>>>>        <false/>
>>>>      </dict>
>>>> 
>>>> 4) Start server with ./bin/run -n
>>>> 
>>>> At startup, the server logs about the configured authentication backends with the “calendarserver.tap.util" prefix, at log level “info”. In the below log snippet, my server has 4 authentication styles enabled, and kerberos is disabled.
>>>> 
>>>> 2014-11-05 14:06:42-0800 [-] [calendarserver.tap.util#info] Setting up scheme: basic
>>>> 2014-11-05 14:06:42-0800 [-] [calendarserver.tap.util#info] Setting up scheme: clientcertificate
>>>> 2014-11-05 14:06:42-0800 [-] [calendarserver.tap.util#info] Setting up scheme: digest
>>>> 2014-11-05 14:06:42-0800 [-] [calendarserver.tap.util#info] Setting up scheme: wiki
>>>> 
>>>> Please let me know if this works for you. There is a fair chance that you will hit another roadblock after clearing this one :)
>>>> 
>>>> Cheers,
>>>> -dre
>>>> 
>>>>> 
>>>>> Thanks,
>>>>> Olaf
>>>>> 
>>>>> 
>>>>> 
>>>>>> Il giorno 07/ott/2014, alle ore 23:56, Andre LaBranche <dre at apple.com> ha scritto:
>>>>>> 
>>>>>> Looks like maybe OmniOS's included kerberos installation was not configured to use gss. As you have noted, gssapi is provided separately from kerberos-v5, and is also part of the default installation.
>>>>>> 
>>>>>> vagrant at omnios-vagrant:~/pykerberos-1.1.5$ krb5-config --cflags
>>>>>> -I/usr/include/kerberosv5
>>>>>> 
>>>>>> vagrant at omnios-vagrant:~/pykerberos-1.1.5$ ls /usr/include/gssapi/
>>>>>> gssapi_ext.h  gssapi.h
>>>>>> 
>>>>>> Maybe I can rebuild it with the right flags…
>>>>>> 
>>>>>> -dre
>>>>>> 
>>>>>>> On Oct 7, 2014, at 11:58 AM, Andre LaBranche <dre at apple.com> wrote:
>>>>>>> 
>>>>>>> Hi,
>>>>>>> 
>>>>>>> I’m grabbing an OmniOS ISO to try this in a VM. I have very little solaris experience, so we’ll see how it goes :)
>>>>>>> 
>>>>>>> It seems that something about your kerberos installation is different from what PyKerbeors expects.
>>>>>>> 
>>>>>>> Since you mentioned iOS and OS X clients, you might consider simply disabling kerberos in the Calendar Server setup, since the native clients at least do not support it (I’m not sure if Android clients support kerberos).
>>>>>>> 
>>>>>>> I see your post on the OmniOS forum… hopefully they can help.
>>>>>>> 
>>>>>>> -dre
>>>>>>> 
>>>>>>>> On Oct 5, 2014, at 4:57 AM, Olaf Marzocchi <lists at marzocchi.net> wrote:
>>>>>>>> 
>>>>>>>> Hello again,
>>>>>>>> may I ask again if someone is able to help me with the issue? my only alternative is to abandon CalendarServer.
>>>>>>>> 
>>>>>>>> Regards,
>>>>>>>> Olaf Marzocchi
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> Il giorno 14/set/2014, alle ore 12:44, Olaf Marzocchi <lists at marzocchi.net> ha scritto:
>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> Dear all,
>>>>>>>>> I am preparing a server based on OmniOS (kernel illumos), let’s say the successor of OpenIndiana (OpenSolaris) and I would like to offer CalDAV/CardDAV to the users. I chose calendarserver because the users use iOS, OS X, Android.
>>>>>>>>> 
>>>>>>>>> I run “python setup.py” and everything runs well (I just needed to put the GNU tar in the path before the one provided by OmniOS/illumos) until PyKerberos.
>>>>>>>>> 
>>>>>>>>> ------
>>>>>>>>> ~/CalendarServer/CalendarServer-5.2 $ ./run -s
>>>>>>>>> 
>>>>>>>>> Using built libevent.
>>>>>>>>> 
>>>>>>>>> Using built memcached.
>>>>>>>>> 
>>>>>>>>> Using built PostgreSQL.
>>>>>>>>> 
>>>>>>>>> Using built OpenLDAP.
>>>>>>>>> 
>>>>>>>>> Using built libffi.
>>>>>>>>> 
>>>>>>>>> Using system version of setuptools.
>>>>>>>>> 
>>>>>>>>> Building Zope Interface...
>>>>>>>>> 
>>>>>>>>> Using system version of pyOpenSSL.
>>>>>>>>> 
>>>>>>>>> Building PyKerberos...
>>>>>>>>> 
>>>>>>>>> gcc: error: /usr/bin/krb5-config:: No such file or directory
>>>>>>>>> gcc: error: Unknown: No such file or directory
>>>>>>>>> gcc: error: option: No such file or directory
>>>>>>>>> gcc: error: `gssapi': No such file or directory
>>>>>>>>> gcc: error: use: No such file or directory
>>>>>>>>> gcc: error: `--help': No such file or directory
>>>>>>>>> gcc: error: for: No such file or directory
>>>>>>>>> gcc: error: usage: No such file or directory
>>>>>>>>> gcc: error: unrecognized command line option '--'
>>>>>>>>> error: command 'gcc' failed with exit status 1
>>>>>>>>> 
>>>>>>>>> ~/CalendarServer/CalendarServer-5.2 $ cd ../PyKerberos
>>>>>>>>> 
>>>>>>>>> ~/CalendarServer/PyKerberos $ python setup.py build
>>>>>>>>> 
>>>>>>>>> running build
>>>>>>>>> running build_ext
>>>>>>>>> building 'kerberos' extension
>>>>>>>>> gcc -m64 -fno-strict-aliasing -std=c99 -m64 -DNDEBUG -g -O3 -Wall -Wstrict-prototypes -fPIC -I/usr/include/python2.6 -c src/kerberos.c -o build/temp.solaris-2.11-i86pc-2.6/src/kerberos.o /usr/bin/krb5-config: Unknown option `gssapi' -- use `--help' for usage
>>>>>>>>> gcc: error: /usr/bin/krb5-config:: No such file or directory
>>>>>>>>> gcc: error: Unknown: No such file or directory
>>>>>>>>> gcc: error: option: No such file or directory
>>>>>>>>> gcc: error: `gssapi': No such file or directory
>>>>>>>>> gcc: error: use: No such file or directory
>>>>>>>>> gcc: error: `--help': No such file or directory
>>>>>>>>> gcc: error: for: No such file or directory
>>>>>>>>> gcc: error: usage: No such file or directory
>>>>>>>>> gcc: error: unrecognized command line option '--'
>>>>>>>>> error: command 'gcc' failed with exit status 1
>>>>>>>>> 
>>>>>>>>> ~/src/CalendarServer/PyKerberos $  krb5-config --all --libs —cflags
>>>>>>>>> 
>>>>>>>>> Version:     Solaris Kerberos (based on MIT Kerberos 5 release 1.6.3)
>>>>>>>>> Vendor:      Sun Microsystems, Inc.
>>>>>>>>> Prefix:      /usr
>>>>>>>>> Exec_prefix: /usr
>>>>>>>>> -I/usr/include/kerberosv5
>>>>>>>>> -L/usr/lib -R/usr/lib -lkrb5
>>>>>>>>> ------
>>>>>>>>> 
>>>>>>>>> As you can see, “gssapi” does not show up when requested with
>>>>>>>>> extra_link_args = commands.getoutput("krb5-config --libs gssapi").split(),
>>>>>>>>> even if the gssapi packages are installed (I never tested Kerberos though):
>>>>>>>>> ------
>>>>>>>>> ~/src/CalendarServer/PyKerberos $ pkg search gssapi
>>>>>>>>> 
>>>>>>>>> INDEX       ACTION VALUE              PACKAGE
>>>>>>>>> pkg.summary set    GSSAPI CONFIG V2   pkg:/service/security/gss at 0.5.11-0.151010
>>>>>>>>> pkg.summary set    GSSAPI V2          pkg:/system/library/security/gss at 0.5.11-0.151010
>>>>>>>>> pkg.summary set    kernel GSSAPI V2   pkg:/system/kernel/security/gss at 0.5.11-0.151010
>>>>>>>>> basename    dir    usr/include/gssapi pkg:/system/header at 0.5.11-0.151010
>>>>>>>>> 
>>>>>>>>> ~/src/CalendarServer/PyKerberos $ pkg info pkg:/service/security/gss at 0.5.11-0.151010 pkg:/system/library/security/gss at 0.5.11-0.151010 pkg:/system/kernel/security/gss at 0.5.11-0.151010 pkg:/system/header at 0.5.11-0.151010
>>>>>>>>> 
>>>>>>>>>      Name: service/security/gss
>>>>>>>>>   Summary: GSSAPI CONFIG V2
>>>>>>>>> Description: Generic Security Service Application Program Interface, Version
>>>>>>>>>            2 - config
>>>>>>>>>  Category: System/Security
>>>>>>>>>     State: Installed
>>>>>>>>> Publisher: omnios
>>>>>>>>>   Version: 0.5.11
>>>>>>>>> Build Release: 5.11
>>>>>>>>>    Branch: 0.151010
>>>>>>>>> Packaging Date: Mon Apr 28 19:28:56 2014
>>>>>>>>>      Size: 17.53 kB
>>>>>>>>>      FMRI: pkg://omnios/service/security/gss@0.5.11,5.11-0.151010:20140428T192856Z
>>>>>>>>> 
>>>>>>>>>      Name: system/header
>>>>>>>>>   Summary: SunOS Header Files
>>>>>>>>> Description: SunOS C/C++ header files for general development of software
>>>>>>>>>  Category: System/Core
>>>>>>>>>     State: Installed
>>>>>>>>> Publisher: omnios
>>>>>>>>>   Version: 0.5.11
>>>>>>>>> Build Release: 5.11
>>>>>>>>>    Branch: 0.151010
>>>>>>>>> Packaging Date: Mon Apr 28 19:29:16 2014
>>>>>>>>>      Size: 12.19 MB
>>>>>>>>>      FMRI: pkg://omnios/system/header@0.5.11,5.11-0.151010:20140428T192916Z
>>>>>>>>> 
>>>>>>>>>      Name: system/kernel/security/gss
>>>>>>>>>   Summary: kernel GSSAPI V2
>>>>>>>>> Description: Generic Security Service Application Program Interface, Version
>>>>>>>>>            2 - kernel
>>>>>>>>>  Category: System/Security
>>>>>>>>>     State: Installed
>>>>>>>>> Publisher: omnios
>>>>>>>>>   Version: 0.5.11
>>>>>>>>> Build Release: 5.11
>>>>>>>>>    Branch: 0.151010
>>>>>>>>> Packaging Date: Mon Apr 28 19:29:21 2014
>>>>>>>>>      Size: 335.22 kB
>>>>>>>>>      FMRI: pkg://omnios/system/kernel/security/gss@0.5.11,5.11-0.151010:20140428T192921Z
>>>>>>>>> 
>>>>>>>>>      Name: system/library/security/gss
>>>>>>>>>   Summary: GSSAPI V2
>>>>>>>>> Description: Generic Security Service Application Program Interface, Version
>>>>>>>>>            2 - user
>>>>>>>>>  Category: System/Security
>>>>>>>>>     State: Installed
>>>>>>>>> Publisher: omnios
>>>>>>>>>   Version: 0.5.11
>>>>>>>>> Build Release: 5.11
>>>>>>>>>    Branch: 0.151010
>>>>>>>>> Packaging Date: Mon Apr 28 19:29:26 2014
>>>>>>>>>      Size: 687.41 kB
>>>>>>>>>      FMRI: pkg://omnios/system/library/security/gss@0.5.11,5.11-0.151010:20140428T192926Z
>>>>>>>>> ------
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> Could anyone help me with the issue? 
>>>>>>>>> 
>>>>>>>>> Thanks
>>>>>>>>> Olaf Marzocchi
>>>>>>>> 
>>>>>>>> _______________________________________________
>>>>>>>> calendarserver-users mailing list
>>>>>>>> calendarserver-users at lists.macosforge.org
>>>>>>>> https://lists.macosforge.org/mailman/listinfo/calendarserver-users
>>>>>>> 
>>>>>>> _______________________________________________
>>>>>>> calendarserver-users mailing list
>>>>>>> calendarserver-users at lists.macosforge.org
>>>>>>> https://lists.macosforge.org/mailman/listinfo/calendarserver-users
>>>>>> 
>>>>> 
>>>> 
>>> 
>> 
> 



More information about the calendarserver-users mailing list