2014-06-05 7 views
1

매버릭스와 Server.app 버전 3에 내 서버를 업그레이드 한 후 (CalDAV를 서버 도구 OSX 서버에서 매버릭스 업데이트 후 깨진), 그 도구가 제대로 작동하려면 중지 :는 기호를 찾을 수 없습니다 : _PQclear

calendarserver_export을
calendarserver_manage_principals
...

내가 예를 들어,이 명령을 입력 :

sudo calendarserver_export -u <account_name> 

이 오류가 표시됩니다

Traceback (most recent call last): 
    File "/Applications/Server.app/Contents/ServerRoot/usr/sbin/calendarserver_export", line 32, in <module> 
    from calendarserver.tools.export import main 
    File "/Applications/Server.app/Contents/ServerRoot/usr/share/caldavd/lib/python/calendarserver/tools/export.py", line 50, in <module> 
    from calendarserver.tools.cmdline import utilityMain, WorkerService 
    File "/Applications/Server.app/Contents/ServerRoot/usr/share/caldavd/lib/python/calendarserver/tools/cmdline.py", line 21, in <module> 
    from calendarserver.tap.caldav import CalDAVServiceMaker, CalDAVOptions 
    File "/Applications/Server.app/Contents/ServerRoot/usr/share/caldavd/lib/python/calendarserver/tap/caldav.py", line 87, in <module> 
    from twistedcaldav.upgrade import UpgradeFileSystemFormatStep, PostDBImportStep 
    File "/Applications/Server.app/Contents/ServerRoot/usr/share/caldavd/lib/python/twistedcaldav/upgrade.py", line 63, in <module> 
    from calendarserver.tap.util import getRootResource, FakeRequest, directoryFromConfig 
    File "/Applications/Server.app/Contents/ServerRoot/usr/share/caldavd/lib/python/calendarserver/tap/util.py", line 87, in <module> 
    from txdav.base.datastore.subpostgres import PostgresService 
    File "/Applications/Server.app/Contents/ServerRoot/usr/share/caldavd/lib/python/txdav/base/datastore/subpostgres.py", line 35, in <module> 
    import pgdb 
    File "/Applications/Server.app/Contents/ServerRoot/usr/share/caldavd/lib/python/pgdb.py", line 66, in <module> 
    from _pg import * 
ImportError: dlopen(/Applications/Server.app/Contents/ServerRoot/usr/share/caldavd/lib/python/_pg.so, 2): Symbol not found: _PQclear 
    Referenced from: /Applications/Server.app/Contents/ServerRoot/usr/share/caldavd/lib/python/_pg.so 
    Expected in: flat namespace 
in /Applications/Server.app/Contents/ServerRoot/usr/share/caldavd/lib/python/_pg.so 

이러한 모든 도구는 파이썬을 통해 CalDAV를 데이터에 액세스하는 공통점이 PyGreSQL을 통해 (CalDAV를 데이터가 포스트 그레스 데이터베이스에 호스팅됩니다). 내가 오류을하지 않는 ,

#login with root 
bob $ sudo -i 
#launch python and import pg (postgres module for python) 
root $ python 
Python 2.7.5 (default, Mar 9 2014, 22:15:05) 
[GCC 4.2.1 Compatible Apple LLVM 5.0 (clang-500.0.68)] on darwin 
Type "help", "copyright", "credits" or "license" for more information. 
>>> import pg 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
    File "/Library/Python/2.7/site-packages/PyGreSQL-4.1.1-py2.7-macosx-10.9-intel.egg/pg.py", line 31, in <module> 
    from _pg import * 
ImportError: dlopen(/Library/Python/2.7/site-packages/PyGreSQL-4.1.1-py2.7-macosx-10.9-intel.egg/_pg.so, 2): Symbol not found: _PQclear 
    Referenced from: /Library/Python/2.7/site-packages/PyGreSQL-4.1.1-py2.7-macosx-10.9-intel.egg/_pg.so 
    Expected in: flat namespace 
in /Library/Python/2.7/site-packages/PyGreSQL-4.1.1-py2.7-macosx-10.9-intel.egg/_pg.so 

하지만, 내 사용자 계정에서 파이썬을 시작하면 (안 루트) : 난으로 매우 간단하게이 문제를 재현 할 수 있었다.
내가 경로, 또는 비슷한에 문제가있는 가정,하지만 난 무엇을 찾을 수 없습니다 ...
나는 ** calendarserver_export **

을 사용할 수 있도록 루트 자격 증명이 필요합니다 단서 ??

답변

0

어떤 이유로 mavericks에서는 "calendar"사용자 (_calendar의 별칭)를 사용하여 이러한 명령을 실행해야합니다.

그래서 명령은 다음과 같아야합니다 sudo는 -u 일정 calendarserver_export -u