[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[debian-users:41501] Re: sarge_scm_について
- From: dai inukai <inukai.d@xxxxxxxxxxxxxxx>
- Subject: [debian-users:41501] Re: sarge_scm_について
- Date: Mon, 27 Sep 2004 04:58:11 +0900
- List-help: <mailto:debian-users-ctl@debian.or.jp?body=help>
- List-id: debian-users.debian.or.jp
- List-owner: <mailto:debian-users-admin@debian.or.jp>
- List-post: <mailto:debian-users@debian.or.jp>
- List-software: fml [fml 4.0.3 release (20011202/4.0.3)]
- List-unsubscribe: <mailto:debian-users-ctl@debian.or.jp?body=unsubscribe>
- X-ml-info: If you have a question, send e-mail with the body "help" (without quotes) to the address debian-users-ctl@debian.or.jp; help=<mailto:debian-users-ctl@debian.or.jp?body=help>
- X-ml-name: debian-users
- X-mlserver: fml [fml 4.0.3 release (20011202/4.0.3)]; post only (only members can post)
- X-original-to: debian-users@debian.or.jp
- X-spam-level: *
- X-spam-status: No, hits=1.6 required=10.0 tests=IN_REP_TO,ISO2022JP_BODY,QUOTED_EMAIL_TEXT,RCVD_IN_ORBS, RCVD_IN_OSIRUSOFT_COM,REFERENCES,SPAM_PHRASE_00_01, X_OSIRU_OPEN_RELAY version=2.44
- References: <10917877.1096169459444.JavaMail.sandykev1@xxxxxxx> <13318135.1096172047053.JavaMail.logico@xxxxxxx>
- Message-id: <20040927.045809.730549523.inukai.d@xxxxxxxxxxxxxxx>
- X-mail-count: 41501
- X-mailer: Mew version 3.3 on XEmacs 21.4.15 (Security Through Obscurity)
犬飼 大と申します。
unstable版のslibとscmのDebianパッケージをインストールしてみたところ、
後述する倍精度実数演算のエラーは残りますが、特別な設定なしでも動作しま
した。Sarge版のパッケージがおかしいか、小林さんの環境で何か悪さをする
ものが入っているのかも知れません。SCM_INIT_PATHはscmが知っていますので、
わたしは設定していません。原因を特定できればDebianのコミュニティーに貢
献できる場合もあるのではないでしょうか。
# インストールしたパッケージはどのようにコンパイルされたかがわかりませ
# んので削除してしまいました。
> 途中テストで
> -----
> errors were:
> (SECTION (got expected (call)))
> ((6 5 6) (#f #t (mult-float-print-test #f)))
> ((6 5 6) (#f #t (mult-float-print-test #f)))
> ((6 5 6) (#f #t (mult-float-print-test #f)))
> ((6 5 6) (#f #t (mult-float-print-test #f)))
> ((6 5 6) (#f #t (mult-float-print-test #f)))
> -----
> と こんなのがでましたが目を閉じて見なかったことにしました
>
これはscmが内部で使用する倍精度実数演算の仮数部の丸め誤差によるもので、
コンパイラもしくはライブラリが対処すべき問題と考えます。woodyではデフォ
ルトでコンパイルして問題が出ていまませんでした。
gccでは、コンパイル時の最適化オプションによっては失われる桁があること
が知られています。woodyのgccでは-O2を指定した時に保持する桁数が最大で
したが現在のgccでは必ずしもそうではないようで、今回わたしはDebianのgcc
3.3.4の最適化オプションを-O3にしてコンパイルしました。
scmに附属のMakefileが使用するbuild.scmでわたしが書き換えた部分を添付し
ます。対症療法であること、この対処がいつまで有効かわからないこと、同時
に解決したい問題が他にもあることなどにより、scmの作者にはまだ報告して
いません。ご自分の責任でご利用下さい。
dai -- http://www4.ocn.ne.jp/~inukai/
*** build.scm.orig 2004-09-27 01:49:58.000000000 +0900
--- build.scm 2004-09-26 23:52:25.000000000 +0900
***************
*** 531,540 ****
--- 531,545 ----
(m linux "" "-lm" "/lib/libm.so" () ())
(c linux "" "-lc" "/lib/libc.so" () ())
(dlll linux "-DSUN_DL" "-ldl" #f () ())
(regex linux "" "" "" () ())
+ (editline linux "" "-lreadline" "/usr/lib/libreadline.so" () ())
+ ;; Despite libreadline.so.4(.3) in /lib with Debian-Unstable
+ ;; version(kernel 2.4.26), thte default ld.so can not find it.
+ ;; So it is symbolic-linked to /usr/lib as libreadline.so.
+ ;; dai -- 2004-07-18
(graphics linux "-I/usr/include/X11 -DX11" "-L/usr/X11R6/lib -lX11"
"/usr/X11R6/lib/libX11.so" () ())
(curses linux "" "-lcurses" "/lib/libncurses.so" () ())
(nostart linux "" "" #f () ())
(dump linux "" "" #f ("unexelf.c" "gmalloc.c") ())
***************
*** 1005,1015 ****
(defcommand compile-c-files linux
(lambda (files parms)
(and (batch:try-chopped-command
parms
! "gcc"
;;(if (member "-g" (c-includes parms)) "" "-O2")
"-c" (c-includes parms)
(include-spec "-I" parms)
(c-flags parms)
files)
--- 1010,1020 ----
(defcommand compile-c-files linux
(lambda (files parms)
(and (batch:try-chopped-command
parms
! "gcc" "-O3"
;;(if (member "-g" (c-includes parms)) "" "-O2")
"-c" (c-includes parms)
(include-spec "-I" parms)
(c-flags parms)
files)
***************
*** 1029,1039 ****
(results
(map
(lambda (fname)
(and (batch:try-command
parms
! "gcc" "-shared" "-o"
(string-append fname ".so")
(string-append fname ".o")
ld-opts)
(batch:delete-file
parms (string-append fname ".o"))
--- 1034,1050 ----
(results
(map
(lambda (fname)
(and (batch:try-command
parms
! "gcc" "-shared"
! (cond
! ((equal? fname "x") "-L/usr/X11R6/lib -lSM -lICE -lXext -lX11")
! ((equal? fname "xt") "-L/usr/X11R6/lib -lXmu -lXt -lSM -lICE -lXext --lX11")
! ((equal? fname "xaw") "-L/usr/X11R6/lib -lXaw -lXmu -lXt -lSM -lICE -lXext -lX11 -lXpm")
! (else ""))
! "-o"
(string-append fname ".so")
(string-append fname ".o")
ld-opts)
(batch:delete-file
parms (string-append fname ".o"))
***************
*** 1618,1629 ****
(lambda (fname)
(and (batch:try-command
parms
"cc" "-shared"
(cond
- ((equal? fname "edline") "-lreadline")
((equal? fname "x") "-L/usr/X11R6/lib -lSM -lICE -lXext -lX11 -lxpg4")
(else ""))
"-o"
(string-append fname ".so")
(string-append fname ".o"))
(batch:delete-file
--- 1629,1641 ----
(lambda (fname)
(and (batch:try-command
parms
"cc" "-shared"
(cond
((equal? fname "x") "-L/usr/X11R6/lib -lSM -lICE -lXext -lX11 -lxpg4")
+ ((equal? fname "xt") "-L/usr/X11R6/lib -lXmu -lXt -lSM -lICE -lXext --lX11")
+ ((equal? fname "xaw") "-L/usr/X11R6/lib -lXaw -lXmu -lXt -lSM -lICE -lXext -lX11 -lXpm")
(else ""))
"-o"
(string-append fname ".so")
(string-append fname ".o"))
(batch:delete-file