hns - 日記自動生成システム - Version 2.19.9

先月 2006年09月 来月
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
Namazu for hns による簡易全文検索
詳しくは 詳細指定/ヘルプを参照して下さい
検索式:

2006年09月08日(金) 旧暦 [n年日記] [更新:"2006/09/08 23:59:15"]

#1 [NetBSD][perl] 4.99.1 で perl 5.8.8 が作れない

まだ何の問題か全く分っていないが
  • pkgsrc を使わずに ./Configure -des しても同様の問題が起きる
  • 5.8.8 に限って言えば 3.99.21 (gcc-4.1.2)では問題がなかった
  • 3.99.21(2006/07/02) と 4.99.1(2006/08/22) では gcc には変更なし
  • とりあえず次のようなものが見える
            Making  (static)
    Warning: No Makefile!
    make: don't know how to make config. Stop
    
  • その部分は ext/util/make_ext の次の近辺
        60  # canonise into X/Y form (pname)
        61  case "$extspec" in
        62  lib*)   # Remove lib/auto prefix and /*.* suffix
        63          pname=`echo "$extspec" | sed -e 's:^lib/auto/::' -e 's:/[^/]*\.[^/]*$::' ` ;;
        64  ext*)   # Remove ext/ prefix and /pm_to_blib suffix
        65          pname=`echo "$extspec" | sed -e 's:^ext/::' -e 's:/pm_to_blib$::' ` ;;
        66  *::*)   # Convert :: to /
        67          pname=`echo "$extspec" | sed -e 's/::/\//g' ` ;;
        68  *)      pname="$extspec" ;;
        69  esac
        70  # echo "Converted $extspec to $pname"
        71  
        72  mname=`echo "$pname"   | sed -e 's!/!::!g'`
        73  depth=`echo "$pname"   | sed -e 's![^/][^/]*!..!g'`
        74  makefile=Makefile
        75  makeargs=''
        76  makeopts=''
        77  
        78  if test ! -d "ext/$pname"; then
        79      echo "      Skipping $extspec (directory does not exist)"
        80      exit 0 # not an error ?
        81  fi
        82  
        83  
        84  echo "  Making $mname ($target)"
        85  
        86  cd ext/$pname
    
    ここの $mname が空なことが問題
  • 61 行目の extspec には、次のような値が入っている
    extspec(lib/auto/DynaLoader/DynaLoader.a)
    extspec(lib/auto//.a)
    
    一行目は問題なし。二行目が問題
  • これは単に渡された引数(lib/auto//.a)が変、ということらしい
  • この ext/util/make_ext を呼んでいるのは Makefile.SH で作られた Makefile の次の部分、この第2引数 $@ が extspec の部分
     @$(LDLIBPTH) sh ext/util/make_ext $(STATIC) $@ MAKE=$(MAKE) LIBPERL_A=$(LIBPERL)
    
  • ./Configure で作られた Makefile を較べて見ると
    以前のもの
        60 static_ext =
    
    今回のもの
         60 static_ext =   lib/auto//$(LIB_EXT)
    
  • 実は、この部分を手で直して、make とやると一回失敗する
  • しかしもう一度 make とやると、先に進んで、一応 make test も通る
    All tests successful.
    u=12.64  s=4.58  cu=712.26  cs=172.37  scripts=937  tests=117403
    ttyp3:makoto@s900 9:07:17/060908(...local-src/perl-5.8.8)> 
    
  • config.sh を良く見ると、
    -extensions= ... threads/shared Errno'
    +extensions= ... threads/shared  Errno'
    
    空白が一つ多い
    -gccversion='4.1.2 20060628 prerelease (NetBSD nb1 20060602)'
    +gccversion='4.1.2 20060628 prerelease (NetBSD nb2 20060711)'
    
    gcc は全く同じではない。その他にも違いはあるが省略
また落ちた s-900
trap type 200 at 3df6ac
Stopped in pid 8994.1 (cc1) at  netbsd:pmap_pte_spill+0x68:     addi    4,31,8
db> bt
at setfault+6c8
at _prop_string_pool+ff9e8420
db> 
trap type 200 は machine check。やはり金物問題かな (でも以前の OS で、もっと安定に動いていた気もする)。 9/06 で作り直そうかな。



最近の日記
2022年08月09日
ghostscript won't work
copied files from old system:
2022年07月10日
openscad
2022年07月01日
screen and ssh-agent
2022年06月01日
CTWN at clean install
2022年05月31日
qemu with nvmm
以上、1 日分です。
タイトル一覧
カテゴリ分類
Powered by hns-2.19.9, HyperNikkiSystem Project

Count.cgi (since 2000/02/05)