OpenBSD 4.5 -stable(amd64)

  • ページ: 動作報告
  • 投稿者: chocolat?
  • 状態: 成功
  • ptexliveバージョン:20090902
  • 投稿日: 2009-09-03 (木) 16:21:46

必要パッケージ

gmake、bash、ja-nkf、日本語フォント(mplus-ttf,sazanami-ttfなど)
lzma
texlive_base-2008p9?
texlive_texmf-minimal-2008p1?

ptexlive.cfg

変更箇所のみです:
ISO_DIR=/usr/textmp
TEXLIVE_DIR=$ISO_DIR
PREFIX=/usr/local/texlive/p2008

EXTRA_TRUETYPE="/usr/local/lib/X11/fonts/mplus;/usr/local/lib/X11/fonts/sazanami;/usr/local/lib/X11/fonts/ja;/usr/local/lib/X11/fonts/ghostscript;/usr/X11R6/lib/X11/fonts/TTF"
EXTRA_OPENTYPE="/usr/X11R6/lib/X11/fonts/OTF"

KANJI_CODE=EUC

CPPFLAGS="-I/usr/local/include -I/usr/local/include/freetype2 -I/usr/local/include/libpng"
LDFLAGS="-L/usr/local/lib"
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
export LDFLAGS CPPFLAGS LD_LIBRARY_PATH

メッセージ

20090902が出たので勢いでamd64もやってしまいました。
まずは、i386版の動作報告44と全く同じ手順で、 texlive2008-20080822.iso.lzmaをダウンロード、解凍展開し、/mnt/flashにマウントしました。
ここでこのままmake all3すると、以下のエラーが出ます。

/texk/web2c/../../libs/obsdcompat -I../../../texk/web2c/../../libs/obsdcompat/..  -I../../../texk/web2c/../../libs/zlib -I../../../texk/web2c/../
../libs/libpng -I../../../texk/web2c/../../libs/xpdf -Dextra_version_info=`date +-%Y%m%d%H`  -c -o lcoco.o lcoco.c
lcoco.c:334:22: ucontext.h: No such file or directory
lcoco.c:342:1: warning: "COCO_MAIN_PARAM" redefined
lcoco.c:238:1: warning: this is the location of the previous definition
lcoco.c:372: error: syntax error before "ucontext_t"
lcoco.c: In function `coco_main':
lcoco.c:446: error: structure has no member named `ctx'
lcoco.c:446: error: structure has no member named `back'
lcoco.c: In function `lua_newcthread':
lcoco.c:463: error: structure has no member named `ctx'
    (中略)
gmake[4]: *** [lcoco.o] Error 1
gmake[4]: Leaving directory `/var/tmp/ptexlive2008/texlive-20080816-source/Work/libs/lua51'
gmake[3]: *** [posix] Error 2
gmake[3]: Leaving directory `/var/tmp/ptexlive2008/texlive-20080816-source/Work/libs/lua51'
gmake[2]: *** [../../libs/lua51/liblua.a] Error 2
gmake[2]: Leaving directory `/var/tmp/ptexlive2008/texlive-20080816-source/Work/texk/web2c'
gmake[1]: *** [all] Error 1
gmake[1]: Leaving directory `/var/tmp/ptexlive2008/texlive-20080816-source/Work/texk'
gmake: *** [all] Error 1

これはucontext.hを見つけられないのが原因のようで、OpenBSDのTexLiveのmaintainerのEdd Barrettさんもこちらのページで去年報告していました。これはamd64とsparc64の64ビット環境でみられるエラーで、texlive2008に含まれるLuaTexの問題のようです。
これを防ぐため以下の作業をしてportsのパッチを当てさせて頂きました。
まず、isoは読込専用なので/mnt/flashの中身を全て別ディレクトリにコピーします。3G近い容量を必要とします。今回は/usrにtextmpというフォルダを作ってそこにコピーしました。

mkdir /usr/textmp
cp -R /mnt/flash/* /usr/textmp

 /usr/textmp/sourceに移動して、texlive-20080816-source.tar.lzmaを解凍展開して、/usr/textmp/source/texlive-20080816-sourceに移動します。

cd /usr/textmp/source
lzma -d texlive-20080816-source.tar.lzma && tar xf texlive-20080816-source.tar
cd texlive-20080816-source

 ここでports/print/texlive/base/patchesからpatch-libs_lua51_lcoco_hとpatch-libs_lua51_lcoco_cを現在地にコピーして、パッチを当てます。わたしはportsを/usrに置いています。もし、ports自体を使っていない方は、portsを導入するか、 OpenBSDの公式ページからGetting Sourceの下の「Web」→ports→print→texlive→base→patchesと進んで2つのパッチをダウンロードしてください。

cp /usr/ports/print/texlive/base/patches/patch-libs_lua51_lcoco_* /usr/textmp/source/texlive-20080816-source
patch -p0 < patch-libs_lua51_lcoco_h
patch -p0 < patch-libs_lua51_lcoco_c

その後はこれらをもう一度圧縮し直します。

tar cf texlive-20080816-source.tar texlive-20080816-source && lzma texlive-20080816-source.tar

これでなんとかptexlive-20090902に移動して上記オプションを指定の上でmakeが通りました。ISO_DIRをパッチを当てた/usr/textmpに指定します。

$ cd ptexlive-20090902を置いたディレクトリ/ptexlive-20090902
$ make all3
#make install

install-tl無しでできてホッとしましたが、ただでさえ大きいtexliveを別のディレクトリに丸々コピーするのでかなりのディスク容量を必要とします。texlive2009では直っていればいいのですが・・。


  • sparc64/amd64 には修正が必要なんですね。上流ではきっと直っているでしょうし、ptexliveに取り込んでおくことにします。お知らせいただいてありがとうございました。 -- 土村 2009-09-03 (木) 18:11:18


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2009-09-03 (木) 18:27:13 (3575d)