Perl 5.11.0 がでてたのでコンパイルしてみた
とりあえずコンパイルしてみた.
気をつける点としては以下.
- Developer Release なので -Dusedevel が必要
- MacOS だと lib/locale.t がコケた
- MacOS だったら DTrace 有効にしてみるか
- perldoc INSTALL 参照
- ついでにUniversal に
- perldoc README.macosx 参照
$ wget http://search.cpan.org/CPAN/authors/id/J/JE/JESSE/perl-5.11.0.tar.bz2 $ tar jxf perl-5.11.0.tar.bz2 $ export SDK=/Developer/SDKs/MacOSX10.6.sdk $ sh Configure -de -Dusedevel -Dusedtrace -Dprefix=$HOME/modules/perl-5.11.0 \ -Accflags="-arch i686 -arch x86_64 -nostdinc -B$SDK/usr/include/gcc \ -B$SDK/usr/lib/gcc -isystem$SDK/usr/include \ -F$SDK/System/Library/Frameworks" \ -Aldflags="-arch i686 -arch x86_64 -Wl,-syslibroot,$SDK" \ 2> c.err | tee c.log $ make 2> m.err | tee m.log $ env LANG=C make test 2> mt.err | tee mt.log $ make install 24 120 1911 (中略) # パスを通したりした $ rehash $ perl5.11.0 -e 'sub a {}; sleep 10; a' $ sudo dtrace -s perl.d # 別ターミナルで10秒以内に起動 dtrace: script 'perl.d' matched 8 probes CPU ID FUNCTION:NAME 1 22188 Perl_pp_entersub:sub-entry -> a (-e:1) 1 22192 Perl_pp_leavesub:sub-return <- a (-e:1) ^C $ cat perl.d perl*:::sub-entry, perl*:::sub-return { printf("%s %s (%s:%d)", probename == "sub-entry" ? "->" : "<-", copyinstr(arg0), copyinstr(arg1), arg2); } $ sudo dtrace -l | awk '/perl/{print $3,$4,$5}' | column.pl perl5.11.0 Perl_pp_sort sub-entry perl5.11.0 Perl_pp_dbstate sub-entry perl5.11.0 Perl_pp_entersub sub-entry perl5.11.0 Perl_pp_return sub-return perl5.11.0 Perl_pp_last sub-return perl5.11.0 Perl_dounwind sub-return perl5.11.0 Perl_pp_leavesub sub-return perl5.11.0 Perl_pp_leavesublv sub-return $ cd $HOME/modules/perl-5.11.0 $ file bin/perl5.11.0 bin/perl5.11.0: Mach-O universal binary with 2 architectures bin/perl5.11.0 (for architecture i386): Mach-O executable i386 bin/perl5.11.0 (for architecture x86_64): Mach-O 64-bit executable x86_64 $ arch -i386 perl5.11.0 -v|egrep 11 This is perl, v5.11.0 (*) built for darwin-2level $ arch -x86_64 perl5.11.0 -v |egrep 11 This is perl, v5.11.0 (*) built for darwin-2level
どうも,lib/locale.t でFAIL するけど気にしない.*1
$ wget http://search.cpan.org/CPAN/authors/id/J/JE/JESSE/perl-5.11.0.tar.bz2 $ tar jxf perl-5.11.0.tar.bz2 $ cd perl-5.11.0 $ ./configure -de -Dusedevel -Dprefix=$HOME/moduels/perl-5.11.0 2> c.err | tee c.log $ make 2> m.err | tee m.log $ make test 2> mt.err | tee mt.log $ make install
$ wget http://search.cpan.org/CPAN/authors/id/J/JE/JESSE/perl-5.11.0.tar.bz2 $ tar jxf perl-5.11.0.tar.bz2 $ cd perl-5.11.0 $ ./configure -de -Dusedevel -Dprefix=$HOME/moduels/perl-5.11.0 2> c.err | tee c.log $ make 2> m.err | tee m.log $ make test 2> mt.err | tee mt.log $ make install
参考
- http://amatubu.skr.jp/diary/20060312.html
- http://search.cpan.org/dist/perl/
- http://docs.sun.com/app/docs/doc/819-0395?l=ja
- http://d.hatena.ne.jp/chcoopu/20090424/1240590471
dtrace は,まだ最初の辺くらいしか読んでません.
*1:そもそもbe_BY.CP1131 がどこかわからない