[Go to BBS]
All articles in a thread
SubjectSAD on Snow Leopard
Article No729
Date: 2009/09/11(Fri) 12:59:13
ContributorKamada
ユーザー各位

先月末に発売されたMacOS10.6、通称Snow LeopardにおけるSADの状況は、以下に述べる状態です。
(1)既存実行モジュール、(2)gccインストール共に、ナイーブなやり方では問題が解決出来ていません。
日常的にSADを使う方は、暫くSnow Leopardの導入を待たれた方がよいでしょう。
また、Snow Leopard上でSADを使えるように出来た方は、ぜひその情報を教えて下さい。

--------------------------------------
(1)既ににコンパイルしたSADモジュールを実行しようとすると、実行モジュールsad1.exeをフォルダーi386-Darwin10で探し、見つからないと言います。
そこで、既存フォルダーi386-Darwin9(この中にsad1.exeが有る)を複製、名前をi386-Darwin10とすると、以下のエラーメッセージで停止します。
[elcondorpasa:~] kamada% gs /scratch/kamada.elcondorpasa.kek.jp.8746.buffer~
dyld: Symbol not found: _bTkCanvTextDebug
Referenced from: /usr/local/SAD/arch/i386-Darwin10/bin/sad1.exe
Expected in: /usr/lib/libtk8.5.dylib

Trace/BPT trap
[elcondorpasa:~] kamada%

--------------------------------------
(2)一方、新規にコンパイルし直すため、Macportを使ってgcc4.5をインストールしようとすると、次のメッセージで停止し、gccがインストール出来ません。
[elcondorpasa:~] kamada% sudo port install gcc45
Password:
---> Computing dependencies for gcc45
---> Fetching gcc45
---> Attempting to fetch gcc-core-4.5-20090827.tar.bz2 from ftp://gcc.gnu.org/pub/gcc/snapshots/4.5-20090827/
---> Attempting to fetch gcc-fortran-4.5-20090827.tar.bz2 from ftp://gcc.gnu.org/pub/gcc/snapshots/4.5-20090827/
---> Attempting to fetch gcc-g++-4.5-20090827.tar.bz2 from ftp://gcc.gnu.org/pub/gcc/snapshots/4.5-20090827/
---> Attempting to fetch gcc-java-4.5-20090827.tar.bz2 from ftp://gcc.gnu.org/pub/gcc/snapshots/4.5-20090827/
---> Attempting to fetch gcc-objc-4.5-20090827.tar.bz2 from ftp://gcc.gnu.org/pub/gcc/snapshots/4.5-20090827/
---> Verifying checksum(s) for gcc45
---> Extracting gcc45
---> Configuring gcc45
---> Building gcc45
Error: Target org.macports.build returned: shell command " cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_lang_gcc45/work/build" && /usr/bin/make -j8 bootstrap " returned error 2
Command output: /usr/bin/ranlib: file: ../../.././gcc/x86_64/libgcc.a(_fixtfdi.o) has no symbols
/usr/bin/ranlib: file: ../../.././gcc/x86_64/libgcc.a(_fixunstfdi.o) has no symbols
/usr/bin/ranlib: file: ../../.././gcc/x86_64/libgcc.a(_floatditf.o) has no symbols
/usr/bin/ranlib: file: ../../.././gcc/x86_64/libgcc.a(_floatunditf.o) has no symbols
/usr/bin/ranlib: file: ../../.././gcc/x86_64/libgcc.a(_fixtfti.o) has no symbols
/usr/bin/ranlib: file: ../../.././gcc/x86_64/libgcc.a(_fixunstfti.o) has no symbols
/usr/bin/ranlib: file: ../../.././gcc/x86_64/libgcc.a(_floattitf.o) has no symbols
/usr/bin/ranlib: file: ../../.././gcc/x86_64/libgcc.a(_floatuntitf.o) has no symbols
/usr/bin/install -c -m 644 libgcov.a ../../.././gcc/x86_64/
chmod 644 ../../.././gcc/x86_64/libgcov.a
/usr/bin/ranlib -c ../../.././gcc/x86_64/libgcov.a
parts="crt3.o crtfastmath.o crtprec32.o crtprec64.o crtprec80.o";\
for file in $parts; do\
rm -f ../../.././gcc/x86_64/$file;\
/usr/bin/install -c -m 644 $file ../../.././gcc/x86_64/;\
done
/usr/bin/strip -o libgcc_s.10.4.dylib_T \
-s ../../../gcc-4.5-20090827/libgcc/../gcc/config/i386/darwin-libgcc.10.4.ver -c -u \
./libgcc_s.1.dylib.tmp
/usr/bin/strip -o libgcc_s.10.5.dylib_T \
-s ../../../gcc-4.5-20090827/libgcc/../gcc/config/i386/darwin-libgcc.10.5.ver -c -u \
./libgcc_s.1.dylib.tmp
/usr/bin/strip: can't open file: ./libgcc_s.1.dylib.tmp (No such file or directory)
make[3]: *** [libgcc_s.10.4.dylib] Error 1
/usr/bin/strip: can't open file: ./libgcc_s.1.dylib.tmp (No such file or directory)
make[3]: *** Waiting for unfinished jobs....
make[3]: *** [libgcc_s.10.5.dylib] Error 1
make[2]: *** [all-stage1-target-libgcc] Error 2
make[1]: *** [stage1-bubble] Error 2
make: *** [bootstrap] Error 2

