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混在かつ古い環境は面倒が多いなー。。。><