<< 2/2

LightFlow Install Vine Linux on VirtualBox

Lightflowのサイトから
http://www.lightflowtech.com/

Linux RedHat 6.1 Version (1608 Kb)
lf_redhat.tgzをダウンロード

http://www.python.org/download/releases/1.5/
Python 1.5.2 sources (2.5 MB)をダウンロード

lf_redhat.tgz をカレントホームディレクトリ (~) に置いておいたとして、

$ cd ~
@localhost ~]$ tar zxvf lf_redhat.tgz

で展開されます。~/Lightflow/ ディレクトリがあると思います。インストール方法については Lightflow/README に書いてあるので、それを読んで自分でインストールできる人は好きな方法でインストールして下さい。

/usr/lib などにファイルをコピーしたくなかったので、ここでは README に書いてある方法の Solution 2: Personal Install を行いました。これは自分のホームディレクトリに Lightflow のファイルを置いたまま使えるようにする方法です。Lightflow はホーム (~) にあるものとして、~/.bash_profile に次の行を追加しました。
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$HOME/Lightflow
PYTHONPATH=$PYTHONPATH:$HOME/Lightflow
LIGHTFLOWPATH=$HOME/Lightflow
LIGHTFLOW_SE_MEMORY=32000
LIGHTFLOW_VE_MEMORY=32000

export LD_LIBRARY_PATH PYTHONPATH LIGHTFLOWPATH LIGHTFLOW_SE_MEMORY LIGHTFLOW_VE_MEMORY



@localhost ~]$ tar zxvf py152.tgz

@localhost Examples]$ cd Lightflow/PM/Examples/

@localhost Examples]$ python ball1.py
Traceback (most recent call last):
File "ball1.py", line 3, in
from lightflowPM import *
ImportError: No module named lightflowPM

@localhost Examples]$ cd ~
@localhost ~]$ ls -a
.bash_profile

@localhost ~]$ leafpad .bash_profile

LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$HOME/Lightflow
PYTHONPATH=$PYTHONPATH:$HOME/Lightflow
LIGHTFLOWPATH=$HOME/Lightflow
LIGHTFLOW_SE_MEMORY=32000
LIGHTFLOW_VE_MEMORY=32000

export LD_LIBRARY_PATH PYTHONPATH LIGHTFLOWPATH LIGHTFLOW_SE_MEMORY LIGHTFLOW_VE_MEMORY

@localhost ~]$ source .bash_profile

@localhost ~]$ echo $LIGHTFLOWPATH
/home/*****/Lightflow

@localhost ~]$ cd Lightflow/PM/Examples/

@localhost Examples]$ python ball1.py
Traceback (most recent call last):
File "ball1.py", line 3, in
from lightflowPM import *
ImportError: libstdc++-libc6.1-1.so.2: cannot open shared object file: No such file or directory


以下のファイルをダウンロードしてきます。
compat-libstdc++-6.2-2.9.0.14.i386.rpm
http://rpm.pbone.net/index.php3/stat/4/idpl/14760/com/compat-libstdc++-6.2-2.9.0.14.i386.rpm.html


@localhost ~]$ sudo rpm -ivh compat-libstdc++-6.2-2.9.0.14.i386.rpm
準備中... ########################################### [100%]
1:compat-libstdc++ ########################################### [100%]


@localhost ~]$ cd Lightflow/PM/Examples/

@localhost 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.

@localhost Examples]$ cd ~
@localhost ~]$ cd Python-1.5.2/
@localhost Python-1.5.2]$ ./configure
............
............
creating ./config.status
creating Makefile
creating Objects/Makefile
creating Parser/Makefile
creating Python/Makefile
creating Modules/Makefile.pre
creating Modules/Setup.thread
creating config.h

@localhost Python-1.5.2]$ make
bash: make: コマンドが見つかりません
以下のファイルをダウンロードしてきます。
make-3.81-8vl6.i686.rpm