Error: Status 1 encountered during processing.
[elcondorpasa:~] kamada%

SubjectRe: SAD on Snow Leopard
Article No730
Date: 2009/09/15(Tue) 11:32:50
Contributor管理人さん
> (2)一方、新規にコンパイルし直すため、Macportを使ってgcc4.5をインストールしようとすると、次のメッセージで停止し、gccがインストール出来ません。
10.6の環境が無いので試しておりませんが、
gcc4.4では如何でしょうか?

finkでは64bit gfortranがdefaultとなっているようですが...
http://macresearch.org/gfortran-64-bit-osx-106

SubjectRe^2: SAD on Snow Leopard
Article No731
Date: 2009/09/15(Tue) 13:02:03
ContributorKamada
> > (2)一方、新規にコンパイルし直すため、Macportを使ってgcc4.5をインストールしようとすると、次のメッセージで停止し、gccがインストール出来ません。
> 10.6の環境が無いので試しておりませんが、
> gcc4.4では如何でしょうか?
>
> finkでは64bit gfortranがdefaultとなっているようですが...
> http://macresearch.org/gfortran-64-bit-osx-106

gcc4.4についても同様にインストール出来ません。
このトラブルは既にBugzill上に報告されており、その後のフォローアップ状況を含めて、以下で見る事が出来ます。
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41180
今の所、まだ解決が付いていないと思われます。

SubjectRe^3: SAD on Snow Leopard
Article No732
Date: 2009/09/15(Tue) 16:57:21
Contributor管理人さん
> gcc4.4についても同様にインストール出来ません。
> このトラブルは既にBugzill上に報告されており、その後のフォローアップ状況を含めて、以下で見る事が出来ます。
> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41180
> 今の所、まだ解決が付いていないと思われます。

はて?
試してはいませんが、10.6用のgcc4.4のbinaryも以下のところにあります。
http://hpc.sourceforge.net/

SubjectRe^4: SAD on Snow Leopard
Article No733
Date: 2009/09/15(Tue) 18:55:56
ContributorKamada
> > gcc4.4についても同様にインストール出来ません。
> > このトラブルは既にBugzill上に報告されており、その後のフォローアップ状況を含めて、以下で見る事が出来ます。
> > http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41180
> > 今の所、まだ解決が付いていないと思われます。
>
> はて?
> 試してはいませんが、10.6用のgcc4.4のbinaryも以下のところにあります。
> http://hpc.sourceforge.net/

わお、有り難うございます。Macportsで行き詰まっていたのですが、ある所にはありますね。
早速ここにあったbinaryを使って、SADのコンパイルを試みてみました。
一応途中まで順調にコンパイルが進行して居るように見え、最後に次のエラーで留まりました。
これはコンパイラーの問題ではないのかも。

use ISO_C_BINDING
1
Fatal Error: Can't open module file 'iso_c_binding.mod' for reading at (1): No such file or directory
make[2]: *** [itfmessage.o] Error 1
make[1]: *** [all] Error 2
make: *** [all] Error 2
[elcondorpasa:~/UNIX/oldsad-amorita/oldsad-amorita-snapshot-2905] kamada%

SubjectRe^5: SAD on Snow Leopard
Article No734
Date: 2009/09/15(Tue) 21:06:49
Contributor管理人さん
> use ISO_C_BINDING
> 1
> Fatal Error: Can't open module file 'iso_c_binding.mod' for reading at (1): No such file or directory

