2012年05月24日

MacPorts で swftools がコンパイルできない

[作業メモ]
MacPorts で swftools がバージョン 0.9.2 に上がったのとほぼ同時に giflib が 4.1.6 から 4.2.0 に上がったために swftools のコンパイル中に_PrintGifError がないよ」エラーが出てしまいます。
:info:build Undefined symbols for architecture x86_64:
:info:build "_PrintGifError", referenced from:
:info:build _MovieAddFrame in gif2swf.o
:info:build _CheckInputFile in gif2swf.o
:info:build ld: symbol(s) not found for architecture x86_64
でも PrintGifError って実は簡単な処理しかしない関数のようで、以下のようなパッチを swftools に当てさえすれば OK みたい。
--- src/gif2swf.c.orig  2011-01-02 12:30:29.000000000 +0900
+++ src/gif2swf.c 2012-05-23 17:00:28.000000000 +0900
@@ -194,6 +194,16 @@
return 0;
}

+void PrintGifError(void)
+{
+ char *Err = GifErrorString();
+
+ if (Err != NULL)
+ fprintf(stderr, "\nGIF-LIB error: %s.\n", Err);
+ else
+ fprintf(stderr, "\nGIF-LIB undefined error %d.\n", GifError());
+}
+
TAG *MovieAddFrame(SWF * swf, TAG * t, char *sname, int id, int imgidx)
{
SHAPE *s;
ということで、この内容を、例えば patch-giflib-4.2.0.diff というファイル名で
/opt/local/var/macports/sources/rsync.macports.org/release/tarballs/ports/graphics/swftools/files/
以下に保存し、
/opt/local/var/macports/sources/rsync.macports.org/release/tarballs/ports/graphics/swftools/Portfile
内の patchfilespatch-giflib-4.2.0.diff を追記した上で
sudo port install swftools
を実行すれば OK。

詳しくは以下のページを参照。
https://trac.macports.org/attachment/ticket/34553/giflib.diff
ラベル:swftools giflib MacPorts
posted by yamaga at 00:28| Comment(0) | TrackBack(0) | macOS / Darwin | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
※ブログオーナーが承認したコメントのみ表示されます。

この記事へのトラックバック