http://ftp.yz.yamagata-u.ac.jp/pub/linux/Vine/Vine-6.0/i386/Vine/RPMS/

ftp.yz.yamagata-u.ac.jp/pub/linux/Vine/Vine-6.0/i386/Vine/RPMS/make-3.81-8vl6.i686.rpm


@localhost ~]$ sudo rpm -ivh make-3.81-8vl6.i686.rpm
[sudo] password for *****:
準備中... ########################################### [100%]
1:make ########################################### [100%]

@localhost ~]$ cd Python-1.5.2/
@localhost Python-1.5.2]$ make
...........
...........
fileobject.c:590: error: conflicting types for ‘getline’
/usr/include/stdio.h:653: note: previous declaration of ‘getline’ was here
make[1]: *** [fileobject.o] Error 1
make[1]: Leaving directory `/home/makura/Python-1.5.2/Objects'
make: *** [Objects] Error 2

fileobject.cの関数getlineがstdio.hとかぶっているようです。
エディタでgetlineを検索し、4箇所をgetline1と変えました。


@localhost Python-1.5.2]$ cd Objects/
@localhost Objects]$ leafpad fileobject.c
エディタを開きます。
getlineを検索します。
getline1に変更します。
続けて検索するのでctrl+gを押します。4つ変更します。Getlineは大文字なので変更しません。

@localhost Objects]$ cd ..
再びmake
@localhost Python-1.5.2]$ make
...........
@localhost Python-1.5.2]$ sudo make altinstall
...........

@localhost Python-1.5.2]$ python1.5
Python 1.5.2 (#1, Jan 12 2012, 07:52:51) [GCC 4.4.5 20101001 (Vine Linux 4.4.5-6 on linux2
Copyright 1991-1995 Stichting Mathematisch Centrum, Amsterdam
>>> ^Z
[1]+ 停止 python1.5

Python-1.5.2起動しました。


@localhost Python-1.5.2]$ cd ~
@localhost ~]$ cd Lightflow/PM/Examples/
@localhost Examples]$ python1.5 ball1.py

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


Pinhole Camera On
Objects : 1

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

Examples]$ ls ball1.*
ball1.py ball1.tga

@localhost Examples]$ eog ball1.tga

LightFlow起動しました。


@localhost Examples]$ python1.5 mechanic.py

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


Pinhole Camera On
Objects : 3
00:00:00 - CSEADS 100/100 - boxes 26 - depth 1 - objects 18
00:00:00 - CSEADS 100/100 - boxes 26 - depth 1 - objects 6
LfSoftLight::Init()
00:00:01 - cell 418176 / 418176
LfSoftLight::Init()
00:00:01 - cell 418176 / 418176

Rendering 400 x 400 pixels
00:00:28 - 86.9%

LfDOFImager():
row 400 / 400

@localhost Examples]$ eog mechanic.tga
mechanic.jpg
  • -
  • -

続きLightflow for ubuntu Linux32bit from USBメモリ(成功)

前回から、いろいろ調べて
原因わかりました。

$ python ball1.py
以下エラー出ます。
from lightflowPM import *
ImportError: libstdc++-libc6.0-1.so.2: cannot open shared object file: No such file or directory

この中のlibstdc++-libc6.0-1.so.2を探しましたがありません。

あったのは、libstdc++-libc6.1-1.so.2ですが、これをシンボリックリンクしてもSegmentation fault (コアダンプ)が出ます。

原因はダウンロードしたlf_debian.tgzを使ってたからでした。
DebianやUbuntuでも、Linux RedHat 6.1 Version (1608 Kb)
lf_redhat.tgzをダウンロードして使ってください。

lf_redhat.tgzを解凍しLightflowフォルダから
パスの設定後(他の記事を参考)
$ python ball1.py
Traceback (most recent call last):
File "ball1.py", line 3, in
from lightflowPM import *
ImportError: libstdc++-libc6.1-1.so.2: cannot open shared object file: No such file or directory

libstdc++-libc6.1-1.so.2が出てきます。

以下をダウンロードしインストールします。
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

後はPython1.5.2をビルドして、レンダリングすればOKです。ビルドは他の記事を参考にしてください。

ありがとうございます。
bspline5.jpg
  • -
  • -

Lightflow Install Fedora 16 Live USB 32bit

以下 Fedora 16の 32bit版Live USBを作り、Lightflowをインストールしました。 

以下の2ファイルをダウンロード

Downloads]$ ls
lf_redhat.tgz py152.tgz

移動します。
Downloads]$ mv lf_redhat.tgz /home/liveuser/

Downloads]$ mv py152.tgz /home/liveuser/

Downloads]$ cd ..

解凍します。
~]$ tar zxvf lf_redhat.tgz

~]$ tar zxvf py152.tgz

~]$ cd Lightflow/PM/Examples/

テストしてみます。エラーでます。
Examples]$ python ball1.py
Traceback (most recent call last):
File "ball1.py", line 3, in
from lightflowPM import *
ImportError: No module named lightflowPM

Examples]$ cd /home/liveuser/

以下の記述を追加保存します。
~]$ gedit .bash_profile


LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$HOME/Lightflow
PYTHONPATH=$PYTHONPATH:$HOME/Lightflow
LIGHTFLOWPATH=$HOME/Lightflow
LIGHTFLOW_SE_MEMORY=32000
LIGHTFLOW_VE_MEMORY=32000

export LD_LIBRARY_PATH PYTHONPATH LIGHTFLOWPATH LIGHTFLOW_SE_MEMORY LIGHTFLOW_VE_MEMORY

反映させます。
~]$ source .bash_profile

パスが通っているか確認します。
~]$ echo $LIGHTFLOWPATH
/home/liveuser/Lightflow

またテストします。
~]$ cd Lightflow/PM/Examples/
Examples]$ python ball1.py
Traceback (most recent call last):
File "ball1.py", line 3, in
from lightflowPM import *
ImportError: libstdc++-libc6.1-1.so.2: cannot open shared object file: No such file or directory

次のファイルをダウンロードします。
compat-libstdc++-6.2-2.9.0.14.i386.rpm
http://rpm.pbone.net/index.php3/stat/4/idpl/14760/com/compat-libstdc++-6.2-2.9.0.14.i386.rpm.html

[root@localhost liveuser]# cd Downloads/
[root@localhost Downloads]# ls
compat-libstdc++-6.2-2.9.0.14.i386.rpm

移動します。
[root@localhost Downloads]# mv compat-libstdc++-6.2-2.9.0.14.i386.rpm /home/liveuser
[root@localhost Downloads]# cd ..

インストールします。
[root@localhost liveuser]# rpm -ivh compat-libstdc++-6.2-2.9.0.14.i386.rpm
Preparing... ########################################### [100%]
1:compat-libstdc++ ########################################### [100%]

またまたテストします。
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

Segmentation fault (core dumped)


Python-1.5.2をビルドします。
Python-1.5.2]$ ./configure

コンパイラが入っていないので、以下のものをインストールします。
Various Compilers install

makeします。
Python-1.5.2]$ make

gcc -g -O2 -I./../Include -I.. -DHAVE_CONFIG_H -c -o fileobject.o fileobject.c
fileobject.c:590:1: error: conflicting types for ‘getline’
/usr/include/stdio.h:677:20: note: previous declaration of ‘getline’ was here
make[1]: *** [fileobject.o] Error 1
make[1]: Leaving directory `/home/liveuser/Python-1.5.2/Objects'
make: *** [Objects] Error 2