ISO_C_BINDINGはFortran2003規格のもので、gcc4.3以降は標準で入っている筈です。
入れたgccが悪かったのか、パス設定が悪いのではないかと思います。
nm /usr/local/lib/gcc-4.4.x/x86_64/libgfortran.a |grep iso_c_binding
などでシンボルが入っているかどうか調べられるとと思います。

参考
http://gcc.gnu.org/onlinedocs/gcc-4.4.1/gfortran/Intrinsic-Modules.html#Intrinsic-Modules

SubjectRe^6: SAD on Snow Leopard
Article No735
Date: 2009/09/16(Wed) 11:22:28
Contributor管理人さん
間違えました。
http://hpc.sourceforge.net/から配られているbinaryでは、
/usr/local/lib/libgfortran.a
/usr/local/lib/i386/libgfortran.a
に入っているようです。

SubjectRe^7: SAD on Snow Leopard
Article No736
Date: 2009/09/16(Wed) 15:28:46
ContributorKamada
> 間違えました。
> http://hpc.sourceforge.net/から配られているbinaryでは、
> /usr/local/lib/libgfortran.a
> /usr/local/lib/i386/libgfortran.a
> に入っているようです。

/usr/local/lib/libgfortran.a
および
/usr/local/lib/i386/libgfortran.a
について、次の結果が帰ってきます。どう解釈するのか、教えて下さい。

[elcondorpasa:~/UNIX/oldsad-amorita/oldsad-amorita-snapshot-2905] kamada% nm /usr/local/lib/libgfortran.a |grep iso_c_binding
nm: no name list

nm: no name list
U ___iso_c_binding_c_f_pointer
0000000000000140 T ___iso_c_binding_c_f_pointer_c10
0000000000002590 S ___iso_c_binding_c_f_pointer_c10.eh
0000000000000100 T ___iso_c_binding_c_f_pointer_c4
0000000000002520 S ___iso_c_binding_c_f_pointer_c4.eh
0000000000000120 T ___iso_c_binding_c_f_pointer_c8
0000000000002558 S ___iso_c_binding_c_f_pointer_c8.eh
nm: 0000000000000000 T ___iso_c_binding_c_f_pointer_i1
0000000000002360 S ___iso_c_binding_c_f_pointer_i1.eh
0000000000000080 T ___iso_c_binding_c_f_pointer_i16
0000000000002440 S ___iso_c_binding_c_f_pointer_i16.eh
0000000000000020 T ___iso_c_binding_c_f_pointer_i2
0000000000002398 S ___iso_c_binding_c_f_pointer_i2.eh
0000000000000040 T ___iso_c_binding_c_f_pointer_i4
00000000000023d0 S ___iso_c_binding_c_f_pointer_i4.eh
no name list0000000000000060 T ___iso_c_binding_c_f_pointer_i8

0000000000002408 S ___iso_c_binding_c_f_pointer_i8.eh
0000000000000180 T ___iso_c_binding_c_f_pointer_l1
0000000000002600 S ___iso_c_binding_c_f_pointer_l1.eh
00000000000001a0 T ___iso_c_binding_c_f_pointer_l2
0000000000002638 S ___iso_c_binding_c_f_pointer_l2.eh
00000000000001c0 T ___iso_c_binding_c_f_pointer_l4
0000000000002670 S ___iso_c_binding_c_f_pointer_l4.eh
00000000000001e0 T ___iso_c_binding_c_f_pointer_l8
00000000000026a8 S ___iso_c_binding_c_f_pointer_l8.eh
nm: 00000000000000e0 T ___iso_c_binding_c_f_pointer_r10
00000000000024e8 S ___iso_c_binding_c_f_pointer_r10.eh
no name list00000000000000a0 T ___iso_c_binding_c_f_pointer_r4

0000000000002478 S ___iso_c_binding_c_f_pointer_r4.eh
00000000000000c0 T ___iso_c_binding_c_f_pointer_r8
00000000000024b0 S ___iso_c_binding_c_f_pointer_r8.eh
0000000000000160 T ___iso_c_binding_c_f_pointer_s0
00000000000025c8 S ___iso_c_binding_c_f_pointer_s0.eh
/usr/local/lib/libgfortran.a(iso_c_binding.o):
0000000000000170 T ___iso_c_binding_c_f_pointer
00000000000019d8 S ___iso_c_binding_c_f_pointer.eh
00000000000001a0 T ___iso_c_binding_c_f_pointer_d0
0000000000001a10 S ___iso_c_binding_c_f_pointer_d0.eh
0000000000000000 T ___iso_c_binding_c_f_pointer_u0
0000000000001990 S ___iso_c_binding_c_f_pointer_u0.eh
nm: no name list

