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 を見ましたが,どこに原因があるのか特定できておりません. 以上,よろしくお願いします.


  • ご意見をどうぞ に書いていただきましたが、分量が多いのでこちらに移動させていただきました。 適当に書式を調整しましたが、意図と違うところがあればすいません。 -- 土村 2008-02-27 (水) 20:16:17
  • すみません.移動ありがとうございます.スペックファイルを元にしているので動作報告に書くべきか,少し戸惑ってしまいました. -- Thor 2008-02-27 (水) 20:26:31
  • 私がバグを仕込んでしまってるかもしれません。RPM でのビルドを試す前に、普通に make していただいて、その時の my_option に "conf_option --enable-shared" と "conf_option --enable-kanji-iconv" を書き加えていただけますでしょうか。これでエラーが再現するなら ptexenc のバグが原因だということになりそうです。 -- 土村 2008-02-27 (水) 20:27:16
  • ご返答ありがとうございます.ご教示いただいた内容でリトライしてみます. ベースにしているスペックファイルが色々と改変を加えておかしな事になって しまっているのが原因かもしれません.
    < TMP_PREFIX=`pwd`%{_prefix}
    ---
    > TMP_PREFIX=`pwd`/build
    という箇所が引っかかり,もしかしたら TMP_PREFIX の定義のされ方でうまく行くかもしれません.-- Thor 2008-02-27 (水) 20:26:31 -- Thor 2008-02-27 (水) 20:28:28
  • 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 2008-02-27 (水) 20:45:40

  • エラーこちらでも再現しました。RPM をしばらく作っていなかったということですね、すいません。修正してみます。 -- 土村 2008-02-27 (水) 23:34:55
  • ご確認ありがとうございます.ざっと見たところ,libkpathsea とほとんど同じようにインストールされているように見えたため,お手上げ状態でした. -- Thor 2008-02-28 (木) 12:59:54
  • ようやく修正しました。海外出張で遅くなってすいません。手元での RPM に関しては修正しなくても動いていました。TMP_PREFIX の定義のしかたが影響しているのかもしれません。 しかしながら make がうまく通らないのはやはり問題で、今回の修正が必要であることには変わりありません。これで TMP_PREFIX の定義によらず動くようになったと思います。 -- 土村 2008-03-11 (火) 23:14:22


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2008-03-11 (火) 23:15:08 (4025d)