fileobject.cを開き、getlineをgetline1に4箇所置き換えます。
Python-1.5.2]$ cd Objects/
[liveuser@localhost Objects]$ gedit fileobject.c

再びmakeします。
Objects]$ cd ..
[liveuser@localhost Python-1.5.2]$ make


[root@localhost Python-1.5.2]# make altinstall
Python-1.5.2]$ python1.5
Python 1.5.2 (#1, Jan 12 2012, 20:40:44) [GCC 4.6.2 20111027 (Red Hat 4.6.2-1)] on linux3
Copyright 1991-1995 Stichting Mathematisch Centrum, Amsterdam
>>> ^Z
[1]+ Stopped python1.5
[liveuser@localhost Python-1.5.2]$

以下を実行するとレンダリングできました。
Examples]$ python1.5 ball1.py

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


Pinhole Camera On
Objects : 1

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

画像を確認します。
[liveuser@localhost Examples]$ eog ball1.tga

さらにレンダリング。Windowsより速いです。
[liveuser@localhost Examples]$ python1.5 mechanic.py

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


Pinhole Camera On
Objects : 3
00:00:00 - CSEADS 100/100 - boxes 26 - depth 1 - objects 18
00:00:00 - CSEADS 100/100 - boxes 26 - depth 1 - objects 6
LfSoftLight::Init()
00:00:01 - cell 418176 / 418176
LfSoftLight::Init()
00:00:01 - cell 418176 / 418176

