<< Python Build → python1.6手動削除 戻る Lightflow for Linux 最初の設定(抜粋) >>

Lightflow for Linux その2

LightFlowはすでに開発closedしてから、12年も経過しているので
今の状況では使えないところですが・・・・やっとできました。

■(以前のまとめ抜粋)Lightflow インストール Linuxでのインストール方法
http://rman.sakura.ne.jp/sfx/lf_man/lightflow-install.html

Linux勉強としてVirtualBoxを使ってLightFlowをインストールしてみました。
いろいろやってみるとPythonのバージョン違いで走らない状況?
困難?が待っていました。


■Vine Linux3.2の場合

libstdc++-libc6.1-1.so.2: cannot load shared object file: No such file or directory

compat-libstdc++-6.2-2.9.0.14.i386.rpm

# rpm -ivh compat-libstdc++-6.2-2.9.0.14.i386.rpm


上記のパッケージをとってインストールしここまでで終了。

■Debianの場合
debian-6.0.3

libstdc++-libc6.1-1.so.2: cannot load shared object file: No such file or directory

libstdc++2.9-glibc2.1_2.91.66-4_i386.deb
http://archive.debian.org/debian/pool/main/e/egcs1.1/libstdc++2.9-glibc2.1_2.91.66-4_i386.deb

$ dpkg -i libstdc++2.9-glibc2.1_2.91.66-4_i386.deb

上記のパッケージをとってここまでやって、以下実行。

■Lightflow実行
@debian:/usr/local/Lightflow/PM/Examples$ python ball1.py
ball1.py:3: RuntimeWarning: Python C API version mismatch for module lightflowPM: This Python has API version 1013, module lightflowPM has version 1007.
from lightflowPM import *

Lightflow Rendering Tools
Copyright (c) 1995-2000 by Jacopo Pantaleoni. All rights reserved


Error (LfFault):
LfFileIOBStream
error opening tmp_ve_VSE3HY
ここで終了。残念。

■試しにPython1.6.1の解凍しビルドすることをやってみる。
解凍うまくいかず
gzip: stdin: not in gzip format
tar: Child returned status 1
tar: Error exit delayed from previous errors

拡張子は .gz となっていますが,実際は .tar ファイルのようなので,
次のようにして変更してください.

mv AAA.tar.gz AAA.tar


> どのようにして解凍すればよいのか

tar xvf AAA.tar




■Python1.6.1のビルド
./configure
make
make install

上書きしてしまったような
■Lightflow実行
@debian:/usr/local/Lightflow/PM/Examples$ python ball1.py
WARNING: Python C API version mismatch for module lightflowPM:
This Python has API version 1009, module lightflowPM has version 1007.

Lightflow Rendering Tools
Copyright (c) 1995-2000 by Jacopo Pantaleoni. All rights reserved


Error (LfFault):
LfFileIOBStream
error opening tmp_ve_7F11r0
ここで終了。残念。

■試しにPython1.5.2の解凍
mv py152.tgz py152.tar
tar xvf py152.tar
■Python1.5.2のビルド(Debian6.0.3)
./configure
make
make install
エラー出しながらもできたような。Python-1.5.2$ python
Python 1.6.1 (#1, Jan 9 2012, 15:26:06) [GCC 4.4.5] on linux2
Copyright (c) 1995-2001 Corporation for National Research Initiatives.
All Rights Reserved.
Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam.
All Rights Reserved.
できていませんでした。

makeができておらず、
gcc -g -O2 -I./../Include -I.. -DHAVE_CONFIG_H -c -o fileobject.o fileobject.c
fileobject.c:590: error: conflicting types for ‘getline’
/usr/include/stdio.h:651: note: previous declaration of ‘getline’ was here
make[1]: *** [fileobject.o] エラー 1
make[1]: ディレクトリ `/home/mac/Python-1.5.2/Objects' から出ます
make: *** [Objects] エラー 2

どうやら、
fileobject.cの関数getlineがstdio.hとかぶっているようです。

/usr/include/stdio.h:651: note: previous declaration of ‘getline’ was here

エディタでgetlineを検索し、4箇所をgetline1と変えました。
改めて
./configure
make
sudo make altinstall
した。

root@debian:/home/mac/Downloads/Python-1.5.2# python1.5
Python 1.5.2 (#1, Jan 9 2012, 21:03:48) [GCC 4.4.5] on linux2
Copyright 1991-1995 Stichting Mathematisch Centrum, Amsterda

Python1.5.2動きました。
(Vine Linux3.2でのPython1.5.2のビルドはすんなりいきました。)


■ここからがうれしいところ(^^)。

root@debian:/usr/local/Lightflow/PM/Examples# python1.5 ball10000.py

Lightflow Rendering Tools
Copyright (c) 1995-2000 by Jacopo Pantaleoni. All rights reserved


Pinhole Camera On
Objects : 10000
00:00:01 - CSEADS 100/100 - boxes 48672 - depth 2 - objects 10000

Rendering 300 x 300 pixels
00:00:03 - 87.1%

root@debian:/usr/local/Lightflow/PM/Examples# gimp ball10000.tga

■無事、Debian Linux6.0.3でLightflowが起動。
古いVine Linux(3.2より古いもの?)でLightflowが動いていたのは、Python1.5.2だったためです。
Windowsと同じでLinuxにおいてもPython1.5.2でLightflowは動きます。
make altinstallするとpythonのバージョン別に使い分けができます。

Lightflow起動は

# python1.5 ball1.py

ball1.tgaが生成されます。
レンダリングが速くて快適ですね。
長年わからなかったのが解決してうれしいです。
ありがとうございます。

root@debian:/usr/local/Lightflow/PM/Examples# python1.5 mechanic.py

以下Rendering Time:17s
mechanic.jpg
  • -
  • -

<< Python Build → python1.6手動削除 戻る Lightflow for Linux 最初の設定(抜粋) >>