
<!DOCTYPE linuxdoc PUBLIC "-//XFree86//DTD linuxdoc//EN">
 
<article>

<!--
<title>Instructions for Building XFree86 on an Intel Pentium Aviion machine with DG/ux R4.20MU04
-->
<title>DG/ux R4.20MU04 が動作する Intel Pentium Aviion マシンでの XFree86 の構築手順
<author>Takis Psarogiannakopoulos
<date>July 27, 1999
<trans>The X Japanese Documentation Project
<tdate>September 12, 1999
<toc>

<!--
<sect>Whats new <p>
-->
<sect>新しいことがら <p>

<!--
July 27, 1999<p>
-->
1999 年 7 月 12 日<p>
<!--
  DG has fix the streams bug in /usr/lib/tcpip.so . (Read below) 
  The workaround in the July 25 source code has been removed.
  I've been told from DG that BSD sockets perform better in DGUX
  than SVR4 native STREAMS. From R4.20MU06 DG/ux will have the correct 
  tcpip.so lib (no bug in STREAMS). If you have MU05,MU04 and you 
  want for some reason STREAMS definitely conntact DG for an upated 
  /usr/lib/tcpip.so in /usr/lib (patch for your MU04,5).
-->
DG は /usr/lib/tcpip.so にあるストリームのバグを修正しました(後述)。
7 月 25 日のソース時点での問題回避のコードは削除されました。筆者は DG 
より、DGUX では BSD ソケットの方が SVR4 ネイティブの STREAMS より高性
能であると聞きました。R4.20MU06 から DG/ux は正しい tcpip.so を持って
います(STREAMS にバグがない)。MU05, MU04 をお使いで、何らかの理由によ
り STREAMS が絶対必要ならば、DG に連絡して修正済みの /usr/lib/tcpip.so 
をもらいましょう(MU04,5 へのパッチです)。
<p>
<!--
  DG/ux at the moment lacks the sysi86 syscall and the definition
  of SYSI86IOPL (that is in &lt;sys/sysi86.h&gt; but guarded by a 
  UNIXWARE defintion that of course cannot be applicable to DG/ux).
  Until this header is accessible by a simple -DDGUX , and _sysi86, 
  sysi86 subroutines added to libc (or some other extra library)
  we need to define the DG_NO_SYSI86 to be 1. If DG makes the above
  modifications , you will need to manually edit the files (before
  building!)
   xc/programs/Xserver/hw/xfree86/SuperProbe/OS_DGUX.c
   xc/programs/Xserver/hw/xfree86/etc/scanpci.c
   xc/programs/Xserver/hw/xfree86/os-support/dgux/dgux_video.c
  and eliminate DG_NO_SYSI86 flag by changing DG_NO_SYSI86 1&#045;&#045;&lt;0.
-->
現時点では DG/ux には sysi86 システムコールと SYSI86IOPL の定義があり
ません(SYSI86IOPL の定義は &lt;sys/sysi86.h&gt; にありますが、UNIXWARE 
の定義に守られています。UNIXWARE の定義は当然、DG/ux には適用できませ
ん)。このヘッダが単純に -DDGUX を指定することで適用されるようになり、
かつ _sysi86  と sysi86 サブルーチンが libc(あるいはその他の追加ライブ
ラリ)に加えらるまでは、DG_NO_SYSI86 に 1 を定義しなければなりません。
DG がこのような修正を行えば、(構築前に!)手動でファイル
   xc/programs/Xserver/hw/xfree86/SuperProbe/OS_DGUX.c, 
   xc/programs/Xserver/hw/xfree86/etc/scanpci.c, 
   xc/programs/Xserver/hw/xfree86/os-support/dgux/dgux_video.c
を編集し、DG_NO_SYSI86 フラグを 1 から 0 に変えることにより取り消す必
要があります。
<p>
<!--
July 25, 1999<p>
-->
1999 年 7 月 25 日<p>
<!--
  A major bug has now been corrected in this release. According to this
  since the STREAMS interface of DG/ux were broken the server was
  listening not to port 6000 (= 0x1770) but to 0x7017.
  All binaries that you have from 3.3.3.1, 3.3.3 they will work
  locally (if you run them in the same machine) but NOT remotely
  because they use an Xlib that tries to connect to port 28365.
  If you want to run them remotely YOU MUST recompile them!
  Steve thank you for bringing this to my attension initially but
  was too bussy then to look at it in detail... Perhaps I should
  have...
-->
大きなバグはこのリリースで修正されました。バグにより DG/ux の STREAMS 
インタフェースが壊れていたため、サーバはポート 6000(= 0x1770) ではなく
0x7017 を監視していました。3.3.3.1 と 3.3.3 に含まれていた全てのバイナ
リはローカル(プログラムをサーバと同じマシンで動かした場合)、では動きま
すがリモートでは<em>動きません</em>。なぜならこれらはポート 28365 に接
続しようとする Xlib を使っているからです。リモートでも動作するようにし
たければ、<em>再コンパイル</em>が必要です!
最初にこれに気づかせてくれた Steve さんに感謝しますが、その後忙しすぎ
て詳しく見ることができませんでした…。多分やらなければならなかったので
しょうが…。
<p>
<!--
  We now use sockets intead of ioctls.
  But I 've fix and tested the STREAMS also.
-->
ioctl ではなくソケットを使うようにしました。
しかし STREAMS の修正とテストも行いました。
<p>
<!--
  David thanks for making me realize that this was indeed a problem
  in DG/ux.
-->
これは実は DG/ux の問題であることをわからせてくれた David さんに感謝し
ます。
<p>
<!--
  I 've also take the trouble to port gdb-4.17/8 and ddd (X inter)
  in pub/XFree86/3.3.5/binaries/DGUX-ix86/GDB_BETA (both binaries
  and source code) in order to be able to send me traces of core
  files produced by Xservers. Try
-->
筆者は、苦労して gdb-4.17/8 と ddd (gdb の X インタフェース)の移植
も行いました。これは X サーバが生成したコアファイルのトレース結果を筆
者に送れるようにするためのもので、
pub/XFree86/3.3.5/binaries/DGUX-ix86/GDB_BETA にあります(バイナリとソー
スの両方)。コマンド
<verb>
  gdb /usr/X11R6/bin/X location of core/core
  gdb: where
</verb>
<!--
  and send me what you see.
  (I suppose that the Xserver executable is in /usr/X11R6.3/bin)
-->
を実行し、その表示結果を筆者に送ってください。(X サーバの実行ファイル
は /usr/X11R6.3/bin にあるものとしています。)
<p>
<!--
  From 3.3.3.1:
  Several bugs are now fixed. DG/ux support is on this official
  patch. All configuration is in xc/config/cf/DGUX.cf and in 
  xf86site.def. Also Imake autodetects (thanks to David Dawes)
  the DGUX OS (including Release version). So only a simple 
  "make World" is needed anymore to build in ix86 DG/ux.
  Usually the process to build is (after unpacking and patching
  the source "xc" tree) to go to xc/config/cf copy the file
  xf86site.def to site.def and edit the files DGUX.cf ,site.def
  for whatever changes you need to do.
