����ſ��
�ե��������������������¾����Τ��ᡢsemaphore ��ɬ�פǤ��뤬��MacOS
X �� posix semaphore �������ʤ�������ϡ�SysV semaphore ����٤ƻȤ��ˤ����Τǡ�http://www.darwinfo.org/�ǻ����줿����ˤ��
John Bellardo ����� sysv_sem patches ��Ȥ����ˤ�����
����Ƥơ�Darwin 1.2 �Υ����ͥ��ƹ��ۤ���MacOS X PB �Τ�Τ��֤��������Ȥ�����ư�������������ʤ���Ȥ��ᤷ��������Ǥⵯư���ʤ��ʤäƤ��ޤä������ͤƤ��
UFS ���Ƥߤ����Ȥ����ߵ���ä��Τǡ������ɵ᤹����ʤ���UFS �Ǻƥ��ȡ��롣
�Ȥ�������UFS �ǤϺ��ޤǥѥ����Ƥ��� CERNLIB �� Paw Test �˼��Ԥ���褦�ˤʤäƤ��ޤä�������Ϻƥ���ѥ����ľ��褦�ʤ�Τ����Τ�ʤ�����
MacOS X ��ͭ�Υ��եȡ��㤨�� IE ������������ե�������ʤ��ʤäƤ��ޤä��Ȥ����Զ�礬³�С���ʸ������ʸ���ζ��̤��Ǥ��ʤ��ʾ�����꤬�ǤƤ��ơ����ʤ���HFS+
�˵����Ǻƥ��ȡ��롣
SysV Semaphore �Υ��ݡ��Ȥϸ�ˤ��ơ���괺������ROOT �Υ���ѥ����ʤ����ˤ����������Ǥޤ�����ˤʤä��Τϡ���ͭ�饤�֥��κ������MacOS
X �Ǥϡ��Х��ʥ�� Linux �Ǥ��ʤ��ߤ� ELF �ǤϤʤ���Mach-** �ʤ���ͭ�Υե����ޥåȤǡ������붦ͭ�饤�֥���lib**.dylib�ˤ�ưŪ�˥����ɤ���⥸�塼��
��**.bundle�� �Ȥ��̤κ�����ʤ��Ȥ����ʤ���
�㤨�ж�ͭ�饤�֥��ʤ�
c++ -O -dylib -r -nostartfiles -install_name <SONAME ���б�����̾��> hoge1.o hoge2.o ...... -o libhoge.dylib�ޤ���dynamically loadable module �ʤ�
c++ -O -bundle -undefined suppress hoge1.o hoge2.o ..... -o hoge.bundle�Τ褦�ʴ��������Υ��ץ�����Ŭ�ڤ����Фʤ��� duplicate symbols ��� �����ǤޤȤ�˴�˾�Τ�Τ��äƤ���ʤ���
��ǽ褦�ˤ����Ĥ��ѥå��Ƥ���ˤ�ꡢ��괺������ROOT �Υ���ѥ�����������뤬����ư�Կ�������ϡ�___builtin_new
�� ___builtin_delete �ʤɤξ��ͤǤ������Ƚ����ROOT �ϥ��֥������Ȥΰ층�����Τ����
new/delete �����ƻȤäƤ��뤬�������ǡ����Ȥ� libcc_dynamic.a �ˤ����Τ��Ȥ��Ƥ��ޤäƤ���������ϡ���κ�ä�
/usr/local/lib/libcc_dynamic.a ���㤨�� ___builtin_new �� private extern
�������������Ƥ��ޤäƤ��뤻�����ä�������Ϥ�Ȥ� darwin source
���äƤ��ʤ���ʬ�ʤΤ��ԻĤǤ��뤬���Ȥˤ��������Τ����ǡ�ld
�� ___builtin_new �� "text" section �Ǥʤ� "Text" section �˥Х���ɤ��Ƥ��ޤ���custom
new �Ⱦ��ͤ�����������Ƥ�����
gcc ����ľ���Τ��ڤ�����ɸ��Τ�Τ�Ȥ��褦�ˡ������֤Ȥ��ơ������
libcc_dynamic.a ��饤�֥��Υ������ѥ��γ��˱����Ƥ��ޤ����������뤳�Ȥǡ�lib**.dylib
�� ���Ȥ� ___builtin_new ���Х���ɤ������������롣
������������Ǥ⡢Tenon �� Xtools �� rootless �ǻȤäƤ���ȡ��ɤ����Τ�ʤ���ʬ�� ���Ȥ� ___builtin_new ���ƤФ�Ƥ��ޤ��������⡢���줬�����ä��굯����ʤ��ä�������Τ狼��ʤ����֤˴٤롣�ޤ���GUI ���ޥ����Υ��٥�Ȥ������ä�����ʤ��ä���⤹�롣 Full screen mode �ǤϤ�������ϵ�����ʤ����¤ϡ�TkDesk �Υ��ǥ���������Υꥵ������ rootless �Ǹ����ʤ��ä��ꤹ������Ⱥ���Ʊ�������Τ�ʤ���
����� ROOT Ʊ���Υƥ��Ȥ����餻��ȡ������Ĥ����ꤢ���tests/vvector, vmatrix �ˡ�
Write vector v to database�Ƥʴ����Υ��顼������ϡ�Linux �Ǥ����Ȥ����� -WL,-E �ޤ��� -rdynamic ���б�����ե�å���Ω�äƤ��ʤ��ɾ��ʶ�ͭ�饤�֥��ǥ���ݡ��Ȥ�������ܥ뤬 main ���鸫���ʤ��ˤǤ��롣����ä�Ĵ�����������Ǥ��б�����ե�å������Ĥ���ʤ��ä��Τǡ�main �� ��Ƭ��Application Object ������Dz��롣
Warning in <TClass::TClass>: no dictionary for class TFile is available
Warning in <TClass::TClass>: no dictionary for class TVector is available
Warning in <TClass::TClass>: no dictionary for class TKey is available
Warning in <TClass::TClass>: no dictionary for class TStreamerElement is availableClose database
Warning in <TClass::TClass>: no dictionary for class TList is available
Warning in <TClass::TClass>: no dictionary for class TObject is available
Warning in <TClass::TClass>: no dictionary for class TStreamerInfo is available
Warning in <TClass::TClass>: no dictionary for class TNamed is available
Warning in <TClass::TClass>: no dictionary for class TObjArray is availableOpen database in read-only mode and read vector
Error in <TKey::ReadObj>: Cannot create new object of class TList
Error in <TKey::ReadObj>: Cannot create new object of class TVectorRead vector should be same as original still in memory
*** Break *** bus error
�����������ʤ�������ϻĤ롣stress test �ν�λ�����ޤ���TBrowser �� root file �褦�Ȥ���� seg-fault ���롣Xtools ���Ф��Ƥ��ä��꿮�Ѥ�ʤ������Τ� XFree86 �����ˤ��롣���֤��ʤ��ΤǥХ��ʥ�ȡ��롣�¤ϡ��Х��ʥ�϶�ͭ�饤�֥������ʤ��Τǡ�X ��Ϣ�Υ��ץꥱ��������ƥ���ѥ��뤹��ɬ�פ����ä��ʤɤ��餬��֤��¤ä����������˽�ʬ�Ǥ��Τᤵ��Ƥ����Τǡ�������ƻ������Ǥ��ޤä��ˡ������������ޤ���Ԥ��Ƥ��ʤ��ä��ȤϤ�������äѤ����ܤǤ��ä���
�����ǡ����褤�衢��ˤ��Ƥ��� semaphore �����Ω���֤롣���������������ܤ��ä���ΤϤ�Ϥ����ܡ��Ỵ�ʻ��ˡ��ޤ������ƥब��ư���ʤ��ʤäƤ��ޤä������٤ϡ���ñ�ˤϤ�������줺�ͥåȾ�Ǿ������ä���̡�FAQ �Ǥ��ä����ĤޤꡢWallStreet �Ǥϡ�MacOS X partition �� volume ����Ƭ���� 8GB ����ˤʤ��ƤϤʤ�ʤ��ä�����������ʤ�Ϥᤫ�饤�ȡ���Ǥ�����ư�����ꤷ�ʤ����ߤ������ҤȤ��� mach_kernel �ΰ��֤�ư���������Ǹ塢 BootX �Ϥ�����äƤ��ޤ�����ɤ�����ᤶ��ʤ��ä����ߤ��ϡ�partition ���������鱳�Τ褦�� SysV Semaphore �ѥå��Τ����ä� custom kernel ����ư�������ȡ�
���������嵭�λĤ��줿 ROOT ������ϲ�褻���������ʤ���ƻ�ʥǥХå���Ϥ�롣�ǥХå������Ⱦ�����褦�䤯������Ĥ��Ȥ��
���� ROOT �ΥХ��Ǥ��ä��������ľ���ȡ�������ROOT ��������ư���Ƥ��줿��
�褦�䤯�����Υ��եȤΰܿ��˰ܹԤǤ��롣��������ˤ�����������˺��Ƥ��ޤ����ˡ��ƥ��ȡ������פ��ñ�ˡ�
# vi /etc/hosts.deny�����ǡ�Tenon ������������ɤ��� Xtools �ȡ��롣����ϥѥå���������֥륯��å����ƥ��ȡ��롣���θ塢
ALL: ALL
# vi /etc/hosts.allow
ALL: LOCAL ***.**.***.
sshd: ALL
sshdfwd-X11: ***.**.***.
# vi /System/Library/StartupItems/SSH/SSH
......
if [ "${SSHSERVER:=-NO-}" = "-YES-" ]; then
.....
sshd -h /etc/ssh_host_key
fi
....
# vi /etc/hostconfig
....
SSHSERVER=-YES-
# vi /etc/sshd_config
....
Protocol 2,1
....
# vi /etc/ssh_config
....
Host * ....
ForwardX11 yes
....
# patch -p0 < memo/xtools.config.patch�嵭�Υѥå��϶�ͭ�饤�֥������������ȡ��뤵���뤿���ɬ�ס�canna ������ˤʤä��ˡ�
# cd <somewhere>/fonts
# ls
6x12rk.pcf.gz fonts.alias.75dpi.added s5x8.pcf.gz
a12.pcf.gz fonts.alias.misc.added
elisau10.pcf.gz k12.pcf.gz
# cp *.gz /usr/X11R6/lib/X11/fonts/misc/
# mkfontdir /usr/X11R6/lib/X11/fonts/misc/
# cat fonts.alias.75dpi.added >> /usr/X11R6/lib/X11/fonts/75dpi/fonts.alias
# cat fonts.alias.misc.added >> /usr/X11R6/lib/X11/fonts/misc/fonts.alias
# tar -zxvf Xaw3d-1.5-bin.tar.gz -C /�ޤ������ܸ�Ķ���Ŭ���ˡ�
# pushd /usr/X11R6/lib
# mv libXaw.dylib libXaw.dylib.ORIG
# ln -s libXaw3d.dylib libXaw.dylib
# popd
# tar -zxvf bash-2.03-bin.tar.gz -C /
# cp /usr/local/bin/bash /bin/bash
# tar -zxvf less-358-bin.tar.gz -C /
# tar -zxvf nkf_1.92_1-bin.tar.gz -C /
# tar -zxvf kterm-6.2.0-bin.tar.gz -C /
# tar -zxvf Canna-3.5b2-bin.tar.gz -C /
# tar -zxvf kinput2-v3-bin.tar.gz -C /# tar -zxvf tcltk-8.0.5jp-bin.tar.gz -C /
# tar -zxvf tkdesk-1.2jp-bin.tar.gz -C /
���ˡ��ޤ� ADC ������ꤷ�� Apple's developer tools �ȡ��롣�����ѥå���������֥륯��å����ƥ��ȡ��롣
�ޤ����ʲ��Τ�Τ� Apple �� Darwin source repository ������������ɤ�������ѥ��뤹�롣/usr/bin/cc
�ޤ���make �� 3.79 ��Ȥ�����
����ѥ���ˤ�
export HOSTTYPE=macintosh�ʤɤȤ��Ƥ������ɤ���
export VENDOR=apple
export OSTYPE=macos
export MACHTYPE=powerpc
export MAKEFILEPATH=/Developer/Makefilesexport RC_ARCHS=ppc
export RC_CFLAGS='-arch ppc'
export RC_OS='macos'
export SRCROOT=`pwd`
export TARGETS=ppc
export HOSTS=ppc
$ cd bootstrap_cmds-24
$ mkdir tmp
$ su
# make install DSTROOT=`pwd`/tmp
# mkdir /Library/Frameworks
# cp -PR /System/Library/Frameworks/IOKit.framework /Library/Frameworks/IOKit.fr
amework
# mkdir /Local
# ln -s ../Library /Local/Library
# exit
$ ln -s xnu-3-1 xnu
$ cd xnu
$ vi SETUP/setup.sh
....
export SRCROOT=`pwd`
....
$ make exporthdrs
$ make
$ make install
$ ^C # quit when compilation starts$ IOKitUser-3-1-0-1
$ vi Makefile
....
NEXTSTEP_BUILD_OUTPUT_DIR = /Users/fujiik/sandbox/xnu/BUILD/dst/System/Library/F
rameworks
...
$ make$ su
# pushd ../xnu/BUILD/dst/System/Library/Frameworks/
# cp -Rp IOKit.framework/Versions/A/Headers/* /Library/Frameworks/IOKit.framewor
k/Versions/A/Headers/# popd
# pushd ../xnu/BUILD/dst/System/Library/Frameworks/System.framework/
# cp -R libkern /System/Library/Frameworks/System.framework/Headers/libkern
# popd
$ cd ~/sandbox/darwin/build/Libm-18-1
$ su
# make install DSTROOT=`pwd`/tmp
# cd tmp
# tar -zcvf ../../../tgz/Libm-18-1-bin.tar.gz .
# tar -zxvf ../../../tgz/Libm-18-1-bin.tar.gz -C /
# exit$ cd ../Libcurses-23
$ su
# make install DSTROOT=`pwd`/tmp
# cd tmp
# tar -zcvf ../../../tgz/Libcurses-23-bin.tar.gz .
# tar -zxvf ../../../tgz/Libcurses-23-bin.tar.gz -C /
# exit$ cd ../Libcompat-14-1
$ su
# make install DSTROOT=`pwd`/tmp
# cd tmp
# tar -zcvf ../../../tgz/Libcompat-14-1-bin.tar.gz .
# tar -zxvf ../../../tgz/Libcompat-14-1-bin.tar.gz -C /
# exit$ cd ../Libstreams-21-1
$ su
# make install DSTROOT=`pwd`/tmp
# cd tmp
# tar -zcvf ../../../tgz/Libstreams-21-1-bin.tar.gz .
# tar -zxvf ../../../tgz/Libstreams-21-1-bin.tar.gz -C /
# pushd /System/Library/Frameworks/System.framework/
# ln -s Versions/Current/PrivateHeaders .
# popd
# exit$ cd ../Csu-35
$ su
# make install DSTROOT=`pwd`/tmp
# cd tmp
# tar -zcvf ../../../tgz/Csu-35-bin.tar.gz .
# tar -zxvf ../../../tgz/Csu-35-bin.tar.gz -C /
# exit$ cd ../libc-149
$ make
$ su
# pushd /Users/Public/SandBox
# ln -s fujiik root
# popd
# make install DSTROOT=`pwd`/tmp
# cd tmp
# tar -zcvf ../../../tgz/Libc-149-bin.tar.gz .
# tar -zxvf ../../../tgz/Libc-149-bin.tar.gz -C /
# exit$ cd ../cctools-6-1
$ cat ~/memo/setup.sh
export RC_ARCHS=ppc
export RC_CFLAGS='-arch ppc'
export RC_OS='macos'
export TARGETS=ppc
export HOSTS=ppc
export SRCROOT=`pwd`
export OBJROOT=$SRCROOT/BUILD/obj
export SYMROOT=$SRCROOT/BUILD/sym
export DSTROOT=$SRCROOT/BUILD/dst
$ mkdir -p BUILD/{obj,sym,dst}
$ source ~/memo/setup.sh
$ make install >& install.log
$ su
# cd BUILD/dst
# tar -zcvf ../../../../tgz/cctools-6-1-local-bin.tar.gz usr/local
# exit$ cd gcc-2
$ cp -PR <somewhere>/libf2c .
$ cp -PR <somewhere>/gcc/f gcc/.
$ patch -p1 -s < <somewhere>/gcc-2.95.2-libg2c.patch
$ patch -p1 -s < <somewhere>/gcc-2.95.2-macosx.patch
$ make >& make.log &
$ cd gcc
$ for i in ../obj/cc-ppc-on-ppc/*.h; do ln -s $i .; done
$ cd ..
$ mkdir obj/ppc/libf2c
$ cd obj/ppc/libf2c
$ CFLAGS='-traditional-cpp' $SRCROOT/libf2c/configure --srcdir=/Users/fujiik/sandbox/gcc-2/libf2c --host=ppc --target=ppc
$ make TARGETS='ppc' HOSTS='ppc' >& make.log &
$ cd dlcompat-20010123
$ cat dlcompat-20010123-makefile.patch
--- dlcompat-20010123/Makefile.ORIG Fri Jan 19 01:30:29 2001
+++ dlcompat-20010123/Makefile Fri Jan 26 14:44:28 2001
@@ -31,7 +31,7 @@
CFLAGS=-Wall -O2 -DDEBUG=$(DEBUG)
AR=ar cru
RANLIB=ranlib
-INSTALL=install
+INSTALL=install -cOBJS = dlopen.o
@@ -39,12 +39,14 @@
all: libdl.a libdl.dylibinstall: all
- if test ! -d $(prefix)/lib ; then mkdir $(prefix)/lib ; fi
- $(INSTALL) -m 644 libdl.a $(prefix)/lib
- $(RANLIB) $(prefix)/lib/libdl.a
- chmod 644 $(prefix)/lib/libdl.a
- $(INSTALL) -m 755 libdl.dylib $(prefix)/lib
- if test ! -d $(prefix)/include ; then mkdir $(prefix)/include ; fi
+ if test ! -d $(prefix)/lib/system ; then mkdir -p $(prefix)/lib/system ;
fi
+ $(INSTALL) -m 644 libdl.a $(prefix)/lib/system
+ $(RANLIB) $(prefix)/lib/system/libdl.a
+ chmod 644 $(prefix)/lib/system/libdl.a
+ ln -s system/libdl.a $(prefix)/lib/.
+ $(INSTALL) -m 755 libdl.dylib $(prefix)/lib/system
+ ln -s system/libdl.dylib $(prefix)/lib/.
+ if test ! -d $(prefix)/include ; then mkdir -p $(prefix)/include ; fi
$(INSTALL) -m 644 dlfcn.h $(prefix)/include
$ patch -p1 -s < dlcompat-20010123-makefile.patch
$ make
$ su
# make install prefix=usr/local
# tar -zcvf dlcompat-2001023-bin.tar.gz usr
# tar -zxvf dlcompat-2001023-bin.tar.gz -C /
$ for i in *.tar.gz; do tar -zxvf $i; done�����ơ�TkDesk��
$ tcl8.0.5/
$ patch -p2 < ../../tcl8.0.3-glibc21.patch
$ patch -p2 < ../../tcl8.0.5-sigpwr.patch
$ patch -p0 < ../../tcl8.0.5jp1.6.patch
$ patch -p1 < ../../tcl8.0.5-macosx-shared.patch
$ cd ../itcl3.0.1/
$ patch -p5 -s < ../../itcl_fix.diff
$ patch -p1 -s < ../../itcl3.0.1jp-tkpath.patch
$ patch -p1 < ../../tk8.0.5-macosx-shared.patch
$ cd ../tk8.0.5/
$ patch -p0 -s < ../../tk8.0.5jp1.6a.patch
$ patch -p1 -s < ../../tk8.0.5jp1.6a-im.patch
$ patch -p2 -s < ../../tcl8.0.5jp-path.patch
$ patch -p1 < ../../itcl3.0.1-macosx-shared.patch$ cd tcl8.0.5/unix
$ ./configure --enable-shared --enable-gcc --prefix=/usr/local
$ make >& make.log # with libc and libm, I don't need to set LIBS$ cd tk8.0.5/unix
$ ./configure --enable-shared --enable-gcc --with-tcl=../../tcl8.0.5/unix --pref
ix=/usr/local
$ make >& make.log # with libc and libm, I don't need to set LIBS$ cd itcl3.0.1/
$ ./configure --enable-shared --prefix=/usr/local -enable-gcc \
--with-tcl=/Users/fujiik/sandbox/mypkg/src/tcltk/build/tcl8.0.5/unix/ \
-with-tk=/Users/fujiik/sandbox/mypkg/src/tcltk/build/tk8.0.5/unix/
$ make CC='gcc -DKANJI -DKINPUT2 -DXIM_IMPROVE' >& make.log &
$ tkdesk-1.2
$ patch -p1 < ../tkdesk-1.2+jp.patch
$ patch -p0 < ../exit-save-dd.diff
$ cd tcldesk/
$ patch -p0 < ../../appbar-dnd.diff
$ patch -p0 < ../../empty-trash.diff
$ patch -p0 < ../../find-dd.diff
$ cd ..
$ ./configure --prefix=/usr/local
$ make CC_OPTS="-O2 -DKANJI -DKINPUT2 -DXIM_IMPROVE"
$ mkdir -p usr/local/{bin,lib,man}
$ make install INSTALL_ROOT=`pwd`
# tar -zxvf lesstif-08102000.tar.gz -C /
# pushd /usr/X11R6/include/
# ln -s ../../local/LessTif/Motif1.2/include/Xm .
# ln -s ../../local/LessTif/Motif1.2/include/Mrm .
# cd include
# ln -s ../Xm .
# ln -s ../Mrm .
# cd ../lib
# ln -s ../../local/LessTif/Motif1.2/lib/libXm.a .
# ln -s ../../local/LessTif/Motif1.2/lib/libMrm.a .
# popd
# mkdir /cernlib
# ln -s cernlib /cern
# ln -s 2000 /cern/pro
# for i in cernlib-2000-*; do tar -zxvf $i -C /cernlib/; done
# tar -zxvf patchy-4.15-bin.tar.gz -C /# tar -zxvf readline-4.1-bin.tar.gz -C /
# tar -zxvf termcap-2.0.8-bin.tar.gz -C /
# tar -zxvf dis45-v1.36-bin.tar.gz -C /# tar -zxvf freetype-1.3.1-bin.tar.gz -C /
# cd /etc
# mv X11 X11.tenon
# cd /usr
# mv X11R6 X11R6.tenon
# cd <somewhere>
# sh Xinstall.sh
# tar -zxpvf XAqua0.2.tgz -C /
# cd <somewhere>/fonts
# ls
6x12rk.pcf.gz fonts.alias.75dpi.added s5x8.pcf.gz
a12.pcf.gz fonts.alias.misc.added
elisau10.pcf.gz k12.pcf.gz
# cp *.gz /usr/X11R6/lib/X11/fonts/misc/
# cat fonts.alias.75dpi.added >> /usr/X11R6/lib/X11/fonts/75dpi/fonts.alias
# cat fonts.alias.misc.added >> /usr/X11R6/lib/X11/fonts/misc/fonts.alias
# pushd /usr/X11R6/lib/X11/config
# vi Imake.cf
.....
#if defined(__APPLE__)
# undef __APPLE__
# define MacroIncludeFile <darwin.cf>
# define MacroFile darwin.cf
# define DarwinArchitecture
# define MacOSXArchitecture # for convenience
#endif
Lesstif ������� OpenMotif �ˤ��Ƥߤ롣
# cd <somewhere>OpenGL ��
# ls
Mrm-headers.tar.gz libUil.a.gz
Uil-headers.tar.gz libXm.a.gz
Xm-headers.tar.gz usr-include-headers.tar.gz
libMrm.a.gz
# for i in Mrm-headers.tar.gz Uil-headers.tar.gz Xm-headers.tar.gz; do tar -zxpv
f $i -C /usr/X11R6/include; done
# cp libXm.a.gz libMrm.a.gz libUil.a.gz /usr/X11R6/lib
# pushd /usr/X11R6/lib
# gunzip libXm.a.gz libMrm.a.gz libUil.a.gz
# for i in libXm.a.gz libMrm.a.gz libUil.a.gz; do ranlib -s $i; done
# cd ../include/X11
# for i in ../Xm ../Mrm ../Uil; do ln -s $i .; done
# cd ../../lib����Ǥ�äơ�Xaw3d��fvwm2��kinput2��Tcl/Tk��TkDesk �ʤ� X ��Ϣ����ľ����������äѤ궦ͭ�饤�֥����ߤ�����
# cp /usr/X11R6.tenon/lib/libGLU.a .
# cp /usr/X11R6.tenon/lib/libglut.a .
# for i in libGLU.a libglut.a; do ranlib -s $i; done
# cp -pPR /usr/X11R6.tenon/include/GL /usr/X11R6/include
���ܸ쥭���ܡ��ɤ� ascii ����ǻȤ�����
$ vi ~/.Xmodmap�ʤɤȤ��Ƥ������ޤ���X ��ư���� fvwm2 �� TkDesk ��Ω���夬��褦�ˤ��Ƥ�����
keycode 101 = grave asciitilde
$ cat $HOME/bin/tkdesk�Ȥˤ�����bash ��Ȥ������Τǡ�.profile �� export SHELL=/bin/bash �ˤ���ȿ§����ȤäƤ��롣
#!/bin/bash
source ~/.profile
xmodmap ~/.Xmodmap
export SHELL=/bin/bash
exec /usr/local/bin/tkdesk $*
$ vi ~/.xinitrc
.....
$HOME/bin/tkdesk $* &
exec /usr/local/bin/fvwm2$ ln -s .Xdefaults ~/.Xresources
Xtools �����ˤ� /etc/X11 �� /usr/X11R6 �����촹������ɤ���
$ cd xnu�ѥå�������� precompiled kernel ����������Υޥ���Ǥ�ư��������ư����ݾڤ������ʤ��ΤǻȤ����ϼ�����Ǥ����
$ pushd bsd/kern
$ patch -s < ~/sandbox/xnu-patches/sysvsem_bsd_kern.patch
$ mv sysv_sem.c sysv_sem.c.ORIG
$ cp ~/sandbox/xnu-patches/sysv_sem.c
$ cd ../sys
$ patch -s < ~/sandbox/xnu-patches/sysvsem_bsd_sys.patch
$ mv sem.h sem.h.ORIG
$ cp ~/sandbox/xnu-patches/sem.h .
$ cd ../conf/
$ patch -s < ~/sandbox/xnu-patches/sysvsem_bsd_conf.patch
$ popd
$ make installhdrs
$ make install
����ѥ���λ�����
$ tar -zxvf ../orig/root_v3.00.02.source.tar.gzstream.h �� stdiostream.h �� g++ �Τ�Ρ�Apple ��ɸ��Ǥϥ��ȡ��뤵��ʤ�������Ǥ� MacOSX �ѥå��ˤϡ�ROOT ���Τ�������Ф���ʲ��Υѥå���ޤޤ�롣
$ tar -zxvf ../orig/ttf_1.1.tar.gz
# mv ttf/fonts /usr/share/fonts/ttf
# pushd /cern/pro/lib
# ln -s libpythia6134.a libPythia.a
# pushd /System/Library/Frameworks/System.framework/Headers/c++
# cp -p <somewhere>/stream.h .
# cp -p <somewhere>/stdiostream.h .
$ cd root
$ export ROOTSYS=`pwd`
$ export LD_LIBRARY_PATH=$ROOTSYS/lib
$ export PATH=$ROOTSYS/bin:$PATH
$ patch -p1 -s < ../orig/root_v3.00.02-macosx-0.2.patch
$ export PATH=/usr/bin:$PATH # use standard cc and c++
$ ./configure darwin
$ make
$ cd lib
$ for i in *.dylib; do lib=`basename $i .dylib`; \
g++ -O -bundle -undefined suppress -o $lib.so $i; done
--- 3.00.02/gui/src/TGButton.cxx.ORIG Tue Oct 17 21:34:52 2000��������Τ����ǡ�fGroup �˥��ߤ����äƤ���ȡ����Τ�����Ȼפäƻ������ delete �˹Ԥä� seg-fault ���롣
+++ 3.00.02/gui/src/TGButton.cxx Tue Feb 6 16:14:45 2001
@@ -76,6 +76,7 @@
fMsgWindow = p;
fUserData = 0;
fTip = 0;
+ fGroup = 0;fNormGC = norm;
fState = kButtonUp;
���ޤǤ˥���ѥ��뤷����ΤΥ���������ӥѥå��� macosx/src
�ˡ��ޤ��Х��ʥ�� tar ball �� macosx/tgz
�ޤ��� macosx/darwin.tgz
�ˤ��줾���֤��Ƥ��롣���Ĥ�Τ褦�˻Ȥ����ϼ�����Ǥ�ǡ