initenvで"global name 'sqlite' is not defined"
何だか、どうでもいいところ&今さらはまってますが。。。
sqlite3をソースからインストールした場合、trac-admin initenvで
$ trac-admin /path/to/trac initenv : Creating and Initializing Project Initenv for '/path/to/trac' failed. Failed to create environment. global name 'sqlite' is not defined Traceback (most recent call last): File "/usr/local/lib/python2.4/site-packages/Trac-0.11.1.ja1-py2.4.egg/trac/admin/console.py", line 568, in do_initenv options=options) File "/usr/local/lib/python2.4/site-packages/Trac-0.11.1.ja1-py2.4.egg/trac/env.py", line 188, in __init__ self.create(options) File "/usr/local/lib/python2.4/site-packages/Trac-0.11.1.ja1-py2.4.egg/trac/env.py", line 311, in create DatabaseManager(self).init_db() File "/usr/local/lib/python2.4/site-packages/Trac-0.11.1.ja1-py2.4.egg/trac/db/api.py", line 70, in init_db connector.init_db(**args) File "/usr/local/lib/python2.4/site-packages/Trac-0.11.1.ja1-py2.4.egg/trac/db/sqlite_backend.py", line 136, in init_db cnx = sqlite.connect(path, timeout=int(params.get('timeout', 10000))) NameError: global name 'sqlite' is not defined Initenv for '/path/to/trac' failed. 1 Traceback (most recent call last): File "/usr/local/lib/python2.4/site-packages/Trac-0.11.1.ja1-py2.4.egg/trac/admin/console.py", line 573, in do_initenv sys.exit(1) SystemExit: 1 $
なエラーが出ることがあります。これはpysqiteからダイナミックリンクされているライブラリであるlibsqlite3.so.0が見つからないために出るもののようです。
$ ldd /usr/local/lib/python2.4/site-packages/pysqlite2/_sqlite.so libsqlite3.so.0 => not found libpthread.so.0 => /lib/tls/libpthread.so.0 (0x004e5000) libc.so.6 => /lib/tls/libc.so.6 (0x0051a000) /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x0025f000) $
ということで、
# echo /usr/local/lib >> /etc/ld.so.conf # /sbin/ldconfig
してやる必要がありますね。。。
$ ldd /usr/local/lib/python2.4/site-packages/pysqlite2/_sqlite.so libsqlite3.so.0 => /usr/local/lib/libsqlite3.so.0 (0x00bed000) libpthread.so.0 => /lib/tls/libpthread.so.0 (0x009a0000) libc.so.6 => /lib/tls/libc.so.6 (0x00111000) /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x003e9000) $
これで無事initenv完了。
参考:ソフト/Bug Tracking/trac/RedHat - discypus
やっぱ、ソース/rpm混在かつ古い環境は面倒が多いなー。。。><