Rendering 400 x 400 pixels
00:00:18 - 95.2%

LfDOFImager():
row 400 / 400

[liveuser@localhost Examples]$ eog mechanic.tga
mechanic.jpg
できました。うれしいですね。
  • -
  • -

複数のバージョンのPythonインストール

複数バージョンのPythonをPCにインストールして利用する1つの方法
http://blog.livedoor.jp/gab_km/archives/1273488.html

これは助かります。ありがとうございます。
32bitと64bit混在でもいけるとありがたい。
イントールするPythonバージョンは古い方から新しい方へ
Python1.5.2→Lightflow
Python22jp→Metasequoia python
Python2.5 64bit→RenderMan import prman using the Python API
Python2.6 64bit→python cgkit

ちょっとインストールしなおしてみます。
Pathの順番は新しい方を先に書いておく。

以下、バッチファイル
python25.bat
@echo off
set PYTHONPATH=C:\Python25;C:\Python25\Scripts;%RMANTREE%\bin
C:\Python25\Python.exe %1 %2 %3 %4 %5 %6 %7 %8 %9

python15.bat
@echo off
set PYTHONPATH=C:\Program Files (x86)\Python
"C:\Program Files (x86)\Python\Python.exe" %1 %2 %3 %4 %5 %6 %7 %8 %9

ありがとうございます。
  • -
  • -

LFexportGUI

Lightflowをblenderで使うプラグイン
LFexportGUI

ダウンロード先

http://www.zoo-logique.org/3D.Blender/index.php3?page=php/python.php3

blender2.28cあたりで動くだろうか。試してみる。
  • -
  • -

Mac OS X 10.6.6(Snow Leopard)にcgkitインストール

Mac OS Xに入っているPythonは、
Leopard → 2.5.1、
Snow Leopard → 2.5.5、2.6.1、
Lion → 2.5.5、2.6.6、2.7.1 が最初からインストールされています。

cgkitをダウンロードしインストール設定してみました。参考にしたのは下記のサイトです。
ありがとうございます。
Python cgkit 2.o on (Snow) Leopard
http://sites.google.com/site/lefranckcom/home/pythoncgkit2oonsnowleopard

■http://www.macports.org/install.phpからMacPorts-2.0.3.pkgをダウンロード
し、インストールします。

■ターミナルを開き、
$ sudo port install python26 scons boost +python26

と入力します。管理者パスワードを入れるとダウンロードがはじまります。
boost_python libraryなどコンパイルされインストールがはじまります。とても長く、しばらく時間がかかります。python27もインストールされました。

cgkitを使うためには、新たにインストールしたpython2.6を使っていきます。サポートライブラリをコンパイルするためです。以下PATHの設定を書き換えます。

$ cd ~
でホームディレクトリに行き、ls -aで.bash_profileがあるか確認します。