-->
3.3.3.1 より:
いくつかのバグが修正されました。この公式リリースパッチで DG/ux
がサポートされるようになりました。全ての設定は
xc/config/cf/DGUX.cf と xf86site.def にあります。また、Imake は
DGUX OS を(リリースバージョンも含めて)自動検出します(David Dawes に感
謝)。したがって、ただ "make World" するだけで ix86 用の DG/ux を構築で
きます。普通の構築手順は、("xc" ツリーの展開とパッチ当てを行った後に)
xc/config/cf に行き、ファイル xf86site.def を site.def にコピーし、
DGUX.cf, site.def を編集して必要な変更を全て行うというものです。
<p>
<!--
  Default ProjectRoot in 3.3.5  is /usr/X11R6 (except if you
  set this specifically in DGUX.cf either as /usr/X11R6.3&#045;#045;
  #045;#045;my choice, or in whatever you like).
-->
3.3.5 での ProjectRoot のデフォルト値は /usr/X11R6 です(DGUX.cf で特別
にこの値を設定している場合は除きます。筆者は /usr/X11R6.3 にしています
し、読者の皆さんが好きな値を設定していることもあるでしょう)。
<p>
<!--
  From:
  December 1, 1998
  IMPORTANT: PLEASE READ THE FILE README-GCC-2.8.1
  GCC VERSION 2.8.1 is recommended for the DGUX build of X11R6.3
  You can ignore below the _old_ converstation about gcc compiler
  if you already run a gcc-2.8.1 in your machine.
-->
1998 年 12 月 1 日。
重要: README-GCC-2.8.1 ファイルを読んでください。
X11R6.3 を DGUX で構築するには、GCC のバージョン 2.8.1 が推奨されます。
既に gcc-2.8.1 をお使いであれば、gcc コンパイラに関する以下の<em>古い</em>
説明は無視して構いません。
<!--
<sect> GENERAL:          <p>
-->
<sect> 一般的な手順:          <p>

<!--
  Get from ftp.xfree86.org the XFree 3.3.x source code:
-->
ftp.xfree86.org から XFree 3.3.x のソースコードを入手します:
<!--
<verb>
  ftp ftp.xfree86.org
  login: ftp
  passwd: your e-mail address
  cd pub/XFree86/3.3.5/source
  You need the files:
  X335src-1.tgz
  X335src-2.tgz
  X335src-3.tgz
</verb>
-->
<verb>
  ftp ftp.xfree86.org
  login: ftp
  passwd: あなたのメールアドレス
  cd pub/XFree86/3.3.5/source
  You need the files:
  X335src-1.tgz
  X335src-2.tgz
  X335src-3.tgz
</verb>
<p>
<!--
  Get also the contributed X software
-->
X の contrib ソフトウェアを入手します。
<verb>
  cd /pub/XFree86/3.3.5/source
  X335contrib.tgz
</verb>
<p>
<!--
  If you have the source tarballs of 3.3.3 go to 
  /pub/XfFree86/3.3.5/binaries/DGUX-ix86/SOURCE get the DGUX source 
  patch 
-->
3.3.3 のソースファイルの tar アーカイブをお持ちであれば、
/pub/XfFree86/3.3.5/binaries/DGUX-ix86/SOURCE に移動し、DGUX 用の
ソースパッチを入手します:
<p>
<!--
<verb>
  3.3.3-3.3.5-DGUX.diff.gz 
  X335contrib-DGUX.diff.gz (patch for the contrib software).
</verb>
-->
<verb>
  3.3.3-3.3.5-DGUX.diff.gz 
  X335contrib-DGUX.diff.gz (contrib ソフトウェア用のパッチ)
</verb>
<p>
<!--
  to avoid downloading all the source code again.
-->
これは同じソースコードを何度もダウンロードするのを避けるためです。
<p>
<!--
  Sorry some DGUX changes they didnt make in time for the official 
  release date of 3.3.4...
  I do this for free, so some times I may be excused for something
  like this...
-->
申し訳ありませんが、DGUX 用の変更は 3.3.4 の公式リリースの締め切りに間
に合いませんでした。筆者は無償でこの作業を行っているので、すみませんが
時にはこういうことになります…。
<p>
<!--
  To build X11R6.3 you need also the tools for DG/ux (see discussion
  below). They will be in 
  ftp dpmms.cam.ac.uk 
  (University of Cambridge,Department of Pure Mathematics)
  in /pub/takis/DGUX-Tools/BuildXtools.tar.gz (anonymous ftp)  
  or in the ftp.xfree86.org ...
  (pub/XFree86/3.3.5/binaries/DGUX-ix86/SOURCE/BUILD-TOOLS/
  BuildXtools.tar.gz).
-->
X11R6.3 を構築するには、DG/ux 用のツールも必要です(後で説明します)。必
要なツールは anonymous ftp で
dpmms.cam.ac.uk (University of Cambridge,Department of Pure Mathematics)
の /pub/takis/DGUX-Tools/BuildXtools.tar.gz, あるいは ftp.xfree86.org 
の pub/XFree86/3.3.5/binaries/DGUX-ix86/SOURCE/BUILD-TOOLS/BuildXtools.tar.gz
を入手してください。
<p>
<!--
  Using a big filesytem (I use a virtual disk "xf86work" mounted on
  /xf86work of size 1400000 blocks) copy the source as:
-->
big ファイルシステムを使って(筆者は、ブロックサイズが 1400000 である仮
想ディスク "xf86work" を/xf86work にマウントして使っています)ソースを
以下のようにコピーします:
<p>
<verb>
  cp X335src-1.tgz  /xf86work/X335src-1.tar.gz
  cp X335src-2.tgz  /xf86work/X335src-2.tar.gz
  cp X335src-3.tgz  /xf86work/X335src-3.tar.gz
</verb>
<p>
<!--
  (or X333src-1,2,3.tar.gz as above plus the DG/ux patch to 3.3.5
   i.e. the file 3.3.3-3.3.5-DGUX.diff.gz)
-->
(あるいは、上記の X333src-1,2,3.tar.gz に加えて 3.3.5 への DG/ux 用パッ
チ、すなわち 3.3.3-3.3.5-DGUX.diff.gz もコピーします。 )
<p>
<!--
  And maybe the contributed software:
-->
たぶん contrib ソフトウェアもコピーするでしょう:
<!--
<verb>
  cp  X335contrib.tgz           /xf86work 

  (cp  X335contrib-DGUX.diff.gz  /xf86work). 
</verb>
-->
<verb>
  cp  X335contrib.tgz           /xf86work 

  (cp  X335contrib-DGUX.diff.gz  /xf86work)
</verb>
<p>
<!--
  If you get the patches from DGUX-ix86, to build from source 3.3.3
  your first problem is that in order to apply the source patch you
  need "patch" a very common GNU program that DG/ux doesnt have!?
  This program is in BuildXtools.tar.gz
  (or ftp prep.ai.mit.edu cd/pub/gnu get patch-2.5.tar.gz)
  So lets speak about these tools before anything else:
  Using "sysadm" mount a filesystem usr_local under /usr/local with
  size 200000 blocks. Then copy the BuildXtools file in /usr and give:
-->
DGUX-ix86 からパッチを入手した場合には、ソースから 3.3.3 を構築する際
の最初の問題は、ソースパッチを適用するためには、非常に一般的な GNU プ
ログラムなのに DG/ux には入っていない(!?) "patch" が必要なことです。
このプログラムは BuildXtools.tar.gz に入っています(または
ftp prep.ai.mit.edu, cd /pub/gnu, get patch-2.5.tar.gz してください)。
ですから、他のことの前にこれらのツールのことを説明しておきましょう:
"sysadm" を使ってファイルシステム usr_local を /usr/local にマウントし
てください。ブロックサイズは 200000 です。それから BuildXtools ファイル
を /usr にコピーし、以下のコマンドを実行します:
<verb>
  gzip -d < BuildXtools.tar.gz | tar xvf -
</verb>
<p>
<!--
  It will unfold in the new filesytem /usr/local.
  Then go to your ".profile" (in your Home dir , mine eg is /admin) 
  and add the /usr/local/bin in your path and the  /usr/local/lib in 
  your lib-path.
-->
これは新しいファイルシステム /usr/local に展開されます。それから
自分の ".profile" (自分のホームディレクトリにあります。筆者の例では 
/admin にあります)を編集して、/usr/local/bin をパスに加え、
/usr/local/lib をライブラリパスに加えます。
<p>
<!--
  What you need is like that:
  (vi .profile)
-->
以下のような設定が必要です(vi .profile):
<p>
<!--
<verb>
  PATH=/usr/local/bin:/sbin:/usr/sbin:/usr/bin
  if [ -d /usr/opt/X11/bin ]
  then
    PATH=$PATH:/usr/opt/X11/bin
  fi
  export PATH
  (/usr/local/bin is before any other path!)

  LD_LIBRARY_PATH=/usr/local/lib:/usr/lib:/usr/ccs/lib
  export LD_LIBRARY_PATH
</verb>
-->
<verb>
  PATH=/usr/local/bin:/sbin:/usr/sbin:/usr/bin
  if [ -d /usr/opt/X11/bin ]
  then
    PATH=$PATH:/usr/opt/X11/bin
  fi
  export PATH
  (/usr/local/bin は他のどのパスよりも前です!)

  LD_LIBRARY_PATH=/usr/local/lib:/usr/lib:/usr/ccs/lib
  export LD_LIBRARY_PATH
</verb>
<p>
<!--
  then exit and re-login so that your new modified .profile will take effect.
-->
編集が終わったらログインし直して、修正済みの .profile を有効にします。
<p>
<!--
  Now do the following:
-->
それから以下の手順を行います:
<!--
<verb>
  cd /usr/sbin
  cp install install_dg
  rm install
  cp /usr/local/bin
  cp install /usr/bin  *(make the GNU install the default install)*
  (DG/ux install is useless)
  (Look also the file xc/config/cf/DGUX.cf , below).

  (Or get GNU make-3.77 and copy install.sh (or -sh) to a /usr/bin/install)

  cd /usr/bin
  cp true    /usr/local/bin
  cd /usr/local/bin
  ln -s true ranlib (Install true as ranlib in the DG/ux system)
</verb>
-->
<verb>
  cd /usr/sbin
  cp install install_dg
  rm install
  cp /usr/local/bin
  cp install /usr/bin  *(GNU installをデフォルトの install コマンドにします)*
  (DG/ux の install コマンドは役立たずです)
  (後述の xc/config/cf/DGUX.cf ファイルも見てください)

  (あるいは GNU make-3.77 を入手し、install.sh (または -sh) を /usr/bin/install にコピーします)

  cd /usr/bin
  cp true    /usr/local/bin
  cd /usr/local/bin
  ln -s true ranlib (DG/ux システムでは、true コマンドを ranlib としてインストールします)
</verb>
<!--
  Usually giving -v,-V  or &#045;&#045;version will give you build info on all 
  the tools in /usr/local/bin (try it).
-->
全ての /usr/local/bin のツールは通常、-v, -V, --version を与えると
バージョン情報を返します。
<p>
<!--
  **Look the discussion for gcc before you build (below)**
-->
**構築を行う前には、gcc に関する説明(後述)を見てください。**
<p>
<!--
  Now untarr the source tree:
  In /xf86work (or whatever name you gave to the big filesystem for the build)
-->
ここで、ソースツリーの tar アーカイブを展開します。
/xf86work (または構築のために用意した big ファイルシステムの名前) で以
下のコマンドを実行してください:
<verb>
  gzip -d < X335src-1.tar.gz | tar xvf -
  gzip -d < X335src-2.tar.gz | tar xvf -
  gzip -d < X335src-3.tar.gz | tar xvf -
</verb>

<!--
  (If you have X-3.3.3 do the same for the 3.3.3 sources and
  then apply the 3.3.5-DGUX source patch 
-->
(X-3.3.3 を持っていれば、3.3.3 のソースを同じように展開し、以下の
コマンドで 3.3.5-DGUX のソースパッチを適用します:

<!--
<verb>
  gzip -d < 3.3.3-3.3.5-DGUX.diff.gz | patch -p0 -E).
</verb>
-->
<verb>
  gzip -d < 3.3.3-3.3.5-DGUX.diff.gz | patch -p0 -E)
</verb>

<!--
  The directory xc in now present in your build filesystem.
-->
これで、構築用のファイルシステムに xc ディレクトリができました。

<!--
<sect> Configuration for the build:<p>
-->
<sect> 構築のための設定:<p>
<!--
  Almost all you need is in "DGUX.cf" located in xc/config/cf.
  Edit the file DGUX.cf and site.def and change what ever you need.
  Remember DGUX.cf overwrites site.def.
  The default ProjectRoot for XFree86-3.3.5 is now /usr/X11R6
  (located in site.def). If you want to change this to whatever
  you like (I prefer /usr/X11R6.3 and a link in /usr X11R6->X11R6.3)
  edit DGUX.cf and locate the entry:
-->
必要な設定はほとんど全て xc/config/cf にある "DGUX.cf" ファイルにあり
ます。DGUX.cf ファイルと site.def ファイルを編集し、必要な設定を全て行
います。DGUX.cf は site.def の設定を上書きすることを覚えておいてくださ
い。XFree86-3.3.5 からは ProjectRoot のデフォルト値が /usr/X11R6 にな
りました(site.def で設定されています)。この値を好きなように変更したけ
れば(筆者は /usr/X11R6.3 が好きで、/usr/X11R6-&gt;X11R6.3 というリンク
を作っています)、DGUX.cf を編集して以下のような項目を見つけてください:
<p>
<verb>
  #if 0
  #define ProjectRoot /usr/X11R6.3
  #endif
</verb>
<!--
  Eliminate the #if 0 , #endif.
  Then change this to whatever you prefer.
  (I prefer the above for the precompiled binaries)
-->
#if 0, #endif を削除します。
それからこの値を好きなように変更します(筆者はコンパイル済みのバイナリ
が使えるように上記の設定を使うようにしています)。
<p>
<!--
  The DG/ux malloc is crap and keeps bringing problems with some
  X software so I dont use it. Instead there is a port of GNU
  malloc in /usr/local (it came with the BuildXtools file).
  Dont try to build with the /lib/libmalloc.a of DG/ux and then
  send me e-mails that some programs they dont work properly.
  In my build I use tcl8.0 and tk8.0 since the xconfig of R4.20MU03
  is reporting incorrect values for the monitors and XF86Setup
  need to be build in order to manage to adjust the display.
  If you dont have this (or dont want this) comment out the lines
  about tcl,tk, (in DGUX.cf) 
-->
DG/ux の malloc はゴミ同然で、一部の X ソフトウェアで問題ばかり起こす
ので、筆者は使っていません。その代わりに GNU malloc を移植したものを
/usr/local に置いています(これは BuildXtools file に入っています)。
DG/ux の /lib/libmalloc.a を使って構築しようとしてはいけませんし、これ
を使ったために一部のプログラムが正しく動作しなくても筆者にメールを送ら
ないでください。筆者が構築した時には tcl8.0 と tk8.0 を使っています。
というのも、R4.20MU03 の xconfig はモニタについて誤った値を返すので、
ディスプレイの調整を行うために XF86SEtup を構築する必要があるからです。
これを使わない(あるいは欲しくない)のであれば、(DGUX.cf の)tck, tk に関
する行をコメントアウトしてください:
<p>
<verb>
  /*******TCL TK DEFINITIONS ***********/
   #define HasTk  YES-->NO
   ...
   #define HasTcl YES-->NO
</verb>
<!--
  Also 'GNU make' is required for the correct X11R6.3 build. 
  (it is in Buildxtools file). 
  If you decide yes to tcl,tk obtain the files
-->
また、X11R6.3 を正しく構築するためには 'GNU make' も必要です(これは 
Buildxtools ファイルに入っています)。tcl, tk を使う設定にした場合には
<!--
<verb>
                     tcl8.0.3.tar.gz
                     tk8.0.3.tar.gz    (from some ftp)
</verb>
-->
<verb>
                     tcl8.0.3.tar.gz
                     tk8.0.3.tar.gz    (どこかの FTP サイトから)
</verb>
<!--
  (or newer versions) and compile them before the building
  of X11R6.3 (Build first tcl8.0.3 then tk8.0.3).
-->
を入手し、X11R6.3 を構築する前にこれらをコンパイルしてください(まず 
tck8.0.3 を構築し、それから tk8.0.3 を構築します)。
<p>
<!--
<sect> DISCUSSION ABOUT GCC<p>
-->
<sect> GCC に関する説明<p>
<!--
  There are so much things that I can say for the system gcc of
  DG/ux. If I was keeping track for the programs that fail using
  this compiler I will certainly have fill a book (conveniently 
  for the DG of course). 
  But my work is not to correct bugs for the DG/ux compiler or
  anything else) , and in particular to collect reports for
  the genius of DG.
  (DG:Sorry guys nothing personal. I am a pure Mathematician , 
  I am doing all this work for pleasure, I dont want any money 
  from DG or anybody else , I am not looking to become a employer
  of DG,and I am NOT a trouble shooter of the DG/ux in general.
  But maybe some times if you help I may be able to help you also).
