[comp.sys.ibm.pc.rt] installing MH 6.6 on an IBM RT

krokumg@argus.math.orst.edu (Galen R. Krokum) (11/06/89)

I have tried unsuccessfully to install MH 6.6 on an IBM RT running AOS using
several different combinations of options.  I either get a core dump when I
try to send mail from the whatnow program or some sort of socket error a minute
or two after I try to send the mail depending on what configuration I use.  

I have had to use the BIND option because the RT does not seem to have the
gethostent call in it's C library.  Our RT is not running named or bind.

Has anyone successfully installed MH 6.6 on an RT running AOS?  If you have,
please mail me the MH configuration file you used or the options you are using.
Thanks,


---------------------------------------------------------------------------
Galen R. Krokum				Internet:  krokumg@cs.orst.edu
Computer Science Department		UUCP:      tektronix!orstcs!krokumg
Oregon State University			UUCP:      hplabs!hp-pcd!krokumg
Corvallis, OR  97331			Phone:     (503) 737-3273
---------------------------------------------------------------------------

brunner@bullhead.uucp (11/17/89)

In article <13584@orstcs.CS.ORST.EDU> krokumg@argus.math.orst.edu (Galen R. Krokum) writes:
>
>I have tried unsuccessfully to install MH 6.6 on an IBM RT running AOS using
>several different combinations of options.  I either get a core dump when I
>try to send mail from the whatnow program or some sort of socket error a minute
>or two after I try to send the mail depending on what configuration I use.  
>
>I have had to use the BIND option because the RT does not seem to have the
>gethostent call in it's C library.  Our RT is not running named or bind.
>
>Has anyone successfully installed MH 6.6 on an RT running AOS?  If you have,
>please mail me the MH configuration file you used or the options you are using.
>Thanks,

I installed 6.6 on bullhead in August, having installed 6.5 a week or two
after I started working on 4.3 here (April/May). It runs without problem.
/etc/named is bind (Berkeley Internet Name Daemon), the signifigance of
the BIND configuration option is actually the release level of the network
sources and binarys, not whether the host is using one name lookup scheme
or another (static host tables or hierarchical, distributed lookup).

The configuration file I used is (cat -n):
     1	bin	/usr/new/mh
     2	bboards	off
     3	etc	/usr/new/lib/mh
     4	mail	/usr/spool/mail
     5	manuals	new
     6	mts	sendmail/smtp
     7	options	BSD42 BERK TTYD DUMB
     8	options	MHE NETWORK BIND RPATHS
     9	options	SBACKUP='"\\043"'
    10	pop	off
    11	ldoptions -ns -O

The gethostbyaddr.c gethostbyname.c and gethostent.c routines were all droped
from the release when the 4.2 sources were replaced with the 4.3 sources.
Looking back over the rlogs, the last time these routines were included in
the libc/net sources was the August 1986 release - the 4.3bsd code came in
at revision level 8.0 - the current level is 12.0 (December 1988 release).

In LocalName() in zotnet/mts/mts.c is an example of the BIND configuration
option, as well as a host of others - which is why mh runs on such a large
set of network releases, including IBM's 4.3. As you can see, just about
everything is covered.

   316  char   *LocalName () {
   317  #ifdef  BSD41A
   318      char  *myname;
   319  #endif  BSD41A
   320  #ifdef  BSD42
   321      register struct hostent *hp;
   322  #endif  BSD42
   323  #ifdef  SYS5
   324      struct utsname name;
   325  #endif  SYS5
   326      static char buffer[BUFSIZ] = "";
   327
   328      if (buffer[0])
   329          return buffer;
   330
   331      mts_init ("mts");
   332      if (*localname)
   333          return strcpy (buffer, localname);
   334
   335  #ifdef  locname
   336      (void) strcpy (buffer, locname);
   337  #else   not locname
   338  #ifdef  NETWORK
   339  #ifdef  BSD41A
   340      myname = "myname";
   341      if (rhost (&myname) == -1)
   342          (void) gethostname (buffer, sizeof buffer);
   343      else {
   344          (void) strcpy (buffer, myname);
   345          free (myname);
   346      }
   347  #endif  BSD41A
   348  #ifdef  BSD42
   349      (void) gethostname (buffer, sizeof buffer);
   350  #ifndef BIND
   351      sethostent (1);
   352  #endif
   353      if (hp = gethostbyname (buffer))
   354          (void) strcpy (buffer, hp -> h_name);
   355  #endif  BSD42
   356  #else   not NETWORK
   357  #ifndef SYS5
   358      (void) strcpy (buffer, SystemName ());
   359  #else   SYS5
   360      (void) uname (&name);
   361      (void) strcpy (buffer, name.nodename);
   362  #endif  SYS5
   363  #endif  not NETWORK
   364  #endif  not locname
   365
   366      return buffer;
   367  }

P.S.
Please call the 4.3 port to the 615[0-2] systems "IBM/4.3", or "ACIS" if
you must, but not "AOS" -- that name belongs to someone else.

P.P.S.
I tip my hat to the original RAND crew (Borden, Gaines and Shapiro) and
the UCI crew (Rose and Romine). The code and structure are an inspiration.


Eric Brunner, Consultant, IBM AWD Palo Alto	(415) 855-4486
inet: brunner@monet.berkeley.edu
uucp: uunet!ibmsupt!brunner