「ZaaIL」をlibtiffリンクして独自にコンパイルせんとす。けどダメだコリャ。
前の記事で、Alchemy使用の40種類以上の画像読み込みに対応するライブラリ「ZaaIL」の存在を知ったものの、TIFFがリンクし忘れで読み込み出来ない状態だということがわかった。
琴線探査: Alchemy使用の画像読み込みライブラリ「ZaaIL」を試さんとす。TIFF、TIFFがぁ・・・
その後ZaaLabsの方は、ZaaILのコンパイル方法を3つの記事に書いておられる。つまり「自分でコンパイルせよ」ということだろう。
Compiling ZaaIL with Alchemy – Part 1 | ZaaLabs
ふむぅ。気が重いけど、やってみるか。
1. アーカイブを用意する
こちらから頂いたlibraries配下にあるアーカイブを適当な場所にコピーする。
ZaaLabs's ZaaIL at master - GitHub
今回のアーカイブをコピーする場所は「/Users/jun/Desktop/ZaaIL」とした。
2. Alchemyを入手してインストール
こちらでAlchemyを頂く。
Adobe Labs - Downloads: Alchemy
インストール方法はこちらに書いてある。
Alchemy:Documentation:Getting Started - Adobe Labs
Alchemyはすでにインストールしていたので、確認だけしてスキップした。相当前にインストールしたと思ったけど、バージョン0.5aで変わってなかった。タイムスタンプを見ると2008.12?まだpreviewバージョンらしいけど、もうこれ以上バージョンアップしないのか?
3. Flex SDK 3.2を入手してインストール
こちらでFlex SDK 3.2を頂く。
Download Flex 3 - Flex SDK - Adobe Open Source
3.2というところがポイントらしい。Alchemyが出た頃が3.2の頃で、Alchemyがそれ以降バージョンアップしていないことによるのだと思う。
システムには3.2もインストールされていたので、これもスキップ。ということは、今後もAlchemyを使うつもりなら3.2はアンインストールしない方がいいということだ。
4. hacks.plの編集
サイトによると、$ALCHEMY_HOMEの環境変数を$ALCHEMY_HOME/achacks/hacks.plが正常に認識しないので編集する必要があるらしい。
# cd $ALCHEMY_HOME/achacks/
# cp hacks.pl hacks.pl.bak
# chmod 755 hacks.pl
# emacs -nw hacks.pl
・・・(56行目)
$home="/Users/jun/Applications/alchemy-darwin-v0.5a";
$ascjar=$ENV{ASC} || "$home/bin/asc.jar";
・・・
環境変数がとれないならまだしも、「$home/bin/asc.jar」となるところが「$home/asm-asc/lib/asc.jar」とは・・・そんなパスは無い。さすがブレビュー版。
5. gccの編集
サイトによると、$ALCHEMY_HOME/achacks/gccがシンタックスエラーで正常に動作しないので編集する必要があるらしい。
6. zlibのコンパイル
最後のインストール処理は、そのまま「sudo make install」すると正常にインストールできなかった。おそらくalc-onが問題だと思われ。alc-offしても正常にインストールできなかったので、一度シェルを閉じて新しいシェルを開き(alc-onの環境変数をクリア)、再度「sudo make install」すると正常にインストールできた。
7. libtiffのコンパイル
なんだかインストール時にエラーが出てるけど、一応/usr/local/lib/libtiff.soが出来てるからいいのか?
8. libpngのコンパイル
サイトでは、configureが上手くいかないのでlibpng-1.2.43-no-config.tar.gzを使ってconfigureをスキップしたと書いてあるけど、やはりそうだった。makefile.gccには「install」が無いようなので手動でコピーした。
9. libmngのコンパイル
libmngにはconfigureが無い。libpngの場合と同様に使えそうなmakeファイルを指定してみたもののコンパイルできず。
10. lcmsのコンパイル
なんだかインストール時にエラーが出てるけど、一応/usr/local/lib/liblcms.soが出来てるからいいのか?
11. jpegのコンパイル
ここはなぜか、alc-on状態でないとインストールが正常に行えなかった。
12. jasperのコンパイル
なんかダメな感じ。このようにやったとしても、一度シェルを抜けてalc-on無し状態でインストールしたとしても。どうなんだろう。とりあえず進んでみる。
13. devilのコンパイル
やっぱりダメだね。エラーが出てる。コンパイルできた手応え無いもん。
結論
やはり、そう簡単に出来るものではないということを思い知る。Alchemy自体も不安定なわけで、TIFFをリンクし忘れたとは言え、ZaaLabsの人々はよくコンパイルしたものだと感心する。根性だね。
自分はこれ以上時間をかけられないので、ここでチャレンジを打ち切る。TIMES UP & GIVE UPだ。
願わくば、この記事が少しでも次のチャレンジャーの役に立ちますように。
琴線探査: Alchemy使用の画像読み込みライブラリ「ZaaIL」を試さんとす。TIFF、TIFFがぁ・・・
その後ZaaLabsの方は、ZaaILのコンパイル方法を3つの記事に書いておられる。つまり「自分でコンパイルせよ」ということだろう。
Compiling ZaaIL with Alchemy – Part 1 | ZaaLabs
ふむぅ。気が重いけど、やってみるか。
1. アーカイブを用意する
こちらから頂いたlibraries配下にあるアーカイブを適当な場所にコピーする。
ZaaLabs's ZaaIL at master - GitHub
今回のアーカイブをコピーする場所は「/Users/jun/Desktop/ZaaIL」とした。
2. Alchemyを入手してインストール
こちらでAlchemyを頂く。
Adobe Labs - Downloads: Alchemy
インストール方法はこちらに書いてある。
Alchemy:Documentation:Getting Started - Adobe Labs
Alchemyはすでにインストールしていたので、確認だけしてスキップした。相当前にインストールしたと思ったけど、バージョン0.5aで変わってなかった。タイムスタンプを見ると2008.12?まだpreviewバージョンらしいけど、もうこれ以上バージョンアップしないのか?
3. Flex SDK 3.2を入手してインストール
こちらでFlex SDK 3.2を頂く。
Download Flex 3 - Flex SDK - Adobe Open Source
3.2というところがポイントらしい。Alchemyが出た頃が3.2の頃で、Alchemyがそれ以降バージョンアップしていないことによるのだと思う。
システムには3.2もインストールされていたので、これもスキップ。ということは、今後もAlchemyを使うつもりなら3.2はアンインストールしない方がいいということだ。
4. hacks.plの編集
サイトによると、$ALCHEMY_HOMEの環境変数を$ALCHEMY_HOME/achacks/hacks.plが正常に認識しないので編集する必要があるらしい。
# cd $ALCHEMY_HOME/achacks/
# cp hacks.pl hacks.pl.bak
# chmod 755 hacks.pl
# emacs -nw hacks.pl
・・・(56行目)
$home="/Users/jun/Applications/alchemy-darwin-v0.5a";
$ascjar=$ENV{ASC} || "$home/bin/asc.jar";
・・・
環境変数がとれないならまだしも、「$home/bin/asc.jar」となるところが「$home/asm-asc/lib/asc.jar」とは・・・そんなパスは無い。さすがブレビュー版。
5. gccの編集
サイトによると、$ALCHEMY_HOME/achacks/gccがシンタックスエラーで正常に動作しないので編集する必要があるらしい。
# cd $ALCHEMY_HOME/achacks # cp gcc gcc.bak # chmod 755 gcc # emacs -nw gcc ・・・(274行目) if($o =~ /([^\/\.]+)(\..*)*$/) ・・・
6. zlibのコンパイル
# cd /Users/jun/Desktop/ZaaIL # tar -zxvf zlib-1.2.4.tar.gz # mv zlib-1.2.4/ zlib # cd zlib # alc-on # ./configure # sudo make # exit # cd /Users/jun/Desktop/ZaaIL/zlib # sudo make install
最後のインストール処理は、そのまま「sudo make install」すると正常にインストールできなかった。おそらくalc-onが問題だと思われ。alc-offしても正常にインストールできなかったので、一度シェルを閉じて新しいシェルを開き(alc-onの環境変数をクリア)、再度「sudo make install」すると正常にインストールできた。
7. libtiffのコンパイル
# cd /Users/jun/Desktop/ZaaIL # tar -zxvf tiff-3.9.2.tar.gz # cd tiff-3.9.2 # alc-on # ./configure # sudo make # exit # cd /Users/jun/Desktop/ZaaIL/tiff-3.9.2 # sudo make install
なんだかインストール時にエラーが出てるけど、一応/usr/local/lib/libtiff.soが出来てるからいいのか?
8. libpngのコンパイル
# cd /Users/jun/Desktop/ZaaIL # tar -zxvf libpng-1.2.43-no-config.tar.gz # cd libpng-1.2.43 # alc-on # sudo make -f scripts/makefile.gcc # su - # cd /Users/jun/Desktop/ZaaIL/libpng-1.2.43 # cp libpng.a /usr/local/lib
サイトでは、configureが上手くいかないのでlibpng-1.2.43-no-config.tar.gzを使ってconfigureをスキップしたと書いてあるけど、やはりそうだった。makefile.gccには「install」が無いようなので手動でコピーした。
9. libmngのコンパイル
# cd /Users/jun/Desktop/ZaaIL # tar -zxvf libmng-1.0.10.tar.gz # cd libmng-1.0.10 # alc-on # sudo make -f makefiles/makefile.unix
libmngにはconfigureが無い。libpngの場合と同様に使えそうなmakeファイルを指定してみたもののコンパイルできず。
10. lcmsのコンパイル
# cd /Users/jun/Desktop/ZaaIL # tar -zxvf lcms-1.19.tar.gz # cd lcms-1.19 # alc-on # ./configure # sudo make # exit # cd /Users/jun/Desktop/ZaaIL/lcms-1.19 # sudo make install
なんだかインストール時にエラーが出てるけど、一応/usr/local/lib/liblcms.soが出来てるからいいのか?
11. jpegのコンパイル
# cd /Users/jun/Desktop/ZaaIL # tar -zxvf jpegsrc.v8a.tar.gz # cd jpeg-8a # alc-on # ./configure # sudo make # sudo make install
ここはなぜか、alc-on状態でないとインストールが正常に行えなかった。
12. jasperのコンパイル
# cd /Users/jun/Desktop/ZaaIL # unzip jasper-1.900.1.zip # cd jasper-1.900.1 # alc-on # ./configure # sudo make # sudo make install
なんかダメな感じ。このようにやったとしても、一度シェルを抜けてalc-on無し状態でインストールしたとしても。どうなんだろう。とりあえず進んでみる。
13. devilのコンパイル
# cd /Users/jun/Desktop/ZaaIL # tar -zxvf DevIL-1.7.8.tar.gz # cd devil-1.7.8 # alc-on # ./configure # sudo make
やっぱりダメだね。エラーが出てる。コンパイルできた手応え無いもん。
llvm-ld: error: Cannot find linker input 'libIL_la-il_utx.o'
結論
やはり、そう簡単に出来るものではないということを思い知る。Alchemy自体も不安定なわけで、TIFFをリンクし忘れたとは言え、ZaaLabsの人々はよくコンパイルしたものだと感心する。根性だね。
自分はこれ以上時間をかけられないので、ここでチャレンジを打ち切る。TIMES UP & GIVE UPだ。
願わくば、この記事が少しでも次のチャレンジャーの役に立ちますように。
まことにお疲れ様でございました(_´Д`)ノ~~
返信削除