-->
DG/ux のシステム付属の gcc については、言わなければならないことが多す
ぎます。このコンパイラを使うと問題が起きるプログラムを全部押えようとす
ると、きっと本が一冊できてしまいます(もちろん DG にとっては役立つでしょ
うが)。
しかし筆者のすべきことは DG/ux のコンパイラのバグを直す類のことではな
いし、DG の賢い人のために報告を集めることでは特にありません。
(DG へ: 仕事でやっている人には申し訳ないですが、筆者は純粋な数学者であ
り、全ての作業は楽しむためにやっており、DG やその他から金をもらいたい
わけでもなく、DG の就職しようと思っているわけでもありません。したがっ
て、筆者は基本的には DG/ux のトラブルシューターではありません。しかし、
たぶん場合によっては、DG が手助けをしてくれるなら、筆者もお手伝いでき
ることがあるかもしれません。)
<p>
<!--
  What I wanted to do is to build X11. Thats why you will find 
  in BuildXtools a new gcc. This gcc is build for DG/ux R4.20MU02.
  so you have to upgrade your DG/ux OS version to the above.
  But it is solid to build not only X11 but whatever else you want.
  DO NOT use gcc of DG/ux. If you do I cannot tell you anything 
  about any problems that you have.
  To complete the installation of this new gcc do the following:
-->
筆者が行いたいのは X11 の構築です。以上が、BuildXtools に新しい gcc が
入っている理由です。この gcc は DG/ux R4.20MU02 用に作られています。
ですから、このバージョンまで DG/ux の OS のバージョンを上げる必要があ
ります。しかし、この gcc は信頼できるので、X11 だけでなく他に欲しいも
の全てを構築する際にも使えます。DG/ux の gcc を使っては<em>いけません</em>。
これを使ったら、どんな問題に出会おうが筆者の知るところではありません。
この新しい gcc のインストールは以下の手順で行います:
<p>
<!--
<verb>
  cp -r /usr/local/gcc-dgux  /usr/opt/sdk/sde/ix86dgux/usr/lib 
  cd  /usr/opt/sdk/sde/ix86dgux/usr/lib
  rm gcc 
  ln -s gcc-dgux gcc   (set link gcc&#045;#045;#045;&gt;gcc-dgux)
  
  cd /usr/local
  cp -r /usr/local/gcc-dgux  /usr/sde/ix86dgux/usr/lib
  cd  /usr/sde/ix86dgux/usr/lib
  rm gcc 
  ln -s gcc-dgux gcc  (set link gcc#045;#045;&gt;gcc-dgux)
</verb>
-->
<verb>
  cp -r /usr/local/gcc-dgux  /usr/opt/sdk/sde/ix86dgux/usr/lib 
  cd  /usr/opt/sdk/sde/ix86dgux/usr/lib
  rm gcc 
  ln -s gcc-dgux gcc   (gcc---&gt;gcc-dgux のリンクを設定します)
  
  cd /usr/local
  cp -r /usr/local/gcc-dgux  /usr/sde/ix86dgux/usr/lib
  cd  /usr/sde/ix86dgux/usr/lib
  rm gcc 
  ln -s gcc-dgux gcc  (gcc--&gt;gcc-dgux のリンクを設定します)
</verb>

<!--
  To come back to your old DG/ux gcc just change the above two
  links gcc&#045;&#045;&lt;gcc-dgux
  to gcc&#045;&#045;&gt;gcc-2
  with the command: (in both the above two dirs)
-->
DG/ux の古い gcc も使えるように、上の 2 つのリンクを
gcc&#045;&#045;&lt;gcc-dgux から gcc&#045;&#045;&gt;gcc-2 に
変更します。これは以下のコマンドで行います(上の 2 つのディレクトリで実
行します):
<verb>
  rm gcc
  ln -s gcc-2 gcc 
</verb>

<!--
  /usr/bin/gcc -v should report the version that you have.
  To build succesfully this version of X11 gcc is a *MUST*.
-->
/usr/bin/gcc -v を実行すると使える gcc のバージョンが表示されます。こ
のバージョンの X11 を正しく作るには、gcc は *必須* です。
<p>
<!--
  Dynamic loading Servers:
  Edit xc/config/cf/DGUX.cf and change the entry
-->
動的ローディングサーバ:
xc/config/cf/DGUX.cf を編集し、以下の項目を変更します:
<p>
  #ifndef BuildDynamicLoading
  #define BuildDynamicLoading NO &#045;&#045;&#045;&lt;YES.
  #endif
<p>
<!--
  Remeber when you build you will see lots of errors and the servers
  will NOT build! This is because the dynamic linker doesnt know
  the locatios of the newly created R6 libX's.
  So after the (seem faulty) building do a   
-->
構築を行う時には、たくさんのエラーが表示されてサーバがコンパイルされな
いことを覚えておいてください! これは動的リンカが新しく作られた R6 の 
libX の場所を知らないからです。したがって、(失敗したように見えた)構築
の後に以下のコマンドを実行してください:

<p>
  make DESTDIR=ProjectRoot/lib install
<p>
<!--
  (look below for install, ProjectRoot the location that you choose
  in the file xc/config/cf/DGUX.cf above) 
-->
(インストールの説明は後述します。ProjectRoot は前述の
xc/config/cf/DGUX.cf ファイルを置くことにした場所です。)
<p>
<!--
  So that all your new libXR6 libraries will go there.
  (do a cd ProjectRoot/lib to make sure).
-->
全ての新しい libXR6 ライブラリはその場所にインストールされます
(cd ProjectRoot/lib を行って確かめてください)。
<p>
<!--
  Then go to your home dir and declare the path ProjectRoot/lib dir 
  in you LD_LIBRARY_PATH (your profile) as:
-->
ホームディレクトリに移動して、パス ProjectRoot/lib を LD_LIBRARY_PATH 
として宣言してください。これは(.profile で)以下のように設定します。
<p>
  LD_LIBRARY_PATH=ProjectRoot/lib:$LD_LIBRARY_PATH
  export LD_LIBRARY_PATH
<p>
<!--
  Then relogin!
-->
それからログインし直してください!
<p>
<!--
  Now just _rebuild_ A FULL XFree86-3.3.5 with the entry
-->
ここで、DGUX.cf で以下の項目を設定して XFree86-3.3.5 全体を
<em>再構築</em>します。
<p>
<!--
  #define BuildDynamicLoading YES in your DGUX.cf. 
-->
  #define BuildDynamicLoading YES
<p>
<!--
  This time you will build _all_ XFree86-3.3.5 correctly.
-->
今度は、XFree86-3.3.5 <em>全体</em>が正しく生成されるでしょう。
<p>

<!--
<sect> BUILD <p>
-->
<sect> 構築 <p>
<!--
  In the usual X11R5 of DG (mwm) open an xterm and give:
  (/bin/sh = Bourne shell)
-->
DG 標準の X11R5 (mwm) 上で xterm を開き、以下のコマンドを実行します
(/bin/sh = Bourne シェル):
<p>
<verb>
  cd xc
  make World > Build-dg.log 
</verb>

<!--
  In that way you will get all the error meggages in your
  screen.
  Dont worry with messages about -znodefs.
-->
これにより、画面上の全てのエラーメッセージを保存することができます。
-znodefs に関するメッセージは気にしなくても構いません。
<p>
<!--
  Note: the old command 
-->
注意: 古いコマンドである
<verb>
  make World BOOTSTRAPCFLAGS="-DDGUX" > Build-dg.log
</verb>
<!--
  is no longer needed since imake will detect the DGUX OS
  (in Version => 3.3.3.1) and set up things. However this 
  command will also work. 
-->
は現在は必要ありません。というのも、(XFree86-3.3.3.1 以降では)imake が
DGUX OS を自動的に検出し、設定を全て行うからです。しかし、このコマンド
も使えます。
<p>
<!--
  And in another xterm  give cd xc
  tail -f Build-dg.log to watch the building progress. 
-->
別の xterm 上で 'cd xc', 'tail -f Build-dg.log' を実行し、構築の進行状
況を見張ります。
<p>
<!--
  To install X11R6.3 XFree version 3.3.5 after the build
  you must have a filesystem say usr_X11R6.3  mounted to
  the directory /usr/X11R6 size 350000 blocks. 
  (or whatever you choose to be your ProjectRoot, if you
  modify DGUX.cf for another ProjectRoot than the default
  /usr/X11R6 in site.def).
  Then give
-->
X11R6.3 ベースである XFree86 バージョン 3.3.5 を構築した後にインストー
ルを行うには、usr_X11R6.3 といったファイルシステムがあり、
/usr/X11R6 にマウントされていなければなりません。ブロックサイズは 
350000 です。(DGUX.cf を編集して ProjectRoot の値を
site.def のデフォルト値である /usr/X11R6 以外に変えた場合には、そこで
設定した ProjectRoot を指定してください。)
次に以下のコマンドを実行します:
<!--
<verb>
  make install
  make install.man (install the man pages)
</verb>
-->
<verb>
  make install
  make install.man (オンラインマニュアルをインストールします)
</verb>
<!--
  The installation will not put an XF86Config in your
  /usr/X11R6.3/lib/X11/ and so if you give startx the new
  X11 will not start. Read the file README-X3331.DGUX in
  this ftp site (located in the binaries) about the whole
  installation procedure of X11R6.3. 
  Or quickly you can do:
  (I remind: DG/ux mouse device "/dev/mouse")
  cd /usr/X11R6.3/bin
  ln -s XF86_VGA16 X 
  Then put in your .profile the path /usr/X11R6.3/bin and 
  run the XF86Setup program. Ajust first the mouse device
  then everything else. 
  (You need to read really the file README-DGUX.INSTALL-> look
  in the end of this file).
-->
このインストールでは XF86Config が /usr/X11R6.3/lib/X11/ にインストール
されないので、startx を実行しても新しい X11 は起動しないでしょう。
この ftp サイトにある README-X3331.DGUX (バイナリのディレクトリにあり
ます)を読んで、X11R6.3 全体のインストール手順を調べてください。
簡単に済ませるなら以下の手順を行ってください:
(DG/ux のマウスデバイスは "/dev/mouse" とします)
  cd /usr/X11R6.3/bin
  ln -s XF86_VGA16 X 
次にパス /usr/X11R6.3/bin を .profile に設定し、XF86Setup を実行します。
マウスデバイスを設定し、それから他の調整を全て行います。
(本当は README-DGUX.INSTALL ファイルを読む必要があります。このファイル
の最後を見てください。)
<p>
<!--
  To build the contributed software with XFree86-3.3.5 get
  the X335contrib.tgz and do 
-->
XFree86-3.3.5 付属の contib ソフトウェアを構築するには、
X335contrib.tgz を入手し、以下のコマンドを実行します:
<verb>
  gzip -d < X335contrib.tgz | tar xvf -
</verb>

<!--
  (Or for 3.3.3 sources unpack X333contrib.tgz and apply the DGUX
  patch as
-->
(3.3.3 のソースがある場合には、X333contrib.tgz を展開し、DGUX 用のパッ
チを以下のようにして当てます):
<verb>
  gzip -d < X335contrib-DGUX.diff.gz  | patch -p0 -E ). 
</verb>
<!--
  Please note:
  You must have already install and active the X11R6.3 that you
  build so that the imake is working properly for your system.
  Read below for how to install this Xwindow system.
  After that you could do:
-->
注意してください:
お使いのシステムで imake が正しく動作するためには、構築した X11R6.3 が
既にインストール・動作していなければなりません。この X ウィンドウシステ
ムをインストールする方法は後述します。その後に以下のコマンドを実行して
ください:

<!--
<verb>
  cd contrib
  xmkmf -a
  make
  make install 
  make install.man (for installing the man pages)
</verb>
-->
<verb>
  cd contrib
  xmkmf -a
  make
  make install 
  make install.man (オンラインマニュアルのインストール)
</verb>

<!--
<sect> INSTALLATION OF THE BINARY:<p>
-->
<sect> バイナリのインストール:<p>

<!--
  NOTE:This executable has been compiled with the macro -DPENTIUM_CHANGE
  (that all the new Aviion machines support). If you have an old i486
  (rather unlikely) the executable will NOT RUN correctly.
  But we havent use -mcpu=pentiumpro, so the executable will work on
  ALL PENTIUM machines.
-->
注意: この実行ファイルはマクロ -DPENTIUM_CHANGE 付きで構築されています
(これは新しい Aviion マシンを全てサポートするためのものです)。
古い i486 をお使いであれば(あまりないでしょうが)、実行ファイルは正しく
<em>動作しません</em>。しかし、-mcpu=pentiumpro は使っていないので、
<em>全ての</em> Pentium マシンで動作します。

<itemize>
<!--
<item> About Project Root: I choose as ProjectRoot for ix86 DG/ux the location
  /usr/X11R6.3. The default (in 3.3.5 sources) is the /usr/X11R6. To
  cover this we make a link in /usr as X11R6-&lt;X11R6.3 (read below)
  ;so dont forget to do this link. I dont like the location /usr/opt/X11
  (default location of DG X11) that some of you have suggested to me, I
  believe it is a good idea to keep the original X11 as is for several
  reasons.
-->
<item> ProjectRoot の設定: 筆者は ix86 DG/ux 用の ProjectRoot の位置を 
/usr/X11R6.3 にしています。(3.3.5 のソースの)デフォルト値は /usr/X11R6 
です。これに対応するため、/usr ディレクトリに X11R6-&lt;X11R6.3 という
リンクを作ります(後述)。したがって、忘れずにこのリンクを作ってください。
筆者は /usr/opt/X11 (DG の X11 のデフォルト位置)に置くのは好きではあり
ません。これに合わせるように言ってくる方も何人かいたのですが、いくつか
の理由により、筆者はオリジナルの X11 そのままにしておくのが良いと考え
ています。

<!--
<item> Make a filesystem,using sysadm, mounted under "/usr/X11R6.3".
  This is the default location of X11R6.3 , you cannot change this
  except if you recompile the whole source of X.
  (Please dont send e-mails about this).
  The size of this filesystem should be around 175 MB(350000 blocks).
-->
<item>sysadm を使ってファイルシステムを作り、/usr/X11R6.3 にマウントし
ます。これは X11R6.3 のデフォルトの位置なので、X をソースからコンパイ
ルし直さない限り変えることはできません(これについて筆者にメールを送ら
ないでください)。このファイルシステムのサイズは 175MB (350000 ブロック)
程度にすべきです。

<!--
  The list of files is:
-->
ファイルのリストを示します:

<!--
<verb>
  X3353DL.tgz    3D_Labs XServer ... etc
  X3358514.tgz
  X335AGX.tgz
  X335I128.tgz
  X335Ma32.tgz   Mach32 Xserver
  X335Ma64.tgz   Mach64 Xserver
  X335Ma8.tgz
  X335Mono.tgz
  X335P9K.tgz
  X335S3.tgz
  X335S3V.tgz
  X335SVGA.tgz   SuperVGA Xserver (Supports AV3700 Cirrus)
  X335VG16.tgz   VGA16 Xserver (needed by XF86Setup)
  X335W32.tgz
  X335bin.tgz    BIN (you must have this)
  X335cfg.tgz
  X335doc.tgz
  X335f100.tgz
  X335fcyr.tgz
  X335fnon.tgz
  X335fnts.tgz
  X335fscl.tgz
  X335fsrv.tgz
  X335lib.tgz    LIB (you must have this)
  X335lkit.tgz   Linkkit (X development)
  X335man.tgz    Man pages
  X335nest.tgz
  X335prog.tgz
  X335prt.tgz
  X335set.tgz
  X335vfb.tgz
  preinst.sh    Install script
  extract        The XFree86 extract program (for ix86 DG/ux)

  SUMS.md5       CheckSums for the integrity of the files
</verb>
-->
<verb>
  X3353DL.tgz    3D_Labs 用の X サーバなど
  X3358514.tgz
  X335AGX.tgz
  X335I128.tgz
  X335Ma32.tgz   Mach32 用の X サーバ
  X335Ma64.tgz   Mach64 用の X サーバ
  X335Ma8.tgz
  X335Mono.tgz
  X335P9K.tgz
  X335S3.tgz
  X335S3V.tgz
  X335SVGA.tgz   SuperVGA 用の X サーバ (AV3700 Cirrus もサポート)
  X335VG16.tgz   VGA16 用の X サーバ (XF86Setup を使うために必要です)
  X335W32.tgz
  X335bin.tgz    BIN (これは必ず必要です)
  X335cfg.tgz
  X335doc.tgz
  X335f100.tgz
  X335fcyr.tgz
  X335fnon.tgz
  X335fnts.tgz
  X335fscl.tgz
  X335fsrv.tgz
  X335lib.tgz    LIB (これは必ず必要です)
  X335lkit.tgz   Linkkit (X の開発を行うためのものです)
  X335man.tgz    オンラインマニュアル
  X335nest.tgz
  X335prog.tgz
  X335prt.tgz
  X335set.tgz
  X335vfb.tgz
  preinst.sh    インストール用スクリプト
  extract        XFree86 を展開するためのプログラム (ix86 DG/ux 用)

  SUMS.md5       ファイルが改竄されていないこと確認するためのチェックサム
</verb>
<!--
  (Try compile the GNU textutils-1.22.tar.gz from
   prep.ai.mit.edu /pub/gnu. md5sum is there).
-->
(prep.ai.mit.edu の /pub/gnu にある GNU textutils-1.22.tar.gz をコンパ
イルしてみましょう。md5sum はこれに入っています。)
<p>
<!--
  You need at least:
-->
最低限必要なのは
<verb>
  X335bin.tgz
  X335lib.tgz
</verb>
<!--
  And the correct Xserver for your machine/Graphics card.
  In my opinion take all files , in the future you may need to
  switch to another graphics device etc ... (mget *).
  Generally it is good to have the full distribution of the
  X11R6.3 window system ,it should make life easier in DG/ux.
-->
および、お使いのマシンとグラフィックスカード用の正しい X サーバです。
筆者の意見では、将来に他のグラフィックスデバイスに換えることもあるかも
しれないので全てを入手するといいでしょう…(mget *)。
一般的には X11R6.3 ウィンドウシステムの配布物全てを持っておくのはいい
ことです。DG/ux 上での暮らしが楽になるはずだからです。
<p>
<!--
  (Trivial:you must have root privilege).
-->
(明らかですが、root 権限が必要です。)
<p>
<!--
<item> Unpack the *.tgz files in your / so that it will go directly inside to
  the new filesystem /usr/X11R6.3. After you do that cd /usr and do a link :
  ln -s X11R6.3 X11R6. (Use the install script).
  This link will indicate in XF86 programs like XF86Setup where the new X11
  window system is.
-->
<item> / ディレクトリで *.tgz  ファイルを展開し、これらを直接新しい
ファイルシステム /usr/X11R6.3 に入れます。これを行った後で /usr に cd 
し、'ln -s X11R6.3 X11R6' でリンクを作成します(インストールスクリプト
を使います)。このリンクは、XF86Setup といった XFree86 のプログラムに
新しい X11 ウィンドウシステムの場所を示します。

<!--
<item> cd your home dir and backup your .profile as "cp .profile myprofile". Then
  cd /usr/X11R6.3. Copy the file HOME.profile-X11R6.3 to your home dir as
  "cp HOME.profile-X11R6.3 your home dir/.profile" ,then cd your home dir and
  "chmod 644 .profile" to make sure that the new profile is active. This is
  because you need to tell to the system to look for the X software in a
  different location than the usual /usr/bin/X11 of DG/ux. Also you need
  to tell to the system that the new X libraries are in /usr/X11R6.3/lib.
-->
<item> ホームディレクトリに cd し、"cp .profile myprofile" として .profile
のバックアップを取ります。それから /usr/X11R6.3 に cd します。
ファイル HOME.profile-X11R6.3 を "cp HOME.profile-X11R6.3 your home dir/.profile"
としてホームディレクトリにコピーし、ホームディレクトリに cd し、"chmod 644 .profile"
を実行して新しい .profile が必ず有効であるようにします。
これは、DG/ux 標準の /usr/bin/X11 でない位置にある X のソフトウェアを
システムに探させるように指定する必要があるためです。また、新しい X の
ライブラリが /usr/X11R6.3/lib にあることも教える必要があります。
<p>
<!--
  **You NEED to re-login in order to make the new .profile active !**
  ** DO NOT GIVE "startx" AFTER THAT, READ Configuration below !**
-->
  ** .profile を有効にするためにはログインし直す必要があります! **
  ** いきなり "startx" を実行せず、先に設定の項目を見てください! **

<!--
<item> About Configuration:
  DG/ux has a program (actually a script) called xconfig that makes the
  configuration for you. Usually when you run xconfig in the DG/ux-X11R5
  it creates a file XdgConfig in /var/X11/Xserver which is the corresponding
  of the XF86-configuration file located in /usr/X11R6.3/lib/X11/XF86Config.
  This file ,in the section monitor, has all values for your monitor.
  Please Note:
  Unfortunately in DG/ux R4.20MU02 things change. Instead of going forwards we
  going backwards... xconfig reports crazy values for my DG-DA1765VA monitor.
  So if you have a CDROM of DG/ux R4.11MU02,or MU03 use it to find an xconfig
  that will give you reliable values for your monitor.
-->
<item> 設定について:
DG/ux には、設定を行うための xconfig というプログラム(実際にはスクリプ
ト)があります。普通は DG/ux-X11R5 で xconfig を実行すると、
/var/X11/Xserver ディレクトリに XdgConfig ファイルができます。このファ
イルは /usr/X11R6.3/lib/X11/XF86Config に置かれる XFree86 の設定ファイ
ルに対応するものです。このファイル(のモニタのセクション)にはモニタに関
する全ての値が書かれています。
注意してください:
残念ながら DG/ux R4.20MU02 で事情が変わってしまいました。しかも前進で
はなく後退しています…。xconfig は筆者の DG-DA1765VA に対しては全くお
かしな値を返します。ですから、DG/ux R4.11MU02 や MU03 の CD-ROM をお持
ちであれば、お使いのモニタに対して信頼できる値を返す xconfig をこの中
から探して使いましょう。
<p>
<!--
  Your best bet is to use XF86Setup for correct adjustments.
-->
正しく調節するための一番手堅い方法は XF86Setup を使うことです。
<p>
<!--
  Thats the reason that in this binary there is a mininum tcl,tk(version 8.0).
  Before you run XF86Setup read the relevant documents found in www.xfree86.org.
  (Or read below for a hand-made configuration).
-->
以上が、バイナリ配布の中に tcl, tk(バージョン 8.0)の最小限のファイルが
入っている理由です。XF86Setup を実行する前には、www.xfree86.org にある
関連文書を読んでください(あるいは後述の手動設定の項目を読んでください)。
<p>
<!--
  Notice about XF86Setup: You will will see the message
        "The program is running on a different virtual"
        "Please switch to the correct virtual terminal"
-->
XF86Setup に関する注意:
        "The program is running on a different virtual"
        "Please switch to the correct virtual terminal"
というメッセージが表示されるでしょう。
<p>
<!--
  DG/ux does NOT have any virtual terminals. But XF86Setup uses a script
  that doesnt checks for this. So it is printing this message anyway.
  Ignore it and dont send e-mails asking how to set the virtual terminal!
  XF86Setup WORKS for SURE (if you use it correctly) to set your configuration.
  Just remember:
-->
DG/ux には仮想端末はありません。しかし XF86Setup はこれをチェックしな
いスクリプトを使っているのです。したがって、いずれにせよこのメッセージ
は表示されます。これは無視してください。仮想端末を設定する方法を筆者に
メールで尋ねたりしないでください!
XF86Setup は(正しく使えば)<em>ちゃんと動き</em>、設定を行うことができ
ます。設定については以下の項目を忘れないでください:
  <enum>
<!--
  <item> make a link in /usr/X11R6.3/bin: ln -s XF86_VGA16 X
-->
  <item> /usr/X11R6.3/bin でのリンク作成: ln -s XF86_VGA16 X
<!--
  <item> set mouse device in your XF86Config to /dev/mouse (this the mouse in DGUX)
-->
  <item> XF86Config でのマウスデバイスの設定を /dev/mouse とする(これ
は DGUX のマウスです)
<!--
  <item> set the correct mouse protocol. (usually for a typical AViiON PS/2).
-->
  <item> 正しいマウスプロトコルを設定する (一般的な AViiON では PS/2 が普通)
  </enum>
<!--
  Or just cd /usr/X11R6.3/lib/X11 and copy XF86Config.eg.dgux to XF86Config
  (it is for a PS/2 protocol mouse that almost all AViiON's have) , then
  run XF86Setup and choose to use this XF86Config file as default (so mouse
  works).
-->
あるいは、/usr/X11R6.3/lib/X11 に cd し、XF86Config.eg.dgux(ほとんど全
ての AViiON で使われている PS/2 マウス用の設定) を XF86Config にコピー
し、それから XF86Setup を実行し、この XF86Config ファイルをデフォルト
として選ぶことができます(したがってマウスが使えます)。
<p>
<!--
  Alternatively, you can run xf86config, a non-graphical configuration utility
  but you will need to enter manually the values for your monitor.
  If you have the small booklet that came with the monitor they are inside.
-->
XF86Setup の代わりに、グラフィカルな設定ユーティリティでない 
xf86config を使うこともできます。しかし、このユーティリティではモニタ
の設定値も全て手で入力する必要があります。ミニタに付属している小冊子を
お持ちであれば、これを使ってもいいでしょう。
<p>
<!--
  Hand made configuration:
  I have an DG/ux Medium resolution (1280x1024) 17 inch DG-26059,DA1765VA.
-->
手動での設定:
筆者は DG/ux の中解像度(1280x1024),17 インチの DG-26059, DA1765VA を持っ
ています。
<bf>
<!--
  ONLY IF YOU HAVE THE
                        ***EXACT SAME***
  MONITOR USE THE FILE XF86Config_SVGA_DGUX that you will find in /usr/X11R6.3/.
  IT IS IN YOUR OWN RISK IF YOU DECIDE TO USE THIS FILE WHEN YOU DONT HAVE THE
  SAME MOTINOR AS MINE. YOU CAN DAMAGE YOUR VIDEO MONITOR OR YOUR GRAPHICS CARD.
-->
読者の皆さんが
                        ***全く同じ***
モニタを使っている場合に限り、/usr/X11R6.3/ にある XF86Config_SVGA_DGUX
を使うことができます。筆者とモニタを使っていなければ、このファイルの利
用は読者の皆さん自身の責任で行ってください。ビデオモニタやグラフィックス
カードを傷める可能性があります。
</bf>
<p>
<!--
  An examble of how to use the Accel Servers (eg ATI=XF86_Mach64) is in the file
  XF86Config_ATI_DGUX.
  Again remember:
  I have an DG/ux Medium resolution (1280x1024) 17 inch DG-26059,DA1765VA.
-->
アクセラレーション付きのサーバ(例: ATI 用の XF86_Mach64)の設定例は
XF86Config_ATI_DGUX ファイルにあります。
繰り返しになりますが忘れないでください:
筆者が持っているのは DG/ux の中解像度(1280x1024),17 インチの DG-26059,
DA1765VA です。

<bf>
<!--
  ONLY IF YOU HAVE THE
                        ***EXACT SAME***
  MONITOR USE THE FILE XF86Config_ATI_DGUX that you will find in /usr/X11R6.3/.
  IT IS IN YOUR OWN RISK IF YOU DECIDE TO USE THIS FILE WHEN YOU DONT HAVE THE
  SAME MOTINOR AS MINE. YOU CAN DAMAGE YOUR VIDEO MONITOR.
-->
読者の皆さんが
                        ***全く同じ***
モニタを使っている場合に限り、/usr/X11R6.3/ にある XF86Config_ATI_DGUX
を使うことができます。筆者とモニタを使っていなければ、このファイルの利
用は読者の皆さん自身の責任で行ってください。ビデオモニタを傷める可能性
があります。
</bf>
<p>
<!--
  Start with the file XF86Config.eg as a prototype. READ the REAME.Config .
  In Cirrus chips you need to read the file README.cirrus located in /usr/X11R6.3
  There is a problem with the accelarated XAA code ,so you need to try to put
  the following option in your XF86Config:
-->
プロトタイプとしてまずは XF86Config.eg を使いましょう。REAME.Config を
読んでください。Cirrus チップの場合には /usr/X11R6.3 にある 
README.cirrus を読む必要があります。アクセラレーション付きの XAA コー
ドには問題があるので、XF86Config には以下のオプションを使ってみる必要
があります:
<!--
<verb>
  Option "no_mmio" (in Section Screen ,subsection display).
</verb>
-->
<verb>
  Option "no_mmio" (Screen セクションの Display サブセクション)
</verb>
<!--
  Look in the XF86Config_SVGA_DGUX to see how this can be done .
  If this doesnt work (it will probably) try Option "noaccel" or "no_bitblt".Again
  READ the file README.cirrus (and README.Config).
  I suggest to print (in paper) the file XdgConfig and have a look in it. Then it
  should be quite trivial to figure out what you have to do with the XF86 file
  ie XF86Config in the sections mouse, keyboard, screen ...
  After you have a correct XF86Config in /usr/X11R6.3/lib/X11 give
-->
どうやってこれを行うかは XF86Config_SVGA_DGUX を見てください。これが動
作しなければ(たぶん動作すると思いますが)、Option "noaccel" または "no_bitblt"
を試してください。繰り返しになりますが、README.cirrus (と 
README.Config)を読んでください。
筆者としては、XdgConfig を(紙に)印刷し、これを見ることをお勧めします。
そうすれば、XFree86 の設定ファイルで設定すべきことが明らかになるでしょ
う。つまり XF86Config のマウス、キーボード、スクリーン等のセクションで
す。正しい XF86Config を /usr/X11R6.3/lib/X11 に置いた後は、以下のコマ
ンドを実行します:
<!--
<verb>
  chmod 444 XF86Config.
</verb>
-->
<verb>
  chmod 444 XF86Config
</verb>
<p>
<!--
  Supposing that you have already  re-login so that the new .profile is active
  and you have the correct XF86Config file (as your XdgConfig suggest) (DO not
  forget for a cirrus to put the Option "no_mmio" in section screen !), give
  startx and the new X11 will start .
  Remember: You can shut down at any point the Xserver by pressing
  CONTROL+ALT+BACKSPACE (if something goes wrong).
  Also Xservers dont produce messages unless to want them to do so. This is
  because the DG/ux console driver some times causes corruption of the screen
  if you print text during the startup of the Xserver.
  If you require messages try in bash shell to give: (bash# )
-->
既にログインし直して .profile が有効になっており、かつ(XdgConfig が示
すように)正しい XF86Config ファイルが用意されているものとすると(cirrus 
チップの場合には、忘れずにScreen セクションで Option "no_mmio" を設定
してください!)、startx を実行すると新しい X11 が起動します。
覚えておいてください: (何かがおかしい時には)CONTROL+ALT+BACKSPACE を押
せばいつでも X サーバをシャットダウンさせることができます。また、X サー
バは出力するように指定しなければメッセージを出力しません。これは、X サー
バの起動中にテキストが出力されると、DG/ux のコンソールドライバが画面を
めちゃくちゃにすることがあるからです。メッセージが必要ならば、bash の
シェルで以下のコマンドを実行してください:
<!--
<verb>
  X -verbose >& info1  or even
  X -verbose -verbose >& info2 for more messages.
</verb>
-->
<verb>
  X -verbose >& info1  、あるいはもっと詳しいメッセージが見たければ
  X -verbose -verbose >& info2 を使います。
</verb>
<!--
  Then when the server is up press CONTROL+ALT+BACKSPACE to shutdown the
  Xserver. File info1 (or info2) have all relevant info about your graphics
  card , display memory etc ...
  I suggest you do that at least one time before start using the new X11R6.3.
  Read this info file to see if all ok. If not try change settings in your
  XF86Config to make thinks correct.
-->
それから、X サーバが起動した後で CONTROL+ALT+BACKSPACE を押してサーバ
をシャットダウンさせます。ファイル info1 (または info2) にはグラフィッ
クスカード、ディスプレイのメモリ容量などに関する関連情報が記録されてい
ます。
筆者としては、新しい X11R6.3 を使い始める前に最低一度はこれを行うこと
をお勧めします。このファイルを見て、全て正しいかどうかを確認します。
そうでなければ、XF86Config の設定を変更し、それで正しくなるか試してみ
ましょう。
<p>
<!--
  If you have an ATI Rage II (or RageII+) use the server XF86_Mach64 (make
  a link link X&#045;#045;#045;&lt;XF86_MACH64, or run xf86config, or use XF86Setup above).
-->
ATI RageII (または RageII+)をお使いであれば、XF86_Mach64 を使ってくだ
さい(X&#045;#045;#045;&lt;XF86_MACH64 のリンクを作るか、xf86config を
実行するか、前述の XF86Setup を使います)。

<!--
<item> If you want to compile programs with the X11R6.3 the headers in /usr/include
  /X11 pointing to /usr/opt/X11 of DG/ux is a problem .
  Do:
-->
<item> X11R6.3 でプログラムをコンパイルしたければ、/usr/include/X11 に
あるヘッダが DG/ux の /usr/opt/X11 を指していると問題が起きます。
<p>
<!--
  a): unmounting the /usr/opt/X11 will prevent the sysadm to use the X
  graphical interface. But this will be the only thing that you loose.
  The correct thing to do for X11R6.3 is to delete the filesystem /usr/opt/X11
  and make a link /usr/opt/X11&#045;#045;#045;&lt;/usr/X11R6.3 , so that the libraries
  from dglib and /usr/lib point correctly to the new ones in /usr/X11r6.3/lib.
  Before you unmount this filesystem you need to do this:
-->
a): /usr/opt/X11 をアウマヌトすると、sysadm で X の GUI が使えなくなり
ます。しかし、失われるのはこれだけです。X11R6.3 に対する正しい処理は、
ファイルシステム /usr/opt/X11 を消して、リンク /usr/opt/X11---&lt;/usr/X11R6.3
を作ることです。これは dglib と /usr/lib のライブラリが 
/usr/X11r6.3/lib にある新しいライブラリを正しく示すようにするためです。
このファイルシステムをアンマウントする前には以下の作業を行う必要があり
ます:
<verb>
  cd /usr/opt/X11/include
  cp -r Mrm    /usr/X11R6.3/include
  cp -r uil    /usr/X11R6.3/include
  cp -r Xm     /usr/X11R6.3/include
  cd /usr/X11R6.3/include
  ln -s uil Uil
</verb>

<!--
  LIBRARIES:
-->
ライブラリ:
<!--
<verb>
  and cd /usr/opt/X11/lib
  cp libXm.a       /usr/X11R6.3/lib
</verb>
-->
<verb>
  cd /usr/opt/X11/lib
  cp libXm.a       /usr/X11R6.3/lib
</verb>

<!--
  and similarly copy the following libraries:
-->
を行ってください。同様に、以下のライブラリも /usr/X11R6.3/lib にコピー
してください:

<verb>
  libX11.so.2, libX11.so.5, libXIM.so.1, libXaw.so.1, libXaw.so.2,
  libXext.so.2, libXi.so.2, libXimp.so.1, libXm.so.2, libXmu.so.2,
  libXsess.so.1, libXsi.so.1, libXt.so.2, libXt.so.5.0, libMrm.a,
  libUil.a, libX11_s, libXR4sco_s 
</verb>

<!--
  into /usr/X11R6.3/lib.
-->
<p>
<!--
  Then cd /usr/X11R6.3/lib and make links:
-->
それから /usr/X11R6.3/lib に cd し、リンクを作成します:

<!--
<verb>
  ln -s libXm.so.2 libXm.so
  ln -s libXm.so.2 libXm.so.1
  ln -s libXm.so.2 libXm.so.5.0

  ln -s libX11.so.5.0 libX11.so.1 

  ln -s libXIM.so.1 libXIM.so.5.0 

  ln -s libXaw.so.2 libXaw.so.5.0

  ln -s libXext.so.2 libXext.so.5.0
  ln -s libXext.so.2 libXext.so.1

  ln -s libXi.so.2 libXi.so.1
  ln -s libXi.so.2 libXi.so.5.0

  ln -s libXimp.so.1 libXimp.so.5.0

  ln -s libXmu.so.2 libXmu.so.5.0

  ln -s libXt.so.2 libXt.so.5.0

  ln -s libXsi.so.1 libXi.so.5.0

  cd /usr/X11R6.3/lib
  rm libXmu.so (to avoid undefs when building X software)
</verb>
-->
<verb>
  ln -s libXm.so.2 libXm.so
  ln -s libXm.so.2 libXm.so.1
  ln -s libXm.so.2 libXm.so.5.0

  ln -s libX11.so.5.0 libX11.so.1 

  ln -s libXIM.so.1 libXIM.so.5.0 

  ln -s libXaw.so.2 libXaw.so.5.0

  ln -s libXext.so.2 libXext.so.5.0
  ln -s libXext.so.2 libXext.so.1

  ln -s libXi.so.2 libXi.so.1
  ln -s libXi.so.2 libXi.so.5.0

  ln -s libXimp.so.1 libXimp.so.5.0

  ln -s libXmu.so.2 libXmu.so.5.0

  ln -s libXt.so.2 libXt.so.5.0

  ln -s libXsi.so.1 libXi.so.5.0

  cd /usr/X11R6.3/lib
  rm libXmu.so (X のソフトウェアを構築する時に未定義になるのを避けるため)
</verb>
<!--
  Also you need to correct the links in /usr/dglib at least!
  (the correct thing to do is modify also /usr/lib links to
  /usr/opt/X11 libs).
  Try 
-->
また、少なくとも /usr/dglib 以下のリンクは正しくなくてはなりません!
(正しい処理は、/usr/lib にある /usr/opt/X11 へのリンクも修正することで
す。)
そして以下のコマンドを実行し(gzip は dglib のバックアップのサイズを
最小限にするために使います)、
<verb>
  cd /usr/
  tar -cvf dglib-orig.tar dglib
  gzip dglib-orig.tar 
</verb>
<!--
  (to minimize the space dglib-backup takes) then
-->
それから
<verb>
  cd /usr/dglib 
</verb>
<!--
  and delete ALL links to libraries in
  /usr/opt/X11. Then copy the script create_new_links_in_dglib (found
  in /usr/X11R6.3 to /usr/dglib and cd /usr/dglib execute script.
  This will create all new links with the X11R6.3 X window system.
-->
して、/usr/opt/X11 にあるライブラリへのリンクを全て消します。次に
create_new_links_in_dglib スクリプト(/usr/X11R6.3 にある)を /usr/dglib 
にコピーし、cd /usr/dglib してからこのスクリプトを実行します。
これにより X11R6.3 で使う新しいリンクが全て作成されます。
<p>
<!--
  But remember to do in the end :
-->
しかし、最後に次の作業を忘れずに行ってください:
<p>
<!--
<verb>
  cd /usr/dglib
  rm *.a (no static libs links in dglib)
</verb>
-->
<verb>
  cd /usr/dglib
  rm *.a (dglib 内にはスタティックライブラリでないリンクはありません)
</verb>

<!--
  Then unmount (delete) the old X11 by giving "umount /usr/opt/X11".
-->
それから "umount /usr/opt/X11" を行って古い X11 をアンマウント(削除)し
ます。
<p>
<!--
  NOTE: If you compile programs in the X11R6 make sure that you
  unmount /usr/opt/X11 or you eliminate the links in /usr/lib
  to the OLD libX's in /usr/opt/X11/lib.
  Otherwise gcc will link these old libraries! and the binary will
  not run correctly.
  Always after an R6 compilation do "ldd prog" to make sure that the
  binary loads only R6 version libraries (except maybe the motif
  library libXm.so.2), &#045;&#045;if you dont use the static libXm.a
-->
注意: X11R6 でプログラムをコンパイルする場合には、/usr/opt/X11 が
アンマウントされているか、あるいは /usr/opt/X11/lib の古い libX のライ
ブラリを指している /usr/lib のリンクが削除されていることを確かめてくだ
さい。さもなければ、gcc がこれらの古いライブラリをリンクしてしまいます!
そして正しく動作しないバイナリができます。
R6 のコンパイルを行った後には、"ldd プログラム" を実行して、バイナリが 
R6 のバージョンのライビラリをロードすることを確かめましょう(Motif の
ライブラリである libXm.so.2 はたぶん例外です)――スタティックライブラ
リである libXm.a を使わないのであれば。
<p>
  b:)
<verb>
  cd /usr/include
  tar -cvf old-X11headers.tar X11
  gzip old-X11headers.tar
</verb>
<!--
  so that you store your old headers in /usr/include.
-->
これは /usr/include にある古いヘッダを保存するための操作です。

<!--
  Then cd /usr/include/  and delete
-->
それから cd /usr/include し、以下のようにファイルの削除を行います:
<!--
<verb>
       rm -r X11
       rm Xm
       rm Mrm
       rm Uil
       rm uil
  Make new links as:
  cd /usr/include
  ln -s ../X11R6.3/include/X11 X11
  ln -s ../X11R6.3/include/uil Uil
  ln -s ../X11R6.3/include/uil uil
  ln -s ../X11R6.3/include/Xm  Xm
  ln -s ../X11R6.3/include/Mrm Mrm
</verb>
-->
</itemize>

<!--
<sect> What is about:<p>
-->
<sect> What is about:<p>
<!--
  This new X11R6 are not simply an upgrade of the servers to the latest ones.
  It is a new programming platform in your DG/ux system to allow you to import
  all this *FREE* or not software for the X window system.
  This software will not compile in the old (and ungly) X11 of Data General.
  The imake command that is implemented in almost all the (source) software
  for X11 (free or not) will not work with the totally broken "imake" command
  of /usr/opt/X11 of DG/ux.
-->
この新しい X11R6 は、単にサーバを最新のものに更新するだけではありませ
ん。これは DG/ux システムの新しいプログラミング環境であり、
全ての *フリー* なソフトウェア、つまり X ウィンドウシステム用でない
ソフトウェアも導入できるようになります。このソフトウェアは
Data General の古い(そして質の低い)  X11 ではコンパイルできません。
ほとんど全ての(ソースで提供されている)X11 用ソフトウェア(フリーでも、
そうでなくても)に用意されている Imakefile は、DG/ux の /usr/opt/X11 に
ある壊れた "imake" コマンドでは全く動作しません。
<p>
<!--
  The imake of DG/ux X11R5 is badly broken:
  I have seen DG/ux releases R4.11,MU01, ...MU04, R420, R4.20MU02 ,R4.20MU03
  and nobody bother to look in all these releases the imake command...
-->
DG/ux の imake はひどい壊れ方です:
筆者は DG/ux のリリース R4.11,MU01, ...MU04, R420, R4.20MU02 ,R4.20MU03
と見てきましたが、これらのリリースに入っている imkae コマンドをわざわ
ざ見ようという人は誰一人いませんでした…。
<p>
<!--
  While until now DG was rather hostile to the prospect of a new X11 in DG/ux
  some new folks there they have turn their interest in X11R6 (XFree86) these
  days. That is good of cource because the ultimate target is to make XFree86
  (3.3.5 or whatever version) to run in _their_ DG/ux Unix! I will be able to
  make a much better X11 in DG/ux if I could had some access to DG/ux sources
  (i.e. the original R5 sources , but not only &#045;&#045;eg kernel driver sources as
  for examble the DG/ux kernel console driver sources).
-->
今までは、DG/ux に新しい X11 を取り込むという点で DG は比較的冷淡でし
たが、新しい人が何人か加わって、最近は DG のX11R6(XFree6)への考え方が
転換しました。これは良い方向です。なぜなら、究極の目標は XFree86
(3.3.5 あるいは別のバージョン)を<em>彼らの</em> DG/ux Unix で動かすこ
とだからです。
筆者が DG/ux のソース(つまり元々の R5 のソース。ですがそれだけではなく
例えば DG/ux のカーネルコンソールドライバのソース等のようなカーネルの
ドライバのソースも含みます)に触れることができれば、DG/ux での X11 環境
をもっと良くできると思います。
<p>
<!--
  I have compile almost anything that runs for Linux in DG/ux using this X11.
  In doing this work in XFree86 I would like to express my thanks to David Dawes
  that he help me all the time with several techical questions. Also D.T. is one
  of the people that offer valuable help.
  Finally I want to express my thanks to John H. for enlight me in some syscall
  issues.
-->
筆者はこの X11 を使って、Linux で動作しているほとんど全てのソフトウェ
アを DG/ux でコンパイルしています。XFree86 でこの作業を行うにあたって、
筆者はいくつかの技術的な疑問についてずっと助けてくれた David Dawes さ
んに感謝の意を示したいと思います。また D.T. さんも貴重な手助けをしてく
れた人達の一人です。最後に、システムコールにまつわるいくつかの問題につ
いて教えてくださって John H. さんに感謝の意を示します。

<verb>
$XFree86: xc/programs/Xserver/hw/xfree86/doc/Japanese/sgml/DGux.sgml,v 1.1.2.1 1999/12/02 12:30:34 hohndel Exp $
</verb>


<sect>日本語訳について<p>
日本語訳は X Japanese Documentation Project が行いました
(翻訳: 藤原輝嘉 <url url="mailto:fujiwara@linux.or.jp"
name="&lt;fujiwara@linux.or.jp&gt;">)。
問題点の指摘やご意見は藤原まで御連絡ください。
原文の著作権は XFree86 プロジェクト社にあり、日本語訳に伴う権利は
X Japanese Documentation Project にあります。
</article>