$ nano .bash_profile
でnanoエディタを開き
#PATH="/Library/Frameworks/Python.framework/Versions/Current/bin:${PATH}"

PATH=/opt/local/bin/python2.6:$PATH
export PATH

これをなるべく上の行に書き加えます。保存して終了します。
PATHを反映させるために
$ source .bash_profile

$ echo $PATH
で書き加えたPATHが入っているか確認します。

$ python2.6
と打つとビルドした日付が出ます。
$ which python2.6
/opt/local/bin/python2.6

■Compiling the support library
cgkitを入手します。
http://sourceforge.net/projects/cgkit/files/cgkit/
cgkit-2.0.0alpha9.tar.gzをダウンロードします。
cgkit-2.0.0alpha9-py2.5-macosx10.4.dmgは使えません。

cgkit-2.0.0alpha9.tar.gzを解凍します。

$ cd cgkit-2.0.0alpha9/
$ cd supportlib/
$ cd src/
$ nano polyhedrongeom.cpp

line 401行目,
typedef GLvoid (CALLBACK *TessCallback)(...);

以下のように書き換えて保存します。
typedef GLvoid (CALLBACK *TessCallback)();

$ cd ..
一つ上に上がり、
$ nano SConstruct

SConstruct を開きline 38行目:
env.Append(CCFLAGS = ["-arch", "i386", "-arch", "ppc"])

env.Append(CCFLAGS = ["-arch", "x86_64"])
に書き換えます。64ビットでコンパイルできるようにします。

$ scons
と入力するとサポートライブラリのコンパイルがはじまります。

$ cd ..
一つ上に上がり、
$ cp config_template.cfg config.cfg
コピーをつくります。
config.cfgを開き

46行目:
BOOST_LIB = "boost_python"
のコメント#を消します。

118, 119行目を次のようにします。
INC_DIRS += ["/opt/local/include"]
LIB_DIRS += ["/opt/local/lib"]

以上を変更保存します。次にビルドします。

$ python2.6 setup.py build

続いて
$ sudo python2.6 setup.py install

以上でcgkitできあがりです。
チェックしてみましょう。
$ cd utilities/
$ python2.6 checkenv.py
-------------------------------------------------------------------
Python 2.6.7 (r267:88850, Jan 13 2012, 17:06:12)
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)]
Platform: darwin
-------------------------------------------------------------------
Python version: 2.6........... OK
PyProtocols................... is installed
PyOpenGL...................... is installed
PIL........................... is installed
pygame........................ is installed
PyODE......................... is installed
PySerial...................... is installed
cgkit (base).................. 2.0.0alpha9 (Jan 24 2012, 00:13)
cgkit (C++ lib)............... OK
cgkit (all)................... OK

cgkitでOKが出ていれば成功です。
ところで、上記のPyProtocols...PyOpenGL...PIL..pygame...PyODE..PySerial..はmissingになっていると思います。まだ完全にcgkitは動いてくれません。後ほどMacPortsを使ってPyProtocols以外は、インストールすることができます。

続いて複数のpythonが入っているように設定を変えます。
現在切り替えられるpythonを確認するために
$ port select --list python

とすると、
Available versions for python:
none
python25-apple
python26
python26-apple
python27

複数のpythonがでてきます。現在activeなのはありません。バージョンを切り替えるには、
$ sudo port select --set python python26

で切り替わります。
Available versions for python:
none
python25-apple
python26 (active)
python26-apple
python27


PILはいくつかのライブラリに依存しています。Python Imaging Libraryインストール
$ port search py26-pil
$ port deps py26-pil
$ sudo port install py26-pil

PyOpenGLインストール
$ port deps py26-opengl
$ sudo port install py26-opengl

PyODEインストール
$ port search py26-ode
$ port deps py26-ode
$ sudo port install py26-ode

pygameインストール
$ port search py26-game
$ port deps py26-game
$ sudo port install py26-game

PySerialインストール
$ port search py26-serial
$ port deps py26-serial
$ sudo port install py26-serial

PyProtocolsインストール
PyProtocols-0.9.3をダウンロード
http://peak.telecommunity.com/
PyProtocols-0.9.3フォルダに移動し、
$ python2.6 setup.py --without-speedups install

RenderManレンダラ
3delight-10.0.4-Darwin-Universal.pkgをインストールし、
cgkitサイトのチュートリアルから
demo1.py
demo2.py
demo3.py
を保存します。

サンプルファイルがある場所で
$ viewer.py demo1.py
で動作するか確かめます。
さらに
$ render.py -r3delight demo1.py
Exporting main.rib...
1 passes...
Compiling shaders...
Preprocessing time: 0s
Rendering "out.tif" (frame 0)...
3DL ERROR: Two different displays can't write to the same file (will keep 'file' and ignore 'framebuffer')
Rendering time: 0s

$ $ i-display out.tif
out.jpg
  • -
  • -

cgkit install under Debian

1. pygame install

libsdl-image1.2_1.2.10-2+b2_i386.deb
libmikmod2_3.1.11-a-6.3_i386.deb
libsmpeg0_0.4.5+cvs20030824-2.2_i386.deb
libsdl-mixer1.2_1.2.8-6.3_i386.deb
libsdl-ttf2.0-0_2.0.9-1_i386.deb
python-pygame_1.8.1release-2+b1_i386.deb


2. freeglut3-dev

xtrans-dev_1.2.5-1_all.deb
x11proto-core-dev_7.0.16-1_all.deb
x11proto-input-dev_2.0-2_all.deb
libxdmcp-dev_1.0.3-2_i386.deb

libxau-dev_1.0.6-1_i386.deb
libpthread-stubs0_0.3-2_i386.deb
libpthread-stubs0-dev_0.3-2_i386.deb
libxcb1-dev_1.6-1_i386.deb
x11proto-kb-dev_1.0.4-1_all.deb

libx11-dev_1.3.3-4_i386.deb
mesa-common-dev_7.7.1-5_i386.deb

linux-libc-dev_2.6.32-39squeeze1_i386.deb
libc-dev-bin_2.11.2-10_i386.deb
libc6-dev_2.11.2-10_i386.deb

libgl1-mesa-dev_7.7.1-5_i386.deb

libglu1-mesa-dev_7.7.1-5_i386.deb
libice-dev_1.0.6-2_i386.deb
libsm-dev_1.1.1-1_i386.deb
libxt-dev_1.0.7-1_i386.deb
x11proto-xext-dev_7.1.1-2_all.deb
libxext-dev_1.1.2-1_i386.deb

freeglut3-dev_2.6.0-1_i386.deb


3. python-pyode

libode1_0.11.1-3_i386.deb
python-pyode_1.2.0-4+cvs20090320+b1_i386.deb


4. scons_2.0.0-1_all.deb


5.Synaptic package install

select libstdc++6.4.4-dev
binutils
g++-4.4
gcc-4.4
libstdc++6-4.4-dev

6. boost
libboost1.42-dev_1.42.0-4_i386.deb

zlib1g-dev_1.2.3.4.dfsg-3_i386.deb
libssl0.9.8_0.9.8o-4squeeze7_i386.deb
libssl-dev_0.9.8o-4squeeze7_i386.deb
python2.6-dev_2.6.6-8+b1_i386.deb


libboost-python1.42.0_1.42.0-4_i386.deb
gcc_4.4.5-1_i386.deb
g++_4.4.5-1_i386.deb
gccxml_0.9.0+cvs20100501-2_i386.deb
python-dev_2.6.6-3+squeeze6_all.deb
libboost-python1.42-dev_1.42.0-4_i386.deb


7. python-imaging_1.1.7-2_i386.deb

8. pyserial-2.6.tar.gz

9. PyProtocols-0.9.3.zip

10. cgkit
  • -
  • -

<< 2/2