nm: no name list

[elcondorpasa:~/UNIX/oldsad-amorita/oldsad-amorita-snapshot-2905] kamada% nm /usr/local/lib/i386/libgfortran.a |grep iso_c_binding
nm: no name list
nm: no name list
U ___iso_c_binding_c_f_pointer
00000240 T ___iso_c_binding_c_f_pointer_c10
000001c0 T ___iso_c_binding_c_f_pointer_c4
nm: 00000200 T ___iso_c_binding_c_f_pointer_c8
no name list00000000 T ___iso_c_binding_c_f_pointer_i1

00000040 T ___iso_c_binding_c_f_pointer_i2
00000080 T ___iso_c_binding_c_f_pointer_i4
000000c0 T ___iso_c_binding_c_f_pointer_i8
000002c0 T ___iso_c_binding_c_f_pointer_l1
00000300 T ___iso_c_binding_c_f_pointer_l2
00000340 T ___iso_c_binding_c_f_pointer_l4
nm: 00000380 T ___iso_c_binding_c_f_pointer_l8
no name list00000180 T ___iso_c_binding_c_f_pointer_r10

00000100 T ___iso_c_binding_c_f_pointer_r4
00000140 T ___iso_c_binding_c_f_pointer_r8
00000280 T ___iso_c_binding_c_f_pointer_s0
/usr/local/lib/i386/libgfortran.a(iso_c_binding.o):
00000150 T ___iso_c_binding_c_f_pointer
nm: 000001a0 T ___iso_c_binding_c_f_pointer_d0
no name list00000000 T ___iso_c_binding_c_f_pointer_u0

nm: no name list

nm: no name list
[elcondorpasa:~/UNIX/oldsad-amorita/oldsad-amorita-snapshot-2905] kamada%

SubjectRe^8: SAD on Snow Leopard
Article No737
Date: 2009/09/16(Wed) 17:53:30
Contributor管理人さん
> > 間違えました。
> > http://hpc.sourceforge.net/から配られているbinaryでは、
> > /usr/local/lib/libgfortran.a
> > /usr/local/lib/i386/libgfortran.a
> /usr/local/lib/libgfortran.a
> および
> /usr/local/lib/i386/libgfortran.a
> について、次の結果が帰ってきます。どう解釈するのか、教えて下さい。
>
> [elcondorpasa:~/UNIX/oldsad-amorita/oldsad-amorita-snapshot-2905] kamada% nm /usr/local/lib/libgfortran.a |grep iso_c_binding
> nm: no name list
>
> nm: no name list
> U ___iso_c_binding_c_f_pointer
> 0000000000000140 T ___iso_c_binding_c_f_pointer_c10
> 0000000000002590 S ___iso_c_binding_c_f_pointer_c10.eh
> 0000000000000100 T ___iso_c_binding_c_f_pointer_c4
> 0000000000002520 S ___iso_c_binding_c_f_pointer_c4.eh
> 0000000000000120 T ___iso_c_binding_c_f_pointer_c8
> 0000000000002558 S ___iso_c_binding_c_f_pointer_c8.eh
> nm: 0000000000000000 T ___iso_c_binding_c_f_pointer_i1
> 0000000000002360 S ___iso_c_binding_c_f_pointer_i1.eh
> 0000000000000080 T ___iso_c_binding_c_f_pointer_i16
> 0000000000002440 S ___iso_c_binding_c_f_pointer_i16.eh
> 0000000000000020 T ___iso_c_binding_c_f_pointer_i2
> 0000000000002398 S ___iso_c_binding_c_f_pointer_i2.eh
> 0000000000000040 T ___iso_c_binding_c_f_pointer_i4
> 00000000000023d0 S ___iso_c_binding_c_f_pointer_i4.eh
> no name list0000000000000060 T ___iso_c_binding_c_f_pointer_i8

nmコマンドは、指定したライブラリ内に存在するシンボルテーブルを表示します。
インストールしたgccのbinaryにISO_C_BINDINGが入っていないことを疑いましたが、
入っているようですので、コンパイルエラーとなる原因は分かりません。

SubjectRe: SAD on Snow Leopard
Article No742
Date: 2009/10/03(Sat) 09:46:02
ContributorK. Oide
全てをgcc 4.4.1でコンパイルし直せば動くようです。

gcc-4 (GCC) 4.4.1
Copyright (C) 2009 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

GNU Fortran (GCC) 4.4.1
Copyright (C) 2009 Free Software Foundation, Inc.

GNU Fortran comes with NO WARRANTY, to the extent permitted by law.
You may redistribute copies of GNU Fortran
under the terms of the GNU General Public License.
For more information about these matters, see the file named COPYING

システムソフトウェアの概要:

システムのバージョン:Mac OS X 10.6.1 (10B504)
カーネルのバージョン:Darwin 10.0.0
起動ボリューム:Macintosh HD
起動モード:通常
安全な仮想メモリ:無効
64 ビットカーネルと拡張機能:いいえ
起動してからの時間:12 日 4:55

SubjectRe^2: SAD on Snow Leopard
Article No743
Date: 2009/10/03(Sat) 12:45:59
ContributorK. Oide
さらにsim/sad_signal.hに

#define _XOPEN_SOURCE 1

を追加する必要がありました。Check-in します。

SubjectRe: SAD on Snow Leopard
Article No752
Date: 2009/11/27(Fri) 02:10:35
ContributorKamada
遅ればせながら、SAD on snow leopardの現状を報告します。

(1)mainトランクは正常に動くようだ
生出さんが指摘した「sim/sad_signal.hに#define _XOPEN_SOURCE 1を追加する」事は,現在の配布には既に含まれています。以下はgcc4.4.1でコンパイルして行ったbench2.sadの結果です。
実行環境 MacPro、MacOSX10.6.2、プロセッサ2×2.26GHz Quad-Core Intel Xeon、メモリ12GB
*** Welcome to SAD Ver.1.0.10.3.8a built at 2009-11-25 00:37:50 +0900 ***
*** Today: 01:05:02 Wednesday 11/25/2009 ***
cpu time= 1.3885E-02(sec) dt= 13.885(msec) free area:: 1796
OFF LOG ECHO;READ 77 ; 23
cpu time= 1.4084E-02(sec) dt= 14.084(msec) free area:: 1796
cpu time= 1.4184E-02(sec) dt= 14.184(msec) free area:: 1795
*** SADScript Initialization: /Users/susumu/UNIX/oldsad-main/oldsad-snapshot-2009-11-24/Packages/init.n ***
(途中出力略)
*********** summary of the bench mark
Function Test 4.029098235070705
Optics Test3.7229652404785156
Tracking Test4.466461181640625
Matching Test3.3189849853515625
Overall Score (smaller is faster): .2158101958533128

(2)binary配布も動く
同じ実行環境で、VirtualBox上でBinary配布を使った結果は以下の様になりました。
*** Welcome to SAD Ver.1.0.10.3.8a built at 2009-11-27 01:30:32 +0900 ***
*** Today: 01:31:05 Friday 11/27/2009 ***
cpu time= 1.6000E-02(sec) dt= 16.000(msec) free area:: 1796
OFF LOG ECHO;READ 77 ; 23
cpu time= 2.0000E-02(sec) dt= 20.000(msec) free area:: 1796
cpu time= 2.0000E-02(sec) dt= 20.000(msec) free area:: 1795
*** SADScript Initialization: /SAD/share/Packages/init.n ***
(途中出力略)
*********** summary of the bench mark
Function Test 3.308206930756569
Optics Test3.8242392539978027
Tracking Test5.028312683105469
Matching Test3.4802188873291016
Overall Score (smaller is faster): .2072331944391841

(3)amoritaブランチはコンパイルエラーになる
ちなみに、amoritaブランチはgcc4.4.1のコンパイルが下記のメッセージと共にエラー終了します。森田さんによれば、この原因はコンパイラー側にあるとのことです。
/Users/susumu/UNIX/oldsad-amorita/oldsad-amorita-snapshot-2918/src/sim/sad_signal.h:5 ¤«¤é include ¤µ¤ì¤¿\Õ\¡\¤\ëÃæ,
/Users/susumu/UNIX/oldsad-amorita/oldsad-amorita-snapshot-2918/src/tfProcess_.c:8 ¤«¤é:
/usr/include/ucontext.h:42:2: error: #error ucontext routines are deprecated, and require _XOPEN_SOURCE to be defined
make[2]: *** [tfProcess_.o] Error 1
make[1]: *** [all] Error 2
make: *** [all] Error 2