openSUSE 10.3 †
- ページ: 動作報告
- 投稿者: Thor?
- 状態: 失敗
- ptetexバージョン:20080128
- 投稿日: 2008-02-27 (水) 17:46:03
必要パッケージ †
独自にspec ファイルを作成し,rpm でインストールしようと画策しています (x86_64).
スペックファイルは基本的に ptetex.spec ptetex-suse101.spec を独自に改良した ptetex-suse102.spec を元にしており,依存関係だけを以下の通り
設定してあります.
PreReq: ed mktemp
BuildRequires: ed mktemp
PreReq: ghostscript-cjk %{fontsjp}
BuildRequires: ghostscript-cjk %{fontsjp}
BuildRequires: rpm
BuildRequires: cpp gzip bzip2 tar patch file nkf
BuildRequires: binutils coreutils findutils diffutils
BuildRequires: gcc gcc-c++ libgcc >= 4.0.2
BuildRequires: glibc glibc-devel glibc-locale >= 2.3.5
BuildRequires: make libstdc++ libstdc++-devel
BuildRequires: bison flex libtool automake autoconf
BuildRequires: zlib-devel libpng-devel ncurses-devel
BuildRequires: xorg-x11 xorg-x11-devel
BuildRequires: openmotif openmotif-devel
BuildRequires: freetype2 freetype2-devel >= 2.1.10
Obsoletes: tetex = 3.0 te_cont te_kpath te_latex te_mpost te_omega
Obsoletes: te_ptex jsclasses
Obsoletes: te_ams te_dvilj te_eplai te_web
Obsoletes: cjk-latex latex-ucs
Obsoletes: TeX-Guy
Requires: openmotif-libs xorg-x11-libs
Provides: texlive texlive-bin
Provides: texlive-devel texlive-bin-devel
Provides: texlive-cjk texlive-bin-cjk texlive-cjk-latex-extras
Provides: texlive-dvilj texlive-bin-dvilj
Provides: texlive-latex texlive-bin-latex
Provides: texlive-metapost texlive-bin-metapost
Provides: texlive-nfs
Provides: texlive-omega texlive-bin-omega
Provides: texlive-context
Conflicts: texlive-xetex texlive-bin-xetex
Distribution: SUSE Linux 10.3
my_option †
my_option は次の通りの差分があります.
/;'
37c37
< KANJI_CODE=UTF8
---
> # KANJI_CODE=UTF8
50c50
< conf_option --with-xdvi-x-toolkit=motif
---
> # conf_option --with-xdvi-x-toolkit=motif
60c60
< XDVI=echo
---
> # XDVI=echo
64c64
< PSPDF=echo
---
> # PSPDF=echo
118c118
< SYSTEM_FREETYPE2=no
---
> # SYSTEM_FREETYPE2=yes
メッセージ †
現在 open SUSE 10.3 用の RPM の SPEC ファイルを編集中です.
通常通り ptetex3 をソースインストールする場合はエラーにならないのですが,
RPM をビルドするとエラーになります.
エラー内容は以下の通りです. libptexenc.la が適切なディレクトリに配置されていない
ようなエラーが表示されます.
/usr/bin/install -c .libs/vptovf /home/thor/rpm/BUILD/ptetex3-20080128/build/bin/vptovf
libtool: install: warning: `../kpathsea/libkpathsea.la' has not been \
installed in `/usr/lib'
...
gmake[3]: ディレクトリ `/home/thor/rpm/BUILD/ptetex3-20080128/build/tetex-src-3.0/texk/ptexenc' \
に入ります
/bin/sh ./../mkinstalldirs /home/thor/rpm/BUILD/ptetex3-20080128/build/lib
/bin/sh ../libtool --mode=install /usr/bin/install -c -m 644 \
libptexenc.la /home/thor/rpm/BUILD/ptetex3-20080128/build/lib
libtool: install: error: cannot install `libptexenc.la' to a directory \
not ending in /usr/lib
gmake[3]: *** [install-exec] エラー 1
gmake[3]: ディレクトリ `/home/thor/rpm/BUILD/ptetex3-20080128/build/tetex-src-3.0/texk/ptexenc' \
から出ます
gmake[2]: *** [install] エラー 1
gmake[2]: ディレクトリ `/home/thor/rpm/BUILD/ptetex3-20080128/build/tetex-src-3.0/texk' から出ます
gmake[1]: *** [install] エラー 1
gmake[1]: ディレクトリ `/home/thor/rpm/BUILD/ptetex3-20080128/build/tetex-src-3.0' から出ます
make: *** [stage4] エラー 2
エラー: /var/tmp/rpm-tmp.77864 の不正な終了ステータス (%build)
RPM ビルドエラー:
/var/tmp/rpm-tmp.77864 の不正な終了ステータス (%build)
何らの対処方法をご教示いただけないでしょうか.4make-install.sh や Makefile を見ましたが,どこに原因があるのか特定できておりません.
以上,よろしくお願いします.
- ご意見をどうぞ に書いていただきましたが、分量が多いのでこちらに移動させていただきました。
適当に書式を調整しましたが、意図と違うところがあればすいません。 -- 土村
- すみません.移動ありがとうございます.スペックファイルを元にしているので動作報告に書くべきか,少し戸惑ってしまいました. -- Thor
- 私がバグを仕込んでしまってるかもしれません。RPM でのビルドを試す前に、普通に make していただいて、その時の my_option に "conf_option --enable-shared" と "conf_option --enable-kanji-iconv" を書き加えていただけますでしょうか。これでエラーが再現するなら ptexenc のバグが原因だということになりそうです。 -- 土村
- ご返答ありがとうございます.ご教示いただいた内容でリトライしてみます.
ベースにしているスペックファイルが色々と改変を加えておかしな事になって
しまっているのが原因かもしれません.
< TMP_PREFIX=`pwd`%{_prefix}
---
> TMP_PREFIX=`pwd`/build
という箇所が引っかかり,もしかしたら TMP_PREFIX の定義のされ方でうまく行くかもしれません.-- Thor -- Thor
- SPEC ファイルを用いずに,通常通り my_option に "conf_option --enable-shared" と "conf_option --enable-kanji-iconv" を有効にして make したら以下のように,同様にエラーがでました. エラー内容は以下の通りです.
gmake[4]: ディレクトリ `/var/tmp/ptetex3/tetex-src-3.0/texk/kpathsea' に入ります
/bin/sh ./../mkinstalldirs /var/tmp/ptetex3/bin /var/tmp/ptetex3/bin \
/var/tmp/ptetex3/lib /var/tmp/ptetex3/share/texmf/web2c
mkdir /var/tmp/ptetex3/lib
ranlib /var/tmp/ptetex3/lib/libkpathsea.a
chmod 644 /var/tmp/ptetex3/lib/libkpathsea.a
libtool: install: warning: remember to run `libtool --finish /usr/local/teTeX/lib'
↑ここで warning が出ています.
/bin/sh ../libtool --mode=install /usr/bin/install -c kpsewhich /var/tmp/ptetex3/bin
libtool: install: warning: `../kpathsea/libkpathsea.la' \
has not been installed in `/usr/local/teTeX/lib'
↑ここでも warning が出ています.
gmake[4]: ディレクトリ `/var/tmp/ptetex3/tetex-src-3.0/texk/kpathsea' から出ます
...
gmake[4]: ディレクトリ `/var/tmp/ptetex3/tetex-src-3.0/texk/web2c' に入ります
/bin/sh ./../mkinstalldirs /var/tmp/ptetex3/bin
for p in omega; do /bin/sh ../libtool --mode=install /usr/bin/install -c $p \
/var/tmp/ptetex3/bin; done
libtool: install: warning: `../kpathsea/libkpathsea.la' \
has not been installed in `/usr/local/teTeX/lib'
/usr/bin/install -c .libs/omega /var/tmp/ptetex3/bin/omega
...
gmake[4]: ディレクトリ `/var/tmp/ptetex3/tetex-src-3.0/texk/ptexenc' に入ります
/bin/sh ./../mkinstalldirs /var/tmp/ptetex3/lib
/bin/sh ../libtool --mode=install /usr/bin/install -c -m 644 libptexenc.la \
/var/tmp/ptetex3/lib
libtool: install: error: cannot install `libptexenc.la' to a directory not \
ending in /usr/local/teTeX/lib
↑ちょうど,ここで libptexenc.la のエラーになります.
gmake[4]: *** [install-exec] エラー 1
gmake[4]: ディレクトリ `/var/tmp/ptetex3/tetex-src-3.0/texk/ptexenc' から出ます
gmake[3]: *** [install] エラー 1
gmake[3]: ディレクトリ `/var/tmp/ptetex3/tetex-src-3.0/texk' から出ます
gmake[2]: *** [install] エラー 1
gmake[2]: ディレクトリ `/var/tmp/ptetex3/tetex-src-3.0' から出ます
make[1]: *** [stage4] エラー 2
make[1]: ディレクトリ `/home/thor/tex/tex/ptetex3-20080128' から出ます
Those messages are stored in 'log-0227-2031'.
make: *** [all0] エラー 1
お役に立つかどうか分かりませんが,システムの libtool, gmake, install のバージョンは
以下の通りです.
- libtool: ltmain.sh (GNU libtool) 1.5.24 (1.1220.2.455 2007/06/24 02:13:29)
- gmake: GNU Make 3.81
- install: install (GNU coreutils) 6.9
以上,よろしくお願いします.-- Thor
- エラーこちらでも再現しました。RPM をしばらく作っていなかったということですね、すいません。修正してみます。 -- 土村
- ご確認ありがとうございます.ざっと見たところ,libkpathsea とほとんど同じようにインストールされているように見えたため,お手上げ状態でした. -- Thor
- ようやく修正しました。海外出張で遅くなってすいません。手元での RPM に関しては修正しなくても動いていました。TMP_PREFIX の定義のしかたが影響しているのかもしれません。
しかしながら make がうまく通らないのはやはり問題で、今回の修正が必要であることには変わりありません。これで TMP_PREFIX の定義によらず動くようになったと思います。 -- 土村