ページ更新: 2006-10-19 (木) (5211日前)
(2006-01-18 新規作成) TracをSolaris 10/x86上で動作させたときの環境構築メモ。 ただし、2006年の後半にこの環境を使用しなくなったため、このページは今後は更新しない。 (OSをDebian GNU/Linux Sarge上に移行したため) 目次 [編集]そのうち消すつもりのメモ #[編集]2006-01-18 #着手。環境は VMware 4.5.3上のSolaris 10/x86 01/06) Solarisはまともに触ったことがないので、辛い…。 参考ページ TracOnSolaris - The Trac Project - Trac ClearSilver - Message- Building ClearSilver on solaris 10- problems and solutions
Building Trac on Solaris Systems Admin .info Solaris Forums - Building Trac on Solaris ソフトウェア一覧
Python2.3.5を-sharedで入れると失敗。 ClearSilverはなんとかコンパイルできたが、0.9.14, 0.10.2 のいずれも、tracdで実行するとエラーがでる。 Subversion のコンパイルは時間が掛かるなあ。 [編集]2006-01-19 #ClearSilver ML で「Solaris」を検索 「Solaris thread」を検索 $ gcc -v Reading specs from /usr/local/lib/gcc/i386-pc-solaris2.10/3.4.5/specs Configured with: ./configure : (reconfigured) ./configure : (reconfigured) ./configure : (reconfigured) ./configure : (reconfigured) ./configure Thread model: posix gcc version 3.4.5 clearsilver-0.10.2 $ ./configure --prefix=/export/home/username --with-python=/export/home/username/bin/pyt hon --disable-apache --disable-perl --disable-ruby --disable-java --disable-csharp rules.mk を書き換え $ diff ../rules.mk rules.mk 39c39 < DESTDIR = /export/home/username --- > DESTDIR = 66c66 < PYTHON_SITE = /lib/python2.3/site-packages/ --- > PYTHON_SITE = 73c73 < INSTALL = $(NEOTONIC_ROOT)/install-sh -c --- > INSTALL = /opt/sfw/bin/ginstall -c 91c91 < LDSHARED = $(CC) -shared -fPic -mimpure-text --- > LDSHARED = $(CC) -shared $(PICFLG) $ gmake $ gmake install で、 ブラウザでアクセスすると、エラー。 Oops... Trac detected an internal error: Traceback (innermost last): File "csparse.c", line 294, in unknown_function() File "neo_hdf.c", line 1966, in unknown_function() SystemError: Stat of /export/home/username/trac/sandbox/templates/wiki.cs failed: [0] Error 0 Traceback (most recent call last): File "/export/home/username/lib/python2.3/site-packages/trac/web/standalone.py", line 303, in _do_trac_req dispatch_request(path_info, req, env) File "/export/home/username/lib/python2.3/site-packages/trac/web/main.py", line 139, in dispatch_request dispatcher.dispatch(req) File "/export/home/username/lib/python2.3/site-packages/trac/web/main.py", line 113, in dispatch req.display(template, content_type or 'text/html') File "/export/home/username/lib/python2.3/site-packages/trac/web/api.py", line 148, in display data = self.hdf.render(template) File "/export/home/username/lib/python2.3/site-packages/trac/web/clearsilver.py", line 276, in render template.parseFile(filename) Error: Traceback (innermost last): File "csparse.c", line 294, in unknown_function() File "neo_hdf.c", line 1966, in unknown_function() SystemError: Stat of /export/home/username/trac/sandbox/templates/wiki.cs failed: [0] Error 0 trac/web/standalone を次のように書き換えると、OK。うむむ。 $ cd /export/home/username/lib/python2.3/site-packages/trac/web $ diff standalone.py.org standalone.py.single 192c192,193 < class TracHTTPServer(ThreadingMixIn, HTTPServer): --- > #class TracHTTPServer(ThreadingMixIn, HTTPServer): > class TracHTTPServer(HTTPServer): htdigestは/usr/apache/bin/ にある
0.9.2-ja 環境のアップグレード #なんか警告が出てる $ trac-admin sandbox upgrade /export/home/username/lib/python2.3/site-packages/setuptools-0.6a6-py2.3.egg/pkg_resourc es.py:1943: UserWarning: Module pysqlite2 was already imported from /export/home/usernam e/lib/python2.3/site-packages/pysqlite2/__init__.pyc, but /export/home/username/lib/pyth on2.3/site-packages/pysqlite-2.1.0-py2.3-solaris-2.10-i86pc.egg is being added to sys.pa th warn( Database is up to date, no upgrade necessary.[編集] 2006-01-20 #[編集]GraphViz #/usr/sfw/bin/ のは古くて、GraphvizPluginでは使えない。ってか自分で入れたものじゃないし、Solarisの流儀(事情)を知らないので、どうなってるか判らん。 Installing GraphViz on Solaris 2006-02-03 #起動スクリプト /etc/init.d/tracd の例。 Python,tracは/export/home/username/ に入れてあり、アカウント username の権限で起動。 #!/sbin/sh # LANG=C export LANG USER=username PYTHON=/export/home/username/bin/python TRACD=/export/home/username/bin/tracd PORT=8000 OPTION='\ --auth sandbox,/export/home/username/trac/sandbox/htdigest,sandbox \ --e /export/home/username/trac > /dev/null 2>&1' ## case "$1" in 'restart') $0 stop /usr/bin/sleep 1 $0 start ;; 'start') /usr/bin/su - $USER -c "$PYTHON $TRACD --daemonize --port $PORT $OPTION" ;; 'stop') PS=`/usr/ucb/ps auxww | /usr/bin/grep tracd | /usr/bin/awk '/daemonize/{print $2}'` if [ "$PSx" != "x" ]; then /usr/bin/su - $USER -c "/usr/bin/kill $PS" fi ;; *) echo "Usage: $0 { start | stop | restart }" exit 1 ;; esac 動作を確認した後、シンボリックリンク /etc/rc3.d/S99tracd と /etc/rc0.d/K01tracd も作成しておく。 TODO
|