  Java-Linux HOWTO
  Karl Asha, karl@blackdown.org
  v1.6.0, 1 January 1997
  F, nishio@nexus.rim.or.jp
  5 January 1997

  ̕ł Linux p JDK 1.0.2 𗘗p邽߂ɂ͂ǂ̂悤Ȑݒ肨
  ÕCuKvł邩Ă܂B
  ______________________________________________________________________

  ڎ

  1. JDK 1.0.2 ̃CXg[
     1.1 Tv
     1.2 ELF Ɋւ
     1.3 Kv ELF Cu
     1.4 Linux p JDK ̓
     1.5 VXeݒ
     1.6 _ƃoO̕
     1.7 Further Reading

  2. JDK-1.0.2 [Xm[g
     2.1 XFree86  libXt.so.6.0
     2.2 Motif Distributions
     2.3 jdb

  3. Linux J[lł Java oCi`̃T|[g
     3.1 J[l̐ݒ
     3.2 Java oCiT|[g̗p
     3.3 Further Reading

  4. Netscape 3.0  java ̐ݒ@
     4.1 ̐ݒ

  5. Marimba Ђ Tuner, Transmitter, Bongo
     5.1 CXg[菇
     5.2 CXg[̖

  ______________________________________________________________________

  1.  JDK 1.0.2 ̃CXg[

  1.1.  Tv

  Linux p Java Developer's Kit (ȉ JDK ) gɂCȂ
  linux ̃CXg[@ɂĂ̓VXeŜɂ킽邢̕ύX
  KvɂȂ܂B

  ŋ߂ Linux ł̊Jł ``ELF'' ƌĂ΂VoCitH[}bg
  gĂ܂BELF ͓I[fBO⋤LCu̗eՂȍ쐬
  \Ƃ܂BLinux p JDK ͂̓ɈˑĂCʂƂāC
  Ȃ̃VXe ELF oCĩJ[lT|[gт̃T|
  [gCuKvɂȂ܂B

  Linux ̊͏ɕωĂCɂ́C̕ύXɂăvO
  słȂȂ邱Ƃ܂B̕ł Java AvP[V
  sEJɗzIȃVXe\܂B

  1.2.  ELF Ɋւ

  Linux p JDK  ELF s`T|[gJ[l ``ELF T|[g
  Cu''KvƂ܂B

  ELF Ɋւڍׂȏ  <http://www.blackdown.org/elf/elf.html>ɂ
   Daniel Barlow  HOWTO 瓾܂B

  Redhat Software <http://www.redhat.com>  Slackware
  <http://www.cdrom.com/titles/os/slack96.htm>  ELF ` Linux z
  zĂ܂B

  1.3.  Kv ELF Cu

  Linux p JDK ̗pɂ͂ ELF LCu܂3̃pb
  P[WKvɂȂ܂B

     KvȃpbP[W

     o  The Standard C Library ("libc")

     o  The Linux Dynamic Loader Library ("ld.so")

     o  The XFree86 Libraries ("XFree86")

     KvȃpbP[W̃o[W

     o  libc o[W 5.2.18 ȏ

     o  ld.so o[W 1.7.14 ȏ (1.8.2 )

     o  XFree86 o[W 3.1.2 ȏ

  libc pbP[W  <ftp://tsx-11.mit.edu/pub/linux/packages/GCC/> ɂ
  ܂BpbP[W̖O libc-5.x.y.bin.tar.gz ̂悤ɂȂĂ
  B

  ld.so pbP[W  <ftp://tsx-11.mit.edu/pub/linux/packages/GCC/> 
  ܂BpbP[W ld.so-1.x.y.tar.gz ƂȂĂ܂B

  XFree86 pbP[W  <ftp://tsx-11.mit.edu/pub/linux/packages/X11/>
  ɂ܂B XFree86 distribution Ɋւڂ͂ɂ
  README t@CĂBXFree86 ̓OtBJ[UC^tF
  [X Java AvP[V̎sɕKvłBeLXg\̃Av
  P[V̏ꍇC̃pbP[WȂ JDK gƂł܂
  (``Linux p JDK ̓''݂Ă)B

  ̃pbP[W̋ZpIȘbCvO~OCCXg[@
  ɂĂ͈͂̔͊̕OłB

  1.4.  Linux p JDK ̓

  Linux p Java Developer's Kit ̓~[TCgɂ̂ݒuĂ܂B

  _ł̃~[TCg̃Xg <http://www.blackdown.org/java-
  linux/Mirrors.html> ɂ܂B̃TCgɂ͕WA[JCu RPM
  tH[}bg2̌`̃pbP[W܂B

  Linux p JDK  GUI @\̑唼 Motif CugĂ܂BMotif
  Cu͏p̂߁C JDK  'static' 'shared' ̌`Ŕzz
  ܂BT[hp[eB Motif CuwĂȂ
  'shared' ̕gƂł ELF Motif LCu(o[W 2.0
  ̂)𗘗pł܂B

  : 'shared' `g XFree86 CXg[ɃeLXg\
  AvP[Vɑ΂ JDK 𗘗p邱Ƃł܂B

  Motif Ă炸CGUI \̃AvP[V𓮂ꍇɂ

     Kvȃt@C̑I

        WA[JCu`
           WA[JCu`̃pbP[W2ɕĂ܂B
           commonA[JCuƁCMotif̗p󋵂ɉ sharedstatic
           ǂ炩KvƂȂ܂B

        RPM `
           RPM `̃pbP[W1ɂ܂Ƃ܂A[JCułB shared
            static ̂ǂ炩I邾łB

  RPMpbP[W/usr/local/java/ɃCXg[܂BRPMƂ̈ѐ
  ۂ߁CWA[JCu2/usr/local/ɓWĴ悢ł傤B

  1.5.  VXeݒ

     CLASSPATH ̐ݒ
        CLASSPATH ϐ JDK NXTꏊ̂Ɏg
        Bݒ JDK ̃c[͐Ɏsł܂BJDK g
        ĉ肪 java, javac  appletviewer sĂ݂
        O CLASSPATH ϐݒ肳ĂȂƂmFĂB

     foCXEp[~V
        JDK gOɁC/dev/zero foCXS[Uǂݏ\
        ȂĂ邱ƂmFĂBǂݏ\ɂ邽߂ɂ́C
        ̃R}hX[p[UŎsĂB

        chmod 666 /dev/zero

     Xbv̈
        JDK ͎sƍLȃ̈炩ߊ蓖Ă悤Ƃ
        BJDK Ɋ܂܂c[̎sɂ̓Xbv̈ɏȂƂ20K
        oCg̋󂫂KvłB

  1.6.  _ƃoO̕

  Linux p JDK gpĂāCoO𔭌 chapman@wilbursoft.com
  ܂ karl@blackdown.org ܂Ń[𑗂ĂB

  oO|[gƈꏏ 'ldconfig -v' ̏o͂ƃCXg[ĂJ[l
  ̃o[WĂB

  ݂܂łɕĂ_̃Xg <http://www.blackdown.org/java-
  linux/bugs.html> ɂ܂B

  1.7.  Further Reading

  ŐV HOWTOC[OXgCT|[gꂽiXgсC̑
   Java-Linux T[rX The Blackdown Organization
  <http://www.blackdown.org/java-linux.html> 䗗B

  Java ̖Lxȏ JavaSoft <http://www.javasoft.com> 璼ړ
  ܂B

  2.  JDK-1.0.2 [Xm[g

  2.1.  XFree86  libXt.so.6.0

   XFree86-3.1.2 ditribution Ɋ܂܂ libXt.so.6.0 ł͂
  Java AvP[VŖ肪N邱Ƃ񍐂Ă܂B
  <http://www.blackdown.org/java-linux/downloads/libXt.tar.gz> ɂ
  libXt ɒuĂB

  2.2.  Motif Distributions

  T[hp[eB Motif ̂ Moteeth  UIUC Motif ł͋Lł
  JDK gƂ܂B

  Redhat Motif, Mootif,  Xinside Motif ł͐삵܂B

  2.3.  jdb

  JDK t̃fobK("jdb")̓ɂ̓ANeBulbg[NC^tF[
  XKvłB̖͂Ȃ̃}ṼzXg localhost ɕύX
  邱Ƃŉł܂C悢@ƂĂ /etc/hosts ɐݒ肵
  Ȃ̃}VƃAhXɑΉ dummy device gƂłB

  3.  Linux J[lł Java oCi`̃T|[g

  3.1.  J[l̐ݒ

  Linux  Java oCi`T|[g𗘗p邽߂ɂ́CJ[l
  'Kernel support for ELF binaries' ɐݒ肵ĂKv܂B

     J[lɑgݍ܂ꂽ Java T|[g

     o  Java T|[gW[ƂăRpCȂꍇCJava Av
        P[V̏ꏊ Linux VXeRg[C^tF[X
        gĎw肷邱Ƃł܂B邢́Cjava  appletviewer
         /usr/bin ɒuĂKv܂B

        echo "/usr/local/java/bin/java" > /proc/sys/kernel/java-interpreter
        echo "/usr/local/java/bin/appletviewer" > /proc/sys/kernel/java-appletviewer

     W[ꂽ Java T|[g

     o  W[Ƃ Java T|[gRpCꍇCW[
        java  appletviewer  /usr/bin ɂƂOœ삵
        B̖ɑΏ邽߂ɂ /usr/src/linux/fs/binfmt_java.c
        ҏWC̒`Ȃ̐ݒɍ킹ďC܂B

                      #define _PATH_JAVA      "/usr/bin/java"
                      #define _PATH_APPLET    "/usr/bin/appletviewer"

  3.2.  Java oCiT|[g̗p

  Java oCiT|[g̗pɂ̓RpCꂽ Java R[hɑ΂Ĉ
  ̎菇KvłB

  o  java ̃\[XʏʂRpCB

  o  chmod R}hŃRpCꂽNXt@C̎srbg
     ĂB

  o  ̎s`ƓlɂẴNXt@CsB

  3.3.  Further Reading

  Linux J[lł Java oCi`̃T|[gɊւ郊[Xm[g
  <file:///usr/src/linux/Documentation/java.txt> ɂ܂B

  4.  Netscape 3.0  java ̐ݒ@

  4.1.  ̐ݒ

  Netscape 3.0, java, linux ̑gł̍{IȖ dl-malloc g
  ăRpCꂽW C Cu̎gpɂ܂BbpXNvg
  ƌÂ gnumalloc gƂ java ɂăuEUNbVȂ
  悤ɂ邱Ƃł܂B

  XNvgł͒P CLASSPATH ݒ肵Ă܂BCLASSPATH ̐ݒ
  Ă Netscape NbV邱ƂCÂ Netscape 
  NXCucĂăNbV邱Ƃ̂ŒӂĂ
  B

  ______________________________________________________________________
  #!/bin/sh
  export CLASSPATH="/usr/local/netscape/java/classes/java_30:."
  export LD_PRELOAD="/lib/gnumalloc.so"
  /opt/netscape/bin/netscape $*  # NOTE! This must be the path to the
                                   real netscape executable.
  ______________________________________________________________________

  삳邽߂ɂ́Cȉ̎菇ɏ]ĂB

  o  Netscape CXg[

  o  Netscape ̃A[JCuɊ܂܂Ăt@C java_30 
     /usr/local/netscape/java/classes/ ɃRs[B

  o  gnumalloc.so  /lib փRs[

  o  Ȃ̊ݒɂ킹ăXNvgҏW

  gnumalloc.so  http://www.blackdown.org/java-
  linux/downloads/gnumalloc.tar.gz <http://www.blackdown.org/java-
  linux/downloads/gnumalloc.tar.gz> ɂ܂BThanks to Doug Ridgway
  (ridgway@routh.UCSD.EDU) for this tip.

  ŋ libXext.so.6.0 Vo[W libXext.so g Java
  Avbg netscape NbVƕ񍐂Ă܂B
  libXext.so.6.0  /lib/509/ ̂悤ȃfBNgɃRs[ēK؂ȃV
  {bNN𒣂C̃fBNg܂ɂ悤
  LD_LIBRARY_PATH ݒ肷Ήł܂B

  5.  Marimba Ђ Tuner, Transmitter, Bongo

  5.1.  CXg[菇

  Marimba Ђ Tuner, Transmitter  Bongo ̐ Linux ł
  <http://www.blackdown.org/java-linux/Products.html> ɂ܂BCX
  g[͒PɂȂ̍DȃfBNgł̃A[JCuWJC
  bin TufBNgɂXNvgs邾łB

  ̃AvP[V̎sɂ JDK-1.0.2-pl2 ȏオKvłB
  ͕ʂ  <http://www.blackdown.org/java-linux/Mirrors.cgi> zz
  Ă܂B

  5.2.  CXg[̖

  Tuner sĎ̂悤ȃG[NȂ libXt.so.6.0 Abvf
  [gKv܂Buo[W
  http://www.blackdown.org/java-linux/downloads/libXt.tar.gz
  <http://www.blackdown.org/java-linux/downloads/libXt.tar.gz> ɂ
  B

  SIGSEGV   11*  segmentation violation

  Full thread dump:
      "AWT-Motif" (TID:0x404b8c68, sys_thread_t:0x41=5
          java.lang.Thread.run(Thread.java)
      "AWT-Input" (TID:0x404b8c40, sys_thread_t:0x412c3f2c) prio=5
      "Finalizer thread" (TID:0x404b8368, sys_thread_t:0x4129ff2c) prio=1
      "Idle thread" (TID:0x404b8320, sys_thread_t:0x4127df2c) prio=0
      "clock handler" (TID:0x404b81f8, sys_thread_t:0x4125bf2c) prio=11
      "main" (TID:0x404b80a0, sys_thread_t:0x817dd30) prio=5 *current thread*
          sun.awt.motif.MComponentPeer.dispose(MComponentPeer.java:175)
          sun.awt.motif.MFramePeer.dispose(MFramePeer.java:82)

