Search the FAQ Archives

3 - A - B - C - D - E - F - G - H - I - J - K - L - M
N - O - P - Q - R - S - T - U - V - W - X - Y - Z
faqs.org - Internet FAQ Archives

[comp.unix.machten] MachTen & CodeBuilder FAQ


[ Usenet FAQs | Web FAQs | Documents | RFC Index | Forum ]
Archive-name: macintosh/machten-faq
Posting-Frequency: monthly
Last-modified: 1998/05/19
URL: http://www.tenon.com/support/machten.faq.shtml
Copyright: (c) 1998, Tenon Intersystems
Maintainer: Jaime Julca <jjulca@tenon.com>

See reader questions & answers on this topic! - Help others by sharing your knowledge
----------------------------------------------------------------------------

                          MachTen & CodeBuilder FAQ

                                 MachTen 4.1

                              CodeBuilder 1.0.1

                                Last Updated:
                                 19 May 1998

----------------------------------------------------------------------------
This collection of frequently asked questions (FAQ) provides brief answers
to many common questions about Tenon's MachTen and CodeBuilder software.
Please check here for answers before posting a question to the MachTen
newsgroup (comp.unix.machten) or before sending email to support@tenon.com.
----------------------------------------------------------------------------

A. General Questions
general description of MachTen and CodeBuilder; versions; platforms
supported

B. Communications
interoperability and internetworking

C. Software Development
tools and porting techniques

D. The X Window System
understanding and using X

E. File Handling Management
Macintosh file system vs. a UNIX file system

F. Peripherals and Devices
third-party devices and compatibility issues

G. Technical MachTen
common technical support questions

We try to make as much information as possible available through our web
site at http://www.tenon.com. If you have trouble finding the information
you need there, please let us know.

----------------------------------------------------------------------------

A. General Questions:

A1. What is MachTen?
A2. What is CodeBuilder?
A3. What is the difference between Power MachTen and CodeBuilder?
A4. Why did Tenon develop MachTen?
A5. What are the main reasons for marriage of UNIX and Macintosh?
A6. How will Apple's acquistion of NeXT affect Tenon?
A7. What are some of the typical applications for MachTen?
A8. Is there anything that MachTen won't do that another machine running BSD
UNIX can do?
A9. Are there any other UNIX packages available for Macs and Power Macs?
A10. How can MachTen be considered a real UNIX operating system when it is
implemented on top of MacOS?
A11. What models of Macintosh does MachTen run on?
A12. What models of Macintosh does CodeBuilder run on?
A13. What add-on hardware is supported?
A14. What are the differences between Professional MachTen and Power
MachTen?
A15. How do I decide what version of MachTen I need?
A16. Is it possible to upgrade from Professional MachTen to Power MachTen?
A17. What are MachTen's memory and disk requirements?
A18. Does MachTen support virtual memory?
A19. Is there any way I can have MachTen start up every time my Mac boots?
A20. Does the "xxx" software package run on top of MachTen?
A21. What commercial applications run on MachTen?
A22. As UNIX is so file I/O intensive, what kind of performance can MachTen
have if Apple's file system is so slow?
A23. Can more than one user access the MachTen host system?
A24. Can users without a UNIX account use the Mac solely as a Mac?
A25. What is the visual appearance of MachTen/CodeBuilder?
A26. Can you start Mac applications both under Finder and under the UNIX
shell?
A27. What Mac applications run on MachTen?
A28. Can I get a demo of MachTen?
A29. Does Tenon offer educational discounts?
A30. Is MachTen/CodeBuilder compatible with MacOS 8?

A1. What is MachTen?

MachTen is a Berkeley UNIX operating system with a Carnegie-Mellon Mach
kernel. It runs as an application on the Macintosh Operating System (MacOS).
The MachTen UNIX kernel supports a standard UNIX applications environment
which in turn supports hundreds of standard UNIX applications. The UNIX
operating system runs in concert with the Macintosh operating system. When
MachTen is running, you still have access to the Macintosh Finder desktop
and Macintosh applications, such as a Macintosh spreadsheet or desk
accessory application.

Even though MachTen gives the appearance of being just another Macintosh
application, its operation is more like that of a co-resident operating
system. MachTen and MacOS share the processor -- when MachTen has control,
it pre-emptively multitasks the UNIX applications; when MacOS has control,
it runs the Mac applications using its cooperative sharing.

Since MachTen runs on top of MacOS, there is no need to partition the hard
drive or to install separate MachTen-specific device drivers. MachTen maps
the UNIX file system to the MacOS file system and uses the MacOS device
drivers. This means that there is a single, consistent file system and that
third party devices, such as network controller boards, automatically run
with MachTen.

In addition, Power MachTen has its own native fast file system (implemented
within a single Macintosh file) that gives UNIX operations a significant
performance boost.

MachTen is a full-fledged operating system that, for portability reasons,
uses as much of the device driver software that's available in the
Macintosh. Where necessary, it will operate directly with the hardware.

A2. What is CodeBuilder?

CodeBuilder is a powerful and unique Macintosh software development tool for
porting existing applications or developing new, advanced applications on
Power Macs and Power Mac clones.

CodeBuilder is a Power Macintosh application that includes a complete suite
of C, C++, Objective-C, Java, Ada, and Fortran development tools.
CodeBuilder can be used in combination with standard Macintosh editors and
compilers to develop Macintosh applications, X applications, and NeXT/UNIX
applications.

CodeBuilder gives developers the ability to create an application with a
single source base not only for Power Macs under a native Apple operating
system, but also for Silicon Graphics, SUN, NeXT, or HP environments.
CodeBuilder gives Apple developers the freedom to take advantage of
time-tested UNIX development tools and to explore Objective-C and Ada,
without giving up the features of their favorite Macintosh editors and
compilers. Because CodeBuilder uses standard Macintosh binary formats, you
can use Macintosh debuggers and even combine Macintosh compiler output with
CodeBuilder's UNIX compiler output. CodeBuilder is a new standard in PowerPC
software development.

A3. What is the difference between Power MachTen and CodeBuilder?

MachTen is a full-fledged UNIX system that runs over the MacOS. CodeBuilder
has a MachTen kernel and many of the UNIX features, but lacks MachTen's
networking. CodeBuilder includes many tools available to MachTen owners only
on the Ported Apps Vol. 2 CD.

A4. Why did Tenon develop MachTen?

Tenon's goal was to "unlock" the processing power of personal computers and
put them on an equal footing with workstations, minis, and mainframes.

On one hand, MachTen brings UNIX applications and technology to the
Macintosh desktop; on the other hand, it provides a vehicle for Macintosh
users to access those larger functional capabilities and communications
protocols that are fundamentally developed by the workstation community.
These industry standard tools can be brought to the desktop where Macintosh
applications are able to take advantage of them. It is a dual-directional
approach.

MachTen makes client/server computing available for everyone by lowering the
price point of this capability by an order of magnitude. When Apple built
the Macintosh, they called it a computer for "the rest of us". MachTen is
UNIX for "the rest of us".

A5. What are the main reasons for marriage of UNIX and Macintosh?

The Macintosh is the most user-friendly computer. Windows is trying to
achieve the friendliness of the Mac. UNIX is the richest, most popular
software development environment, and is becoming a universally accepted
standard for distributed computing. It has an abundant set of communications
protocols and file sharing software - Telnet, r-series, email, file
transfer, NFS client and server. MachTen makes that plentiful environment
available on a Macintosh.

The combination of Macintosh and UNIX has been enthusiastically embraced by
both Macintosh and UNIX lovers.

A6. How will Apple's acquistion of NeXT affect Tenon?

Apple's acquistion of NeXT Corporation validates Tenon's choice of the
Carnegie Mellon Mach kernel coupled with a Berkeley UNIX as a way to extend
and enhance MacOS. Tenon has been shipping the exact same variant of UNIX
chosen by Steve Jobs for the foundation of its MachTen UNIX that runs on
every single Macintosh and Power Mac.

We think that MachTen could accelerate Apple's porting efforts, since our
software has already been made extremely portable by removing the UNIX/Mach
hardware dependencies. Interfacing our software to the Copland Nu kernel and
then adding the advanced NeXT tools on top may be the fastest way for Apple
to get NeXT OS on Power Macs. Tenon's development organization includes the
world's largest collection of engineers with Mach/MacOS/PPC experience.

Our UNIX software development environment generates MacOS (PEF) binaries
from UNIX sources. In addition to C and C++ compilers for the 68K and
PowerMac, our development environment includes essential UNIX standard
tools, such as make, lex, and yacc. We have used these tools to port
millions of lines of UNIX system source and hundreds of UNIX application
programs to both 68K Macs and Power Macs. The advanced NeXT development
tools (and even applications, such as WebObjects) could easily be ported to
MachTen using these tools. This done, MachTen could give developers an early
platform for porting applications.

By incorporating the 68K version of our software into their strategy, Apple
could make the integrated NeXT system backward compatible to all M68K
Macintoshes. By doing this, they might actually be able to bring the 68K
port out ahead of the PowerMac port.

Tenon's software already supports AfterStep (a NeXT-like X Window manager)
and soon will support Objective C. Portions of GNUStep (the FSF version of
NeXTStep) have been ported to MachTen.

A7. What are some of the typical applications for MachTen?

MachTen opens up new markets for Apple to offer Macs and Power Macs as
inexpensive UNIX and X software development platforms. It also lets users
integrate every Macintosh in the environment with all the other processors
in the enterprise -- it doesn't even have to be UNIX-based -- anything
TCP/IP-based can interoperate with a Macintosh. On the one hand, MachTen is
an inexpensive UNIX development environment; on the other hand, it is an
excellent connectivity tool for the Macintosh. MachTen can turn a Macintosh
into a complete Internet server or a high-performance X terminal.

A8. Is there anything that MachTen won't do that another machine running BSD
UNIX can do?

MachTen is a fully functional BSD system. Tenon has added a few
MachTen-specific utilities; e.g.: it can change UNIX text into text
recognizable by Macintosh applications and can cope with Apple Single/Double
file formats. In addition, a Macintosh-style MachTen Control Panel lets you
easily modify networking addresses and other system variables that would
ordinarily require editing UNIX configuration files. So, in some sense, it
is a friendlier UNIX. But, by and large, there are no surprises. MachTen is
exactly what you would expect to find on any Berkeley UNIX system.

A9. Are there any other UNIX packages available for Macs and Power Macs?

Apple developed a commercial UNIX (A/UX) that ran on a subset of Macs. Apple
no longer supports or sells A/UX, which was an older version of UNIX --
SystemV, version 2 -- and was expensive in terms of memory and required disk
space. MachTen is a more compact UNIX that can run on all Macs and all Power
Macs. A/UX was implemented on the bare Macintosh hardware, which required
Apple to port A/UX to new platforms on a machine-by-machine basis. Unlike
A/UX, MachTen sits on top of the MacOS, which means that you don't need
special device drivers and you don't have to partition your disk.

In 1996, Apple began distributing MkLinux. MkLinux is a public domain
version of Linux that has been ported to a few Power Mac platforms (Nu-bus
based Power Macs). MkLinux, much like A/UX, runs on the bare Power Mac
hardware. Users must use MkLinux-specific device drivers and cannot run Mac
applications while MkLinux is running. The current version of MkLinux is
Developer Release 2.1. It is our understanding that Apple is no longer
supporting new MkLinux development.

A10. How can MachTen be considered a real UNIX operating system when it is
implemented on top of MacOS?

Even though MachTen gives the appearance of being just another Macintosh
application, MachTen and MacOS operate very much like co-resident operating
systems, sharing the processor. When MachTen has control, it pre-emptively
multitasks UNIX applications; when MacOS has control, it runs the Macintosh
applications using its cooperative sharing. There is a slide bar Control
Panel that lets you prioritize UNIX processing over Macintosh processing.

A11. What models of Macintosh does MachTen run on?

MachTen is designed to run on all modern Macs, from the Classic to the
Quadra AV machines, all PowerBooks and Duos, and all Power Macs, including
the lastest G3 desktops, tower, and PowerBook..

A12. What models of Macintosh does CodeBuilder run on?

CodeBuilder is designed to run on all Power Macs, Power Mac clones, and
PowerPC PowerBooks, including the lastest G3 desktops, tower, and PowerBook.

A13. What add-on hardware is supported?

Because MachTen sits on top of the Macintosh file system and interoperates
with the Finder, all add-on hardware should work under MachTen. MachTen has
been used with Syquest drives, Bernoulli drives, Zip drives, accelerators,
multiport serial cards, ethernet cards (NuBus, SCSI, PCI) and video cards,
among others. In cases where MachTen takes control of the hardware (e.g., to
implement virtual memory), there could be incompatibilities.

A14. What are the differences between Professional MachTen and Power
MachTen?

Both Professional MachTen and Power MachTen are complete UNIX operating
systems with identical UNIX commands and utilities and identical UNIX
communications that include an enhanced TCP protocol stack and UNIX file
sharing and printer sharing. Professional MachTen is based on BSD 4.3
Berkeley UNIX; Power MachTen is based on BSD Berkeley 4.4. Both Professional
MachTen and Power MachTen include an X server and an X client execution and
development environment.

Professional MachTen supports UNIX/Mach virtual memory. In other words,
Professional MachTen completely takes over the memory management functions
from MacOS to page both UNIX and Macintosh applications from memory to disk.
Since MachTen's paging algorithms are more sophisticated than those of
MacOS, Professional MachTen's VM gives improved performance under low memory
conditions. In addition, Professional MachTen runs UNIX applications in
protected memory space.

Power MachTen, the native Power PC version of MachTen, has all the features
of Professional MachTen (except for protected and virtual memory), and all
the features of MachTen X Window Software. In addition, Power MachTen has
some unique features, such as support for shared memory, shared libraries,
integrated Macintosh and UNIX development environment, and support for UNIX
hard links.

A15. How do I decide what version of MachTen I need?

For PowerPC-based Macs (Power Macs), Power MachTen is your ONLY choice.

A16. Is it possible to upgrade from Professional MachTen to Power MachTen?

If you have continuous coverage under a MachTen Maintenance plan, you can
always request Power PC native versions of MachTen instead of 68K versions.
Without Maintenance, you can explicitly purchase a PPC upgrade.

A17. What are MachTen's memory and disk requirements?

MachTen is one of the most compact UNIX operating systems available. The
MachTen 68K application itself consumes 2MB in memory. Since System 7 takes
roughly 2MB RAM, you can see that you need more than 4MB RAM in order to
have enough memory available for UNIX and Mac applications. A total of 8MB
RAM is recommended for Professional MachTen, especially if you are doing
software development or running X. The Power MachTen application consumes
about 3MB RAM; a total of 16MB RAM is recommendedfor Power MachTen.

The hard disk requirements can vary from 15MB to 90MB, depending upon
whether you install the development tools and the X Window software
components of MachTen.

A18. Does MachTen support virtual memory?

On 68030 and 68040 machines, Professional MachTen takes over the memory
management hardware to provide demand-paged virtual memory and memory
protection.

Power MachTen does not yet support UNIX virtual memory nor memory
protection. Tenon originally designed Power MachTen to take advantage of
Copland's protected threads. Apple's next-generation OS quickly became a
moving target. Talk of Copland eventually became talk of BeOS, and now with
the NeXT acquisition, Rhapsody is on the horizon. At this time, Tenon does
not plan to implement UNIX VM for Power MachTen. This could change depending
on market demand.

Power MachTen can, of course, be used with MacOS VM or RAMDoubler.

A19. Is there any way I can have MachTen start up every time my Mac boots?

An alias to MachTen can be installed in the Startup Items folder in your
System Folder. This will start MachTen every time your Mac boots. You can
even run Power MachTen without the Finder.

MachTen can also be configured to boot instead of the Finder. This is most
beneficial if a Macintosh is to be used fundamentally as a UNIX system and
few, if any, desktop operations are needed. Running MachTen as the Finder
saves precious RAM and processing resources. To maintain the Desktop, Finder
must assume control of the system every few seconds in order to update
folder file information, handle changes in the volume structure, and perform
general bookkeeping for the Desktop. It is possible to run MachTen without
Finder and, if needed, start the Finder from MachTen.

While this idea is interesting and has a certain academic quality to it (in
that you are able to get the most possible from your Macintosh for your UNIX
processing), it may only have appeal for more vigorous UNIX enthusiasts.
This whole mechanism becomes much more interesting, however, if a Macintosh
is to be used in an environment where access to the Macintosh desktop and
its MachTen files need to be controlled. Running MachTen as the Finder
forces every user to log in in the traditional UNIX manner. To configure
your Macintosh to start MachTen instead of Finder upon power ON, please see
the Tenon Technical Note, "MachTen as Finder".

A20. Does the "xxx" software package run on top of MachTen?

Most UNIX software packages can be ported to MachTen in a straightforward
way. MachTen is a "vanilla" Berkeley system, with standard BSD libraries. To
run MachTen on systems with small amounts of memory and without UNIX virtual
memory, it is sometimes necessary to avoid large automatic variables by
using malloc/free.

Hundreds of public domain applications have been ported to MachTen. For a
list see http://www.tenon.com/products/machten/machten.apps.shtml.

A21. What commercial applications run on MachTen?

While hundreds of public domain applictions have been ported to MachTen,
commercial vendors have been less enthusiastic. Initially vendors directed
their attention toward A/UX. Not that A/UX no longer exists and Rhapsody is
on the horizon, vendors may become more receptive. A port to MachTen would
easily transition to Rhapsody.

A22. As UNIX is so file I/O intensive, what kind of performance can MachTen
have if Apple's file system is so slow?

Having lots of memory and making sure that you have a fast hard disk and a
fast software disk driver go a long way to ensuring good performance. Power
MachTen ships with a native fast file system that gives a two to ten fold
performance improvement. MachTen on Apple's new G3 machines is very fast.

A23. Can more than one user access the MachTen host system?

Yes. MachTen turns your Macintosh into a multitasking, multiuser
environment.

A24. Can users without a UNIX account use the Mac solely as a Mac?

When MachTen is running, users have full access to Macintosh Finder and
could simply run Macintosh programs. If MachTen is installed on a machine
that will be shared by users who do not want to get involved with UNIX, they
can simply use the Macintosh as a normal Mac, and not start up the MachTen
application. On the other hand, if you always want to use MachTen, you can
set your machine up so that the MachTen application comes on automatically
when the Mac is powered up. Even with this setup, you can easily toggle from
Mac applications to UNIX applications.

A25. What is the visual appearance of MachTen/CodeBuilder?

A Macintosh running MachTen or CodeBuilder appears simultaneously as a
traditional UNIX system with multiple windows and a Berkeley command line
interface, and as a traditional Macintosh system with a Finder interface. If
you pull down the System application menu when MachTen or CodeBuilder is
running, you can click on Finder, any Macintosh application, or
MachTen/CodeBuilder. If X is running, you have an X desktop as well which
you can customize with OpenLook, Motif and even AfterStep window managers.
You can easily toggle back and forth between Finder, Mac apps, the UNIX
desktop and the X desktop.

A26. Can you start Mac applications both under Finder and under the UNIX
shell?

Yes. Under the UNIX shell you simply type (with * if necessary) the data
file or application name, followed by a CR. Since most users continue to use
Finder in combination with MachTen, the typical way to start a Mac app is by
double-clicking. If you double-click a UNIX application when MachTen is
already running, it will bring the MachTen application to the front;
otherwise, it will start MachTen. Starting Mac apps in Power MachTen is a
little more complicated to set up.

A27. What Mac applications run on MachTen?

Virtually all Macintosh applications work with MachTen. Occasionally an init
or system extension will conflict with MachTen. Tenon's policy is to work
toward eliminating incompatibilities if any are found.

When MacintoshTCP applications run with MachTen, they automatically use
Tenon's TCP stack. If you want to run Macintosh Internet servers with
MachTen, such as ftpd, you must make sure that the equivalent UNIX server
daemon is not listening on the same port.

A28. Can I get a demo of MachTen?

Yes, demos are available. Contact sales@tenon.com for a copy.

A29. Does Tenon offer educational discounts?

Yes. Contact sales@tenon.com for more information.

A30. Is MachTen/CodeBuilder compatible with MacOS 8?

Power MachTen and CodeBuilder are compatible. MachTen 2.3 is not compatible,
it will be replace with MachTen 2.4 which will be MacOS 8 compatible.

----------------------------------------------------------------------------

B. Communications:

B1. Does MachTen interoperate with other versions of UNIX?
B2. What are some of MachTen's communications features that allow the
Macintosh to interoperate with other UNIX workstations?
B3. What networking support does MachTen provide?
B4. How do I configure MachTen for PPP?
B5. Why use MachTen's TCP stack instead of MacTCP?
B6. What are some of the features of Tenon's TCP stack that MacTCP lacks?
B7. How will I run my MacTCP applications?
B8. Is MachTen compatible with OpenTransport?
B9. What Internet services does MachTen provide?
B10. Do I need to have MachTen on each client machine?
B11. How does MachTen's Web server compare to using WebStar?
B12. If I create a Web server using MachTen, what tools are available for
creating Web pages?
B13. What tools are available for browsing a MachTen Web server?

B1. Does MachTen interoperate with other versions of UNIX?

Yes, MachTen can network with all standard TCP/IP implementations. For
example, you can exchange tar-format floppies or mount NFS volumes with
other UNIX machines such as SCO, A/UX, SUN, Solaris, HP, DEC, IBM 's AIX and
NeXT, among others.

B2. What are some of MachTen's communications features that allow the
Macintosh to interoperate with other UNIX workstations?

UNIX has a very rich set of communications protocols and file sharing
software --Telnet, r-series, electronic mail, file transfer, and client and
server NFS. MachTen provides this full complement of protocols for the
Macintosh. With MachTen on your Macintosh, it is possible, for example, to
store all Macintosh applications on the hard disk of a remote UNIX
workstation and mount those applications on your Mac desktop with NFS. With
MachTen, you can even mount Apple Share volumes on your Macintosh and then
export those volumes using NFS.

MachTen has line printer spooling capabilities, so it can send printer
output to the printer of a remote UNIX workstation. Any Macintosh on your
LAN can send its printer output to a MachTen Macintosh, and MachTen can
subsequently spool that output to any printer in your UNIX environment.
Likewise, UNIX workstations can spool printer output to a MachTen Macintosh
and have that output printed on a Macintosh LaserWriter.

B3. What networking support does MachTen provide?

MachTen includes a full TCP suite of protocols, including telnet, smtp and
ftp. In addition, it includes all the standard UNIX communications, such as
the Berkeley r-series and both client and server NFS. MachTen also includes
domain name service (DNS), IP forwarding, and a built-in Web server that
supports multihoming. MachTen works over LocalTalk, ethernet and TokenTalk,
and can route between these networks.

For serial line connectivity, tip, cu, UUCP, SLIP and PPP are provided.
MachTen makes use of the serial port portion of the Macintosh Communications
Toolbox (CTB) if installed; otherwise, it controls the serial ports
directly.

Using AppleTalk Remote, it is possible to dial into your AppleTalk
environment and then use MachTen TCP communications across your AppleTalk
networks.

B4. How do I configure MachTen for PPP?

We suggest reading:

Using PPP with MachTen
Crafting An Internet Server With MachTen: A Step-By-Step Guide Part I by LT
Richard Miller
Crafting An Internet Server With MachTen: A Step-By-Step Guide - Part II

B5. Why use MachTen's TCP stack instead of MacTCP?

MachTen's TCP stack is from the Berkeley Reno sources and includes all the
latest protocol improvements, such as Van Jacobsen's performance
enhancements. This TCP stack is more robust, better performing and more
fully-featured than MacTCP. MachTen provides interoperability with
applications that rely on MacTCP, such as MacX and Eudora, by trapping
MacTCP internals with Tenon's mactcp daemon. This means that MacTCP
applications will automatically use MachTen's TCP stack when MachTen is
running.

B6. What are some of the features of Tenon's TCP stack that MacTCP lacks?

   * Tenon's TCP stack supports an unlimited number of TCP connections;
     MacTCP is effectively limited to 48 connections.
   * Tenon's TCP stack supports multihoming. This lets you have multiple
     network interfaces for redundancy, and lets you use your Macintosh as
     an IP router.
   * Tenon's TCP employs buffering and window management strategies and
     packet retransmission algorithms that maximize both WAN and LAN
     performance.
   * Tenon's TCP includes management options to support statistics reporting
     and reconfiguration without rebooting.
   * Tenon's TCP allows multiple routing entries and dynamic routing; MacTCP
     supports a single default route.
   * Tenon's TCP supports multiple domain name servers, both local and
     remote, and uses a standard 'hosts' file; MacTCP supports a single
     remote name server and uses a non-standard 'hosts' file.
   * Tenon's TCP supports multicasting. This allows MachTen to be used as a
     CUSeeMe Reflector.
   * Tenon's TCP stack supports IP aliasing, and enables multiple IP
     addresses on a single network interface.

B7. How will I run my MacTCP applications?

If you start a MacTCP application (such as Eudora, Gopher, or Newswatcher)
while MachTen is running, that application will automatically run using
Tenon's TCP stack. If you attempt to run that application without MachTen
running, the application will simply default to using MacTCP.

When you install MachTen, the MacTCP configuration parameters will
automatically appear in the MachTen Networking Control Panel, so you don't
have to re-enter your Internet addressing information. It is not necessary
to deinstall MacTCP, since it will very compatibly coexist with MachTen.

B8. Is MachTen compatible with OpenTransport?

Power MachTen will run on machines with OpenTransport, such as the Power
Macintosh 9500. Tenon's TCP stack is interfaced to the PPC native
OpenTransport ethernet driver. OpenTransport and Tenon's TCP stack can run
simultaneously, as long as they are on different physical interfaces. Since
both Tenon's TCP stack and OpenTransport support MacTCP applications, you
can configure your MacTCP apps to use either stack. As soon as the
performance and feature set of OpenTransport are roughly equivalent to
Tenon's TCP stack, Tenon will fully adopt OpenTransport.

B9. What Internet services does MachTen provide?

MachTen includes a complete TCP protocol stack (Telnet, FTP, SMTP, TCP, IP)
and all the standard Internet services, such as domain name service (DNS),
Post Office Protocol (POP) for a POP mail service, serial line IP (SLIP) and
point-to-point protocol (PPP). MachTen also includes the NCSA httpd daemon
with a pre-configured sample 'home' page.

A MachTen Macintosh can easily be set up as a full Internet host, configured
as an IP forwarder, a domain name server, a POP mail server, and a Web
server.

Power MachTen includes Apache 1.2.5 with special Macintosh-specific
enhancements.

B10. Do I need to have MachTen on each client machine?

MachTen is a complete UNIX operating system, and, as such, includes both
client and server components for each Internet service. Therefore, you could
use MachTen on every Macintosh. Alternatively, for the client machines, you
could simply use MacTCP with your favorite Macintosh client software, such
as Eudora, Fetch or NCSA Telnet. MachTen can provide Internet services for
any Mac or PC that supports TCP.

B11. How does MachTen's Web server compare to using WebStar?

MachTen includes the NCSA httpd daemon with multihomed extensions. Using
MachTen as a Web server lets you set up multiple Web home pages, each with a
unique URL of the type: http://www.companyname.com. WebStar (formerly
MacHTTP) cannot support this style of multihomed Web pages.

In addition, Tenon's Web server is running in a pre-emptive, multitasking
environment, which may be more suited than MacOS to supporting multiple,
simultaneous World Wide Web accesses. Furthermore, if you run your Web
service using Professional MachTen, the httpd daemon is running in protected
memory space.

On the other hand, WebStar has some advantages, namely the ability to plug
directly into a Macintosh supported database (such as the Butler database),
and the ability to use Apple cgi scripts. For this reason, many customers
are using WebStar and MachTen in combination.

B12. If I create a Web server using MachTen, what tools are available for
creating Web pages?

Since MachTen is UNIX, any of the standard HyperText Markup Language (HTML)
tools that are available under UNIX can be used. MachTen includes BBEdit
3.5, which has an HTML editor. In addition, you can use any Macintosh-based
Web authoring tool, such as the new PageMill created by Ceneca and now
available from Adobe.

B13. What tools are available for browsing a MachTen Web server?

You can use any browser (Mac, PC or UNIX based) from any machine to view a
MachTen Web server. For server development, of course, you should have a
local Macintosh browser, such as NCSA Mosaic (for MacOS or X), Netscape,
etc. Mosaic for X has been ported to MachTen and can run on any Macintosh
with MachTen X Window Software. Running any browser on a MachTen Macintosh
will let you display in loopback mode any Web pages that you are developing.
At the same time, you could also be 'surfing' the Internet and checking out
potential Web links for the pages your are creating.

----------------------------------------------------------------------------

C. Software Development:

C1. What software development tools are available with MachTen?
C2. What porting issues will I encounter when recompiling programs under
MachTen?
C3. What version of MachTen is recommended for software development?
C4. Will other Macs be able to run my applications without running
CodeBuilder?
C5. How much source code and documentation does CodeBuilder include?
C6. Does MachTen support hard links?

C1. What software development tools are available with MachTen?

Professional MachTen includes C, C++, a source debugger, Mach C threads, and
all the standard UNIX tools.

Power MachTen includes C, C++, g77 (gnu fortran 77), and a source debugger.

In addition, the following tools are included in all versions of MachTen:

   * Tools for Managing Software Development
     RCS (Revision Control System)

   * Tools for Supporting Software Development
     indent (formats C code)
     lex (generates lexical analysis programs)
     yacc ("yet another compiler compiler")

   * Tools for Building Libraries and Programs
     gas (gnu assembler)
     cc (gnu compiler director: forks the appropriate tools for compiling
     and loading the objects specified)
     ld (combines several object files into one)
     make (executes a scripted set of commands)
     ranlib (converts archives to a form that ld can load more rapidly)
     cpp (gnu preprocessor)
     nm (lists symbols in object files)

   * Libraries
     libm.a, librpc.a, libcurses.a, plus the various program language
     libraries

   * Tools for Building X Window Programs
     imake (X platform independent make)
     Core protocol X library
     X Intrinsics toolkit library
     Athena widget set
     X security authorization library
     X extensions library
     Alternative input device exension library
     Motif widget library
     X Display Manager Control Protocol Library

C2. What porting issues will I encounter when recompiling programs under
MachTen?

In general, since MachTen is a pure BSD UNIX, porting applications is
relatively straightforward. However, in real-memory MachTen systems, such as
Power MachTen, some porting issues can arise. Without protected memory, a
bad pointer can bring down your entire machine. Additionally, it may become
necessary, during the execution of a process, to grow the size of a segment
to accomodate a larger stack. This is not a problem on a virtual memory
system such as Professional MachTen. However, with Power MachTen (before VM
is supported), you may need to make certain accommodations. See section
10.13 in the Power MachTen User's Guide for more inforomation.

C3. What version of MachTen is recommended for software development?

Because Professional MachTen supports virtual memory and protected memory,
it is the recommended version for software development. Power MachTen, on
the other hand, has some unique software development capabilities. Since
Power MachTen's compilers generate the same binary PEF formats as
Metrowerks, Symantec, and MPW, Power MachTen can develop pure Macintosh
applications, or even combine Macintosh and UNIX software development tools
to generate hybrid applications. Furthermore, Power MachTen is the only
version that includes a Fortran compiler.

C4. Will other Macs be able to run my applications without running
CodeBuilder?

Of course. Distribution format is completely up to the developer.
CodeBuilder can create either Mac standalone or UNIX-based applications and
includes examples of both types.

C5. How much source code and documentation does CodeBuilder include?

About 400 MB of source code and 40 MB on online docs.

C6. Does MachTen support hard links?

In UNIX, linking allows several file names to be associated with the same
physical file. Power MachTen properly supports UNIX soft links and hard
links via link(2). Professional MachTen only supports soft links.

----------------------------------------------------------------------------

D. The X Window System:

D1. Can you explain the basic elements of X Windows software?
D2. What is unique about Tenon's X?
D3. Why is Tenon's X server so much faster than eXodus or MacX?
D4. Does Tenon's X support 24-bit color?
D5. What 3-button mice work under MachTen?
D6. Can I buy X separately?

D1. Can you explain the basic elements of X Windows software?

The X Window System is a protocol for performing windowing functions across
a network. "Windowing functions" means drawing lines, arcs and other
graphics primitives on any type of console or display. As a protocol, it is
implemented in a set of libraries freely available from the Massachusetts
Institute of Technology (MIT).

If an application supports the X Window protocol, the graphical output of
that application can be displayed on any X terminal. The application is
called an "X client" and the X terminal is considered an "X server".

D2. What is unique about Tenon's X?

Because MachTen is a complete UNIX system, MachTen supports local X clients.
The MachTen X Window Software includes a local Motif Window Manager (mwm)
and an Open Look Virtual Window Manager (olvwm). The sources to many X
client applications are included as example programs, along with a complete
X client development environment and a Motif toolkit.

D3. Why is Tenon's X so much faster than eXodus or MacX?

Tenon's X architecture is very different than the other X servers that are
traditional Macintosh applications. Tenon sends the output of the X commands
directly to the Macintosh hardware screen buffers instead of using
QuickDraw. This has profound performance implications. In addition, Tenon's
X uses the UNIX TCP sockets for communications instead of MacTCP; this
further improves performance.

Tenon's X is said to be the fastest on the Mac market. X11perf benchmarks on
a 25MHz 68040 Centris yield an XMark of 1.1 -- better than a SPARCStation 1!
On a 40MHz Quadra 840av, the X performance rivals a SPARCStation 2. XMark
ratings are not yet available for the native X performance on a Power Mac,
but Tenon's architectural advantage carries over to that platform as well.

D4. Does Tenon's X support 24-bit color?

Yes. X11R6 with 24-bit color is available with Professional MachTen 2.3 and
also for Power MachTen via the Ported Application CD, Volume 2.

D5. What 3-button mice work under MachTen?

In general, Tenon's X Window Software can be configured to run with any
three-button mouse. We have the most experience with the Logitech MouseMan.
Customers have also reported that the Kensington 4-button mouse works well.

D6. Can I buy X separately?

Yes, if all you need is to have your remote X client applications display on
your Power Mac desktop, simply buy XTen.

----------------------------------------------------------------------------

E. File Handling/Management:

E1. Can MachTen access the MacOS file system?
E2. Does MachTen have a native file system?
E3. Does CodeBuilder have a native file system?

E1. Can MachTen access the MacOS file system?

Tenon maps the UNIX file system to the MacOS file system. So, with MachTen
and MacOS, there is a single consistent file system. This means that
everything is accessible to both MachTen and MacOS. You can 'see' the UNIX
directories and files on the Finder desktop and you can 'see' the Macintosh
folders and files from a UNIX terminal window using 'cd' and 'ls'.

E2. Does MachTen have a native file system?

MachTen uses the Macintosh file system (HFS) and adds a Network File System
(NFS). MachTen 4.1 will ship with a native UNIX fast file system.

E3. Does CodeBuilder have a native file system?

CodeBuilder includes two support file trees: one is a Macintosh file system
(HFS) and the other is a native fast file system (FFS). The developer can
use either one, the tradeoff is performance vs. Mac Finder integration.

----------------------------------------------------------------------------

F. Peripherals and Devices:

F1. What third party devices are compatible with MachTen?
F2. Can I use third party accelerators with MachTen?
F3. Can I use PowerPC upgrade cards with MachTen?
F4. What CD-ROM drives and formats are compatible with MachTen?

F1. What third party devices are compatible with MachTen?

Because MachTen sits on top of MacOS and makes use of the MacOS device
drivers, all third-party devices, in general, will work with MachTen.
Ocassionally there are exceptions. For example, tape device drivers are
generally bundled with the application and are not part of MacOS. Thus, tape
required special attention on Tenon 's part. MachTen supports 4mm DAT tape
drives and 8mm Exabyte tape drives. Tape support is not yet part of the
standard product and must be requested from Tenon Technical support.

F2. Can I use third party accelerators with MachTen?

CPU accelerators tend to make use of Apple's memory management hardware.
Therefore, in general, you can usually use accelerator boards as long as you
are not using MachTen VM. DayStar boards are generally not compatible with
MachTen.

F3. Can I use PowerPC upgrade cards with MachTen?

Power MachTen (Tenon's PPC native implementation of MachTen) runs with all
PowerPC upgrade cards.

F4. What CD-ROM drives and formats are compatible with MachTen?

MachTen uses either Mac HFS or Foreign File Access for non-HFS formats, such
as ISO 9660 and RockRidge, so MachTen can read any CD-ROM that the MacOS can
read.

----------------------------------------------------------------------------

G. Technical MachTen:

G1. Patches

G1.a. Do I need a patch?
G1.b. What is the difference between the CU1 on the Ported Apps CD and the
CU1 on the FTP site?

G2. Mail

G2.a. Do both versions of your product (Power MachTen and Professional
MachTen) support POP mail service?
G2.b. Why are Eudora users having so many problems retrieving their mail?
G2.c. How do I start popper?
G2.d. How do I start pop3d?
G2.e. Why do some users get a "Mail drop locked" message from Eudora?
G2.f. Is sendmail configured out of the box to send and receive mail over
the Internet or do I have to configure it?
G2.g. How do I configure sendmail to restrict the size of both incoming and
outgoing mail to some arbitrary size?
G2.h. How can I have a mail address name that is longer than eight
characters?
G2.i. Can I run popper and sendmail under MachTen and run the Apple Internet
Mail Server under MacOS while MachTen is just doing the routing?

G3. Programming

G3.a. Where are the 48-bit random number generating functions (srand48,
drand48, etc.)?
G3.b. Why doesn't gprof tell me anything useful about gcc generated code?
G3.c. Why can't I get STL containers to work with g++ 2.7.2?
G3.d. How do I use gcc math functions?
G3.e. Where are the xdr libraries?
G3.f. I live outside the US and I need crypt.h to compile a program. Where
is it?
G3.g. When I run perl 5.003 under Power MachTen, it seems that I'm missing
some essential libraries. What's the fix?
G3.h. How do I update GNAT on CodeBuilder from 3.07 to 3.09?
G3.i. Can a stand alone Mac application use the Tenon libraries for a hybrid
application that makes MacOS API calls and Mach calls without the
CodeBuilder environment running?
G3.j. Will apps written for or ported to MachTen/CodeBuilder run under
Rhapsody?

G4. Software and Hardware Compatibility

G4.a. I ran Norton Utilities on my Mac with MachTen and now MachTen doesn't
run correctly. What happened? How can I fix it?
G4.b. Is there a port of Netscape Navigator for MachTen?
G4.c. Is Power MachTen, like Professional MachTen, incompatible with
SilverLining?
G4.d. Why does my system crash when I use RAM Doubler 1.5.2 (or earlier) and
MachTen at the same time?
G4.e. If I use Power MachTen with RAM Doubler 1.6.2 (or later), the systems
hangs on shutdown after everything has successfully quit. How can I fix
this?
G4.f. Any recommendations for a 3-button mouse to use with X?
G4.g. Any suggestions for an accelerator that will work with Professional
MachTen?
G4.h. Why does zsh crash my system?
G4.i. Is MachTen compatable with Microsoft Internet Explorer?

G5. Networking

G5.a. Can I create my own mirror of the Tenon FTP site?
G5.b. How can I tell who logged in via anonymous FTP and which files they
accessed?
G5.c. If I update some of my domain name database files, what must I type in
order to load these new database files into the MachTen DNS server without
restarting the system?
G5.d. Is multihoming possible under Power MachTen if I disable
OpenTransport's TCP/IP components and run with MachTen's TCP/IP stack?
G5.e. Is it necessary to use MacTCP rather than OpenTransport in order to
listen on multiple IP addresses for multihoming? Is MacTCP the better choice
for MachTen versus OT 1.1.1?
G5.f. Are there any secrets to making MachTen work through ARA without
interfering with existing network conditions?
G5.g. Can I run MacOS applications like NCSA Telnet and Netscape Navigator
while running MachTen?
G5.h. Why do I get a message like "can't run ld on NFS filesystem" when I
try to run executables on NFS disks? How can I fix this?
G5.i. What must I do to automatically start my installed version of Apache
when MachTen is run?
G5.j. How can I access Apache under MachTen from Netscape on the same
machine?
G5.k. Where can I get Netscape's Enterprise Server for MachTen?
G5.l. Why can't I use MacPPP or FreePPP to set up my serial IP connection
when MachTen is running?
G5.m. What /dev/ttyxx setting should I use for an internal modem?
G5.n. What is a netmask and how do I use one?
G5.o. How can I make Power MachTen fully Open Transport compliant?
G5.p. How can I make Power MachTen work with FreePPP or OT/PPP?

G6. System Stability and Robustness

G6.a. What tips in general do you have to keep MachTen stable?
G6.b. Why does MachTen give the error message 'vmunix: file: table is full'
when I try to run a program?
G6.c. Why does MachTen give the error message 'proc: table is full' when I
try to run a program?
G6.d. Why does MachTen give the error message '/vmunix: no namelist' when I
try to run a program?
G6.e. When I run several apps in MachTen at the same time and try to launch
another application, I get "Fragment Load Err: - 2810 - Not Enough Memory in
User's Address Space ...". I have plenty of memory left; what's the problem?
G6.f. When I am running MachTen, the performance is poor on any program that
accesses the disk. Moving the Scheduling Priority slider bar in the MachTen
control panel toward UNIX priority doesn't help. How can I speed up MachTen?
G6.g. My Power Mac has lots of memory and runs quite fast, but that is not
reflected in MachTen's performance. I have the UNIX <-> Mac slider on the
third tick mark from the Mac end and MachTen has a big chunk of memory. UNIX
on the PPC 601 at 100MHz should blaze. What's up?
G6.h. I want MachTen to run faster, so I'm going to give it 10 MBs of RAM.
Will this speed it up?
G6.i. Why are the load averages so high? On another workstation running a
lot more applications, I'm used to load averages around 0.4--0.6. If
MachTen's X is running, the load average rarely falls below 2. Is there some
way to improve performance?
G6.j. I installed MacOS 7.5.5 or 7.6 and MachTen 2.3 (or 2.2) won't start up
anymore. How can I fix this?
G6.k. MachTen fails to startup with the error "Can't find root vnode". How
can I fix this?

G7. Other System Issues

G7.a. When I telnet to a (non-MachTen) UNIX system, pressing the delete key
just gives a '^?' character; I have to press ctrl-H to backspace. How I can
make the delete key work correctly?
G7.b. I have a Stylewriter printer. Do you have a script that I can put into
the /etc/printcap file so I can print?
G7.c. When will virtual memory and protected memory use be implemented on
Power MachTen?
G7.d. Why can't I compile my C code that uses memory mapping system calls?
G7.e. I seem able to only start Macintosh applications from within Power
MachTen by becoming root, even though the documentation (and file
protections) indicate that any user should be able to do this. Why?
G7.f. How can I check the status of Mac applications launched from Power
MachTen?
G7.g. I have ftp'd some files using the Macintosh program Fetch. I had the
files downloaded as binary files. Is there any way to convert them to the
MachTen format so I can use them?
G7.h. Why do active network applications stop when I launch MachTen?
G7.i. I used adduser to create a user in the 'wheel' group, but when the
user tries to su I get "su: you are not in the correct group to su root".
Any suggestions?
G7.j. How can I access Macintosh disks other than the one that MachTen
resides on?
G7.k. Why do I get "Diskname on /Diskname: Device busy, some process using
this filesystem" when I try to mount a hard disk?
G7.l. How do I start up my Macintosh with Power MachTen as the Finder?
G7.m. How do I convert the old password files from Professional MachTen to
Power MachTen?
G7.n. I tried to change my root password, but the passwd program did not
prompt me for my current passwd before creating a new one. /etc/passwd still
lists the root passwd as *. Why?
G7.o. Where is rfork in Power MachTen?
G7.p. How can I safely mount a device to the /volume directory in Power
MachTen?
G7.q. How do I change the login banner of MachTen/CodeBuilder?
G7.r. I lost my root password, how can I recover it?
G7.s. How do I create an A/UX partition for a fast file system?
G7.t. Adduser does strange things to my Power MachTen 4.1 installation, how
can I fix it?

G8. Ported Applications

G8.a. Where is the "ported_apps" folder on the Power MachTen distribution
disk?
G8.b. Can you help me port an application or set up a ported application?
G8.c. I am trying to port some apps to MachTen. Which vendor's UNIX is
closest to MachTen?
G8.d. Why does Tenon have two CD's of ported apps?
G8.e. Why does Tenon suggest purchasing Ported Apps Volume 2 for use with
CodeBuilder?

G9. Miscellaneous

G9.a. How can I view an "info" file?

G10. X-Windows

G10.a. Is it possible to cut and paste from X Windows to the Mac desktop?
G10.b. How can I change the keyboard mapping under X?
G10.c. Where is libXshr?
G10.d. Why can't Mosaic find any URL's?
G10.e. Why do I get a "connection reset by peer" error message when I open a
local xterm window and try to rlogin to another system?
G10.f. Whenever X is running, the entire system is unstable, whether I'm
using MacTCP clients or X exclusively. Is there a configuration that will
make things more stable?
G10.g. The Tenon Web pages say that XTen is X11R6, but my Power MachTen came
with X11R5. Did I get an old MachTen distribution?
G10.h. I tried to launch XWindows with a ctrl-T, but I got the following
error: 'fatal IO error 32 (Broken pipe) on X server ":0.0"' What happened?
How do I fix it?
G10.i. The background for the X Window is 'opaque', i.e. I can't see my
underlying Mac windows. How do I do this on the Tenon X Server?
G10.j. Why does creating a new window from the File menu kill the X session?
G10.k. System memory likes to bloat up to 20 or so MBs whenever I have more
than a few things running under X. Is this normal?
G10.l. Is there a way to scale the display in X?
G10.m. X won't start on my system. It just goes to a white screen then drops
me back into the finder (or hangs the system) How do I fix this?

G1. Patches and updates

G1.a. Do I need a patch?

G1.a. If you are having problems with MachTen, the first question to ask
yourself is "Do I need a patch?" Check to see if your problem matches or is
similar to any of those below. If so, install the patch. If the problem
persists and this FAQ doesn't answer it, please contact us.

MachTen 4.0.3:

   * The system freezes or gives "MacTCP error" when using almost any
     networking software under MachTen or while MachTen is running.
   * Other systems can ping your MachTen machine but can't connect to it.
   * MachTen was killed during startup with line "at0:IP encapsulated in
     appletalk:net:0 node:1" or with "Network is unreachable".
   * Issuing rlogin, telnet and other remote commands gives "Unable to
     connect to remote host: Connection reset by peer".
   * Quitting Netscape 2.01 gives continual "Please wait for network
     operations to complete".
   * Internet Explorer 2.0 says it needs MacTCP version 2.0 when starting
     under MachTen.
   * PCI PowerMac freezes after exiting X and running ShutDown.
   * PCI PowerMac gives "Type one error" message when you click at the upper
     edge of an X window.

MachTen 4.0.2:

   * xconsole displayed following error message: " xterm:Error 29, errno 95:
     No bufferspace available".
   * Fragment Load Err: - 2807 - Loaded Fragment has Unacceptable Unresolved
     Symbols ... mgmainnet init: can't exec getty '/usr/libexec/getty' for
     port /dev/console: Input/output error.
   * telnet or rlogin to any host causes Macintosh to freeze.
   * Netscape Atlas won't run.
   * Error Type 1 when using the X Windows environment in full screen mode
     (..X -fs) and clicking on the upper edge to go see the menu.
   * sendmail problems, especially when trying to serve additional domains
     and sending attachments with the e-mail.
   * Macintosh hangs after launching pppclient.
   * pppclient script negotiates with the server to use the IP address that
     is set up for MachTen's ethernet interface, instead of using the
     pre-determined address for the PPP client.

MachTen 2.2:

   * An error occurs when MachTen is looking for MultiFinder in System 7.5.3
     and 7.5.5.
   * "Unimplemented Trap" after the line displaying hardware and net address
     in MachTen startup under System 7.5.2 or 7.5.3.
   * "Mouse cursor droppings" while running X 3.1 under MacOS 7.5.3 on a
     PowerBook 190 or under emulation on a PowerMac.
   * xdm starts X server but gives no login prompt.

XTen 6.0:

   * Netscape 2.0 and 3.0B2 hang the system if run while XTen is running
     (the latter hangs if I try to shut it down after running it from the
     Mac desktop -- MacTCP is trying forever to complete network services).

G1.b. What is the difference between the CU1 on the Ported Apps CD and the
CU1 on the FTP site?

The CU1 on the FTP site is newer and has the following additional features:

   * minor processor (604) dependent bug fixed
   * 1400/2300/5300 powerbook bug fixed
   * gdb on non-root volume bug fixed

G2. Mail

G2.a. Do both versions of your product (Power MachTen and Professional
MachTen ) support POP mail service?

Yes. We've recently found that popper (the public domain pop server that
ships with Power MachTen) has some inherent bugs in it, so we've ported a
different POP server, pop3d, that seems to work well. You can find pop3d on
the Ported Applications CD and on our FTP site.

G2.b. Why are Eudora users having so many problems retrieving their mail?

Some POP (e.g. popper) servers have a hard time with the following:

   * spaces or dots in passwords,
   * user id's of less than 10, or
   * user names with capital characters

The POP daemon is case sensitive, and it only wants lowercase. If your users
want to use POP clients, they will need to specify their user names all in
lowercase in the Eudora settings. Make sure that the UID of the person
trying to pop the mail is greater than 10. The UID requirement is hard coded
into the POP daemon. pop3d solves all these problems.

G2.c. How do I start popper?

Popper is enabled if the "enable incoming connections" box is checked. It
may not show up in the process list, however, since it is called on the fly
when an incoming connection comes in.

G2.d. How do I start pop3d?

Almost the same way as popper. Install pop3d. Then edit /etc/inetd.conf on
the line that begins with 'pop' -- change '/usr/libexec/popper' to
'/usr/libexec/pop3d' and change 'popper' to 'pop3d'. You must restart inetd
for the change to take effect. The simplest way to do this is to restart
MachTen.

G2.e. Why do some users get a "Mail drop locked" message from Eudora?

Delete the .pop.xxxx files in your mail server's spool directory. These
files occasionally remain locked when a POP connection is broken, so
deleting them should clear up the problem.

G2.f. Is sendmail configured out of the box to send and receive mail over
the Internet or do I have to configure it?

The MachTen control panel has an "enable incoming mail" box. If the
hostname, IP addresses, and domain name are all correct, sendmail should
work out of the box.

G2.g. How do I configure sendmail to restrict the size of both incoming and
outgoing mail to some arbitrary size?

We are not aware of any sendmail configuration option that will do this.

G2.h. How can I have a mail address name that is longer than eight
characters?

Assign an alias in the /etc/aliases file like this: webmaster: webmstr
All mail addressed to webmaster will then go to webmstr. You'll need to
restart MachTen for the change to take effect.

G2.i. Can I run popper and sendmail under MachTen and run the Apple Internet
Mail Server under MacOS while MachTen is just doing the routing?

That should be fine. Disable incoming connections and receipt of mail for
MachTen.

G3. Programming

G3.a. Where are the 48-bit random number generating functions (srand48,
drand48, etc.)?

These functions are part of UNIX System V. Since MachTen is BSD, these
functions are not included.

G3.b. Why doesn't gprof tell me anything useful about gcc generated code?

Gprof does not work for any version of gcc right now. We are working to
resolve this.

G3.c. Why can't I get STL containers to work with g++ 2.7.2?

G++'s template support isn't quite up to the task yet. FSF thinks g++ 2.8.0
will be able to fully utilize the STL.

G3.d. How do I use gcc math functions?

The math functions aren't in the libraries that are included by default when
you compile. Try

% cc test.c -lm

to include the math libraries.

G3.e. Where are the xdr libraries in MachTen?

They are included in CU1 for Power MachTen, which is on the PowerPC Ported
Apps CD and on our FTP site.

G3.f. I live outside the US and I need crypt.h to compile a program. Where
is it?

Due to munitions export regulations, it was not possible to include this
with MachTen for foreign distribution. You should have no problem finding
crypt.h on a non-US FTP site.

G3.g. When I run perl 5.003 under Power MachTen it seems that I'm missing
some essential libraries. What's the fix?

Perl 5.003 source, binaries, and the necessary libraries are included on the
PowerPC Ported Apps CD and on our FTP site.

G3.h. How do I update GNAT on CodeBuilder from 3.07 to 3.09?

Download the file
ftp://cs.nyu.edu/pub/gnat/powermac/. Move it
to your CodeBuilder_HFS directory. Start up CodeBuilder and log in as root.
Change to the /hfs directory and run

dfork -i gnat3.09-Codebuilder_ppc.tar.gz
tar -zxvf /hfs/gnat3.09-Codebuilder-ppc.tar.gz

Now you may have to rebuild your Ada libraries, to do so:
cd /usr/macppc/lib/ada/MacOS
gcc -c -gnatp /usr/include/ada/MacOS/*.ad[sb]

This should only take a few minutes inside the FFS.

G3.i. Can a stand alone Mac application use the Tenon libraries for a hybrid
application that makes MacOS API calls and Mach calls without the
CodeBuilder environment running?

No, the calls could be made, but they rely on the interprocess communication
to talk to the Mach microkernel. Without this microkernel process, they
won't work. Technically, some calls might, but most of them will really need
to have CodeBuilder (or MachTen) running.

G3.j. Will apps written for or ported to MachTen/CodeBuilder run under
Rhapsody?

MachTen supports the same APIs as Rhapsody's core OS, so anything that runs
on MachTen will be able to run on Rhapsody.

G4. Software and Hardware Compatibility

G4.a. I ran Norton Utilities on my Mac with MachTen and now MachTen doesn't
run correctly. What happened? How can I fix it?

Norton Utilities changes any file name starting with a period to instead
start with a dash. Also, Norton unmangles the names of some files (mangling
is needed to tell the MacOS that, for example, 'INSTALL' and 'install' are
different files). This, of course, throws off MachTen. We recommend using
MacTools Pro from Central Point instead. To fix the Norton damage, the
options are pretty limited. Either rename all the files that Norton changed
back to their original names, or reinstall MachTen.

G4.b. Is there a port of Netscape Navigator for MachTen?

There is no Navigator for MachTen because Navigator is a commercial program
and the source is not available to us. We do offer Mosaic, which has a
publicly-available source.

G4.c. Is Power MachTen, like Professional MachTen, incompatible with
SilverLining?

Power MachTen is compatible with SilverLining. Since Power MachTen does not
implement UNIX virtual memory, the Professional MachTen problem with
SilverLining doesn't apply; however, this may become a problem again when we
implement UNIX virtual memory.

G4.d. Why does my system crash when I use RAM Doubler 1.5.2 (or earlier) and
MachTen at the same time?

RAM Doubler version 1.5.2 (or earlier) is not compatible with MachTen.

G4.e. If I use Power MachTen with RAM Doubler 1.6.2 (or later), the systems
hangs on shutdown after everything has successfully quit. How can I fix
this?

Install CU1. This will fix all known incompatibilities. We recommend using
these versions with MachTen 4.0.3 and CU1.

G4.f. Any recommendations for a 3-button mouse to use with X?

We use the Logitech MouseMan. Almost any mouse should work, but some
no-names have had some trouble.

G4.g. Any suggestions for an accelerator that will work with Professional
MachTen?

Almost any accelerator will operate correctly as long as it encompasses a
full upgrade (i.e., it doesn't leave out crucial operations, such as the
presence of an MMU). Some DayStar boards do not function correctly because
they do not support a working MMU system. There is no real list, as there
are so many cards out on the market and keeping track would be almost
impossible.

G4.h. Why does zsh crash my system?

It was ported by a Japanese customer, so we presume the crashing is related
to the differences in Japanese and American systems. Tenon Technical Support
may do a port someday, but there are quite a few higher priority items.

G4.i. Is MachTen compatable with Microsoft Internet Explorer?

Internet Explorer is an Open Transport-only application. If you are running
Tenon's TCP stack then Explorer will not run. If you demand this
functionality and are running Power MachTen 4.0.3 CU1 or later, then you can
run MachTen using Open Transport.

G5. Networking

G5.a. Can I create my own mirror of the Tenon FTP site?

Sure, but we'd like you to be authorized. Once you are authorized, we can
add you to the list of sites waiting to be on the mirror program. Contact
Jaime Julca to get started on a mirror site.

G5.b. How can I tell who logged in via anonymous FTP and which files they
accessed?

Almost all of that information is in /var/log/ftplog. You can't be certain
of who logged in by anonymous ftp, but you can at least get the site that
they came from, and the e-mail address that they gave as a password (plus
all the files they got).

G5.c. If I update some of my domain name database files, what must I type in
order to load these new database files into the MachTen DNS server without
restarting the system?

Most programs will usually restart when killed with a SIGHUP. To load the
new database files, run 'ps -aux' to get the pid (process ID) of 'named.
Then run 'kill -HUP pid' where 'pid' is the ID of 'named'. Also remember to
update your serial number in your DNS files, so as to allow for propagation
to other DNS servers.

G5.d. Is multihoming possible under Power MachTen if I disable
OpenTransport's TCP/IP components and run with MachTen's TCP/IP stack?

Yes, you can multihome if you disable OpenTransport and run with our TCP/IP
stack, .

G5.e. Is it necessary to use MacTCP rather than OpenTransport in order to
listen on multiple IP addresses for multihoming? Is MacTCP the better choice
for MachTen versus OT 1.1.1?

MachTen has its own TCP stack which allows multihoming. Neither MacTCP nor
OpenTransport have support for multihoming. In either case, MachTen's stack
should be used. MachTen's stack prefers to have MacTCP be the original
stack, so this is the preferred base.

G5.f. Are there any secrets in making MachTen work through ARA without
interfering with existing network conditions?

Remove the 'MacTCPdLib' from the MachTen Libraries folder. This will remove
MachTen's interaction with the Macintosh TCP/IP Stack. You *can* use both
OpenTransport and MachTenTCP if you have two IP addresses. If you move your
MacTCPdlib out of your Tenon Kernel Libraries (in the extensions folder),
the Mac applications will use OpenTransport. To do this, configure
OpenTransport on one IP address and MachTen on another.

G5.g. Can I run MacOS applications like NCSA Telnet and Netscape Navigator
while running MachTen?

Yes. As long as MachTen is the first TCP/IP application you run, you can run
any other TCP/IP application. MachTen must be the first one loaded because
it establishes its own networking environment, including its own TCP stack.
Other TCP/IP applications then run using MachTen's TCP stack.

G5.h. Why do I get a message like "can't run ld on NFS filesystem" when I
try to run executables on NFS disks? How can I fix this?

Because of the way MachTen runs them, you can't execute or link binaries
over NFS or any other file-sharing system that isn't AppleShare. This is
because we take advantage of the Code Fragment Manager in System 7. The
upside is that our executables occupy less RAM when running and can
dynamically allocate the RAM that they use. The downside is that you can't
link or execute binaries over non-AppleTalk networks. As a workaround, the
following script should help you.

#!/bin/sh
#
# Currently, MachTen running on PowerMacs can only execute programs
# located on Mac volumes (type ufs). If this is the case, just go do
# it. Otherwise, make a temporary copy of the program (presumably
# from NFS) in /tmp, run it from there, and clean up afterwards.

statfs $1 | grep -q ' ufs '
if [ $? -eq 0 ]; then
exec "$@"
fi

FN=$1 ; shift
TN=/tmp/$$-`basename $FN`
cp -p $FN $TN && $TN "$@"
val=$?
rm -f $TN
exit $val

G5.i. What must I do to automatically start my installed version of Apache
when MachTen is run?

You'll need to edit two files -- one is the /etc/rc file. Change the line
that says '/usr/libexec/httpd' to '/usr/local/etc/httpd'. Then, change the
/etc/rc.conf file so that START_httpd = "yes". That should do it.

G5.j. How can I access Apache under MachTen from Netscape on the same
machine?

First start Apache using the <httpd> command. Then you can access it with
Netscape at the following URL <http://localhost> or <http://127.0.0.1>

G5.k. Where can I get Netscape's Enterprise Server for MachTen?

There is no version of Netscape's Enterprise Server available for MachTen.
They only target some UNIX systems. We do have the Apache server available
on our ftp site, but the Enterprise server has some more features.

G5.l. Why can't I use MacPPP or FreePPP to set up my serial IP connection
when MachTen is running?

The IP layer within the MachTen BSD protocol stack does not provide an
interface to MacPPP or FreePPP, forcing the use of MachTen's PPP. The
OpenTransport interface to MachTen available with CU1 for Power MachTen
allows the use of MacPPP, MacSLIP and other transport protocols while
MachTen is running.

G5.m. What /dev/ttyxx setting should I use for an internal modem?

You will have to use the Communications Toolbox.

G5.n. What is a netmask and how do I use one?

Note: for this answer "address" refers to just the last number in an IP
address (e.g. 236.192.43.79 is just 79).

Think of the addresses that have been given to you as binary numbers.
161 would be represented as:
10100001 ( 128 + 32 + 1 = 161 )
And 175 would be represented as:
10101111 ( 128 + 32 + 8 + 4 + 2 + 1 = 175 )
Your netmask, 240, would be represented as:
11110000 ( 128 + 64 + 32 + 16 = 240 )

A netmask is like a face mask, with holes in it. The 1's are the holes, and
the 0's are the rest of the mask. So if you see the addresses as faces, and
the netmask as the mask, you can actually only see the first 4 bits - 1010.
Kind of like this:

"Face" (Address) 10100001
"Mask" (Netmask) 11110000
"You" (Router) 1010----

The router "looks" through the netmask at each bit of data on the network,
and if it's going to a destination that doesn't start with 1010, then it
knows it has to route that bit of data somewhere else. That's how routers
work. So your ISP has said that all of the machines on your network must
have addresses beginning with 1010. If you look at those numbers in binary,
that comes out as 10100000 to 10101111 (160-175).

Now, suppose you're trying to split this network, which has a total netmask
of 240 (11110000) into two networks. You can see that the largest either of
these subnets can be is 8 machines, because you'll need to have a larger
netmask for the router to work correctly. The next netmask you could pick
would be 248 (11111000), which only allows 8 machines to "look the same" to
the router:
10100000 (160) 10100100 (164)
10100001 (161) 10100101 (165)
10100010 (162) 10100110 (166)
10100011 (163) 10100111 (167)
- or -
10101000 (168) 10101100 (172)
10101001 (169) 10101101 (173)
10101010 (170) 10101110 (174)
10101011 (171) 10101111 (175)

So, if you're going to split your network up, you can't have more than 8
machines on each subnetwork - otherwise routing won't work. The only other
solution would be to call your Internet Service Provider and request more IP
numbers, say 160-191. That would give you a netmask of 224, and you could
use 240 as a subnet mask, giving you up to 16 machines on each subnet.

G5.o. How can I make Power MachTen fully Open Transport compliant?

First you must be at version 4.0.3 CU1. Make sure that Open Transport is on
using Apple's Network Software Selector which is included with the system
software. Now, using the Finder, open the folder /System
Folder/Extensions/Tenon Kernel Libraries. Inside this folder resides two
files, SocketLib and MacTCPdLib--move these to the folder /System
Folder/Extensions/Tenon Kernel Libraries/Disabled. Now in the folder /System
Folder/Extensions/Tenon Kernel Libraries/Disabled is a file called
OTSocketLib--move this file to the folder /System Folder/Extensions/Tenon
Kernel Libraries and reboot for full OT compliance.

G5.p. How can I make Power MachTen work with FreePPP or OT/PPP?

If FreePPP or OT/PPPis set up correctly on your system then just switch
MachTen to Open Transport compliance, and the next time you start MachTen,
it will start FreePPP or OT/PPP for you (if it isn't already running).

G5.q. How do I create a pppclient chat script?

A ppp chat script is composed of lines of the form:

receive send

In the situation above, when chat receives the word ``receive,'' it sends
the word ``send.'' The information to send and receive need only be
seperated by a white space, so in order to send or receve multiple words,
one must use the double-quote (") to surround the text like this:

"multiple words to receive" "and now multiple words to send"

G5.r. I'm trying to establish a PPP connection, my modem appears to connect
from the sound but nothing happens. What's wrong?

Probably pppclient is expecting the server to send "login:" and that isn't
occuring. ppplogin isn't that intelligent, it needs to have specific
instructions, so if the situation is just a little bit different that you'd
expect, it doesn't work.

If you turn on debugging (by typing "pppclient debug" instead of just
"pppclient"), pppclient will tell you what's going on while it's trying to
log in and connect. Look for lines that say "alarm". That means that
pppclient waited 45 seconds for whatever was on the previous line (probably
login: or password:) and it was never sent from the server. Find out what
line it's expecting. Then dial your ISP with a terminal program like ZTerm
or VersaTerm from the Macintosh side, and see what comes up. Find out if you
need to type return a couple of times before that login: prompt comes up. If
you do, then at the "" "" line, change that to "" "\d\n\n\n" (that means as
soon as the modem connects, wait one second (\d) and type return (\n) three
times.)... Mess around with it a little bit until you get to a script that
works. Use that debug option to see what's going on.

Remember that login scripts are very much a "trial and error" sort of
endeavor, on all kinds of computers. It may take a few tries before you get
it right.

G5.s. Why does my ppp connection drop the line?

Try using ttyfa or ttya instead of using cm.out This sometimes proves to be
more reliable than using the communcations tool box. There are instructions
on how to do this in the pppclient script. Basically all it requires to be
done is change the LINE variable and change the chat script to allow for the
dialing of the modem by MachTen.

G5.t. How do I know the dynamic IP address that is allocated to my system
for a PPP session?

Typing "ifconfig ppp0" at the prompt will tell you the address ppp is using.

G6. System Stability and Robustness

G6.a. What tips in general do you have to keep MachTen stable?

Watch your memory. Running Netscape 3.0 and MachTen at the same time is a
bad idea if you have only 16 MB of RAM. Run a disk error checker often and a
disk defragmenter at least once every three weeks (assuming daily use of
MachTen). Install all necessary patches and updates.

G6.b. Why does MachTen give the error message 'vmunix: file: table is full'
when I try to run a program?

This error is caused by the open files value in the MachTen control panel
being set to low. Increase the number of files allowed to be opened in the
control panel and the error message will disappear. Don't increase the open
files value too drastically, because each file handle requires memory.
Ideally, increase the open files value in increments of 20, until the error
message no longer appears.

G6.c. Why does MachTen give the error message 'proc: table is full' when I
try to run a program?

You are unable to start another process because you are at the maximum
capacity. You can raise the maximum using the MachTen Control
Panel/Memory/UNIX Processes.

G6.d. Why does MachTen give the error message '/vmunix: no namelist' when I
try to run a program?

If you rename your MachTen application to something else, this will happen.
This might also happen if the MachTen application is moved away from where
it was originally installed. These programs scan the kernel for information.
If the kernel isn't where they think it is, they give you this error. This
error can also occur when running MachTen on top of OpenTransport using the
OT Socket Library with network utilities.

G6.e. When I run several apps in MachTen at the same time and try to launch
another application, I get "Fragment Load Err: -2810 - Not Enough Memory in
User's Address Space ..." I have plenty of memory left. What's the problem?

MachTen is running out of memory in "User's Address Space", which means
within the application. Increase the amount of memory you give to the
MachTen application by a megabyte or so, and restart.

G6.f. When I am running MachTen the performance is really poor on any
program that accesses the disk. Moving the Scheduling Priority slider bar in
the MachTen control panel toward UNIX priority doesn't help. How can I speed
up MachTen?

Move the slide bar in the MachTen control panel down toward the MacOS. By
running MachTen at the highest priority you are wasting cycles waiting for
the MacOS to get a time slice for disk activity. Try pulling the slide bar
down closer to the middle. In tech support, we generally leave the slider
three ticks from the UNIX end. You can put this one or two tick marks closer
to the UNIX side when compiling or running other processor-intensive
application in MachTen. Also, we recommend not running MachTen and File
Sharing at the same time.

G6.g. My Power Mac has lots of memory and runs quite fast, but that is not
reflected in MachTen's performance. I have the UNIX <-> Mac slider on the
third tick mark from the Mac end and MachTen has a big chunk of memory. UNIX
on the PPC 601 at 100MHz should blaze. What's up?

The major bottleneck in terms of I/O and performance is caused solely by
MacOS. This will change when we come out with our fast file system. For the
time being the only workaround is something like Speed Doubler.

G6.h. I want MachTen to run faster, so I'm going to give it 10 MB's of RAM.
Will this speed it up?

You probably don't want to allocate more than about 5 MB to the MachTen
application, since MachTen actually gets most of its memory from the System
software. You'll notice that if you watch the About This Macintosh... box
(Apple Menu, in the Finder) while doing some intense processing in MachTen,
the System Software bar will grow rapidly. That's MachTen allocating memory.
If you give the MachTen application too much memory, it won't be able to get
its memory from the System, and it may randomly crash or give 'out of
memory' errors.

G6.i. Why are the load averages so high? On another workstation running a
lot more applications, I'm used to load averages around 0.4-0.6. If
MachTen's X is running, the load average rarely falls below 2. Is there some
way to improve performance?

The load averages are reported differently under MachTen. This load average
is by no means a measure of system performance. Load averages are not meant
for speed comparisons. Typically a high load average (say 10+) is an
indicator that you need a faster, more powerful machine. The load average is
calculated by counting the number of processes waiting for the processor.
The MacOS is always counted as a waiting process, so our load average is
typically one higher than you would expect.
G6.j. I installed MacOS 7.5.5 or 7.6 and MachTen 2.3 (or 2.2) won't start up
anymore. How can I fix this?

First, download new kernels from ftp://ftp.tenon.com/pub/updates/2.3/. Get
the files unix.hqx and vmunix.hqx. Now, after decompressing these files,
place them in the MachTen 2.3 Root/MachTen folder on your hard drive. Start
the MachTen control panel, and while holding down the 'Option' key select
'General'. In the window that opens is a box labeled 'MultiFinder Offset'
which is probably set to '0'. Set this to '1900' for MacOS 7.5.5 and to
'1876' for MacOS 7.6, save, exit, and start MachTen.

G6.k. MachTen fails to startup with the error "Can't find root vnode". How
Can I fix this?

There are two volumes on your computer with the same name, probably the hard
drive that MachTen is installed on is the same as the name of the MachTen
CD. Change the name of the hard drive to a one that doesn't conflict with
other volumes.

G7. Other System Issues

G7.a. When I telnet to a (non-MachTen) UNIX system, pressing the delete key
just gives a '^?' character; I have to press ctrl-H to backspace. How I can
make the delete key work correctly?

At the command line on the foreign system type 'stty erase [DELETE KEY]'. If
you access the foreign system primarily through MachTen, then you should put
the 'stty erase [DELETE KEY]' line in a login script such as .login or
cshrc, so it will change the delete to backspace every time you log into
the foreign system. Incidentally, [DELETE KEY] means press the key, not to
type out DELETE KEY.

G7.b. I have a Stylewriter printer. Do you have a script that I can put into
the /etc/printcap file so I can print?

MachTen does not support QuickDraw based Stylewriters, only line and
PostScript printers. You can use a Stylewriter as a straight ASCII line
printer by setting up an entry in the printcap as an ASCII printer pointing
to a serial device. There are examples in the /etc/printcap file on how to
do this.

G7.c. When will virtual memory and protected memory use be implemented on
Power MachTen?

Virtual memory and protected memory, features of our 68K version of MachTen,
have always been a top priority for Tenon. However, perturbations in Apple's
OS strategy have made this development very problemmatic. In the absence of
virtual memory and protected memory, Tenon has worked hard to make Power
MachTen a very substantial software development platform. Even in a 'real
memory' system, we are able to port applications with over a million lines
of code with good results.

G7.d. Why can't I compile my C code that uses memory mapping system calls?

Memory mapping will not work under Power MachTen since we do not yet have a
true UNIX virtual memory implementation. I would recommend that you, instead
of using distinct processes and trying to communicate between them, try
using a multithreaded approach -- we do have the POSIX threads library, and
all threads share the same memory space. Alternately, you can use sockets
for IPC.

G7.e. I only seem able to start Macintosh applications from within Power
MachTen by becoming root, even though the documentation (and file
protections) indicate that any user should be able to do this. Why?

As of now only root, or users authorized in the following manner, can
execute Mac apps -- the Power MachTen documentation is incorrect. Before
proceeding, please recognize that allowing users to run Macintosh
applications will make your system significantly less secure. To allow users
to run Macintosh applications, you have to change the resource settings of
the MachTen application. First start MachTen and get the user ID (the
numbers) of the users you want to allow to run Macintosh applications. Exit
MachTen and start ResEdit. Inside ResEdit, open the MachTen application (in
the MachTen Root:MachTen folder). Double click on the Luid icon, this will
open a window titled "Luids from MachTen". In that window, double click on
the line that contains "Launch User ID's". This will open a window titled
"Luid 'Launch User IDs' ID=-8192 from MachTen". Highlight the last number in
this window with your mouse, then select "Insert New Field(s)" from the
Resources menu. This will create a box below the highlighted number; in that
box enter one of the user id's that you previously retrieved. Repeat this
process: select last number, etc. until you have entered all the user id's
that you want. Remember to save the file.

G7.f. How I can check the status of Mac applications launched from Power
MachTen?

Power MachTen, unlike Professional MachTen, is unable to check the status of
currently running Macintosh applications.

G7.g. I have ftp'd some files using the Macintosh program Fetch. I had the
files downloaded as binary files. Is there any way to convert them to the
MachTen format so I can use them?

Fetch (and basically all other Macintosh apps) saves your files with both a
resource fork and a data fork. Before using the file in MachTen, the
resource fork should be removed by running 'dfork -i <filename>'.

G7.h. Why do active network applications stop when I launch MachTen?

As long as the MachTen TCP/IP stack is used, all running TCP/IP applications
must be quit before launching MachTen. With CU1 for Power MachTen, the
requirement to quit Macintosh TCP/IP applications before MachTen launch is
eliminated.

G7.i. I used adduser to create a user in the 'wheel' group, but when the
user tries to su I get "su: you are not in the correct group to su root" Any
suggestions?

Do you have a line in /etc/group that says:
wheel:*:0:root,your_user
What's important here is that wheel is group ID 0, and the list of users is
delimited by the comma. The adduser command may not correctly set your
group. Check the /etc/groups file and add it manually if needed.

G7.j. How can I access Macintosh disks other than the one that MachTen
resides on?

You can mount desktop items. For example, if you have a volume called "Hard
Disk" on your desktop, you can mount it with 'mount "Hard Disk" /mnt' where
/mnt is your local mount point.

G7.k. Why do I get "Diskname on /Diskname: Device busy, some process using
this filesystem" when I try to mount a hard disk?

This message means that either you have the drive mounted at another
location, or that the disk is password protected or locked by a Macintosh
securty application.

G7.l. How do I start up my Macintosh with Power MachTen as the Finder?

At this time the you can do one of two things. You can rename the NoFinder
application to Finder, rename the Finder something else and reboot. Your
machine will boot NoFinder and you can start applications from there. You
can also boot normally and use NoFinder to kill the Finder. Right now there
is no way to boot Power MachTen automatically without the Finder or
NoFinder. Alternatively, the NoFinder application can be used to terminate
Finder. NoFinder is available at
file://ftp.tenon.com/pub/applications/contributed/NoFinder.gz

G7.m. How do I convert the old password files from Professional MachTen to
Power MachTen?

Because Power MachTen is BSD 4.4 compliant, we have moved to the shadow
password suite. As a result, the old databases are no longer compatible. The
following two perl scripts will convert the password files for you. The
first takes your passwd file and outputs what your master.passwd should look
like. Just run it and redirect your output to /etc/master.passwd. You should
also chmod 600 this file so only root can read it. The second modifies your
passwd file so it no longer contains the passwords. You should back up your
passwd file before you try any of this, in case anything goes wrong. If you
don't already have perl, you can get it from our ftp site.

Using the "vipw" command, you should edit the password information. Just
modify it so it will update the database, i.e., change something then change
it back. When you exit vipw, it will build the spwd.db and pwd.db databases.

**** First Script ****
#!/usr/local/bin/perl

open(PASSWD, "/etc/passwd");

while(<PASSWD>){
chop;
($name, $password, $uid, $gid, $realname, $homedir, $shell) = split(/:/);
print
"$name:$password:$uid:$gid::0:0:0:$realname:$homedir:$shell\n" ;
}

**** Second Script ****
#!/usr/local/bin/perl

open(PASSWD, "/etc/passwd");

while(<PASSWD>){
chop;
($name, $password, $uid, $gid, $realname, $homedir, $shell) =
split(/:/);
print "$name:\*:$uid:$gid::$realname:$homedir:$shell\n" ;
}

G7.n. I tried to change my root password, but the passwd program did not
prompt me for my current password before creating a new one. /etc/passwd,
still lists the root passwd as *. Why?

The passwd program does not ask for your old password when changing it.
Power MachTen uses shadow password that it keeps in a separate encrypted
file. Your /etc/passwd file should contain * for the passwords. Refer to the
passwd man page for more details.

G7.o. Where is rfork in Power MachTen?

We did not set this up correctly in Power MachTen. You must make a soft link
between dfork and rfork: 'ln -s rfork dfork'. When rfork runs, it will
notice its name and act accordingly.

G7.p. How can I safely mount a device to the /volume directory in Power
MachTen?

On Power MachTen startup, as part of the cleanup, MachTen deletes the
contents of the /volume directory. Potential results, if a disk or partition
is mounted to /volume using /etc/fstab are obvious. The following changes to
"/etc/rc" will solve the problem. Details about "/volume" and its
directories are included below. In "/etc/rc" change:

$ECHO -n " /volume"; cd /volume && $RM -fr *

to:

$ECHO -n " /volume"; cd /volume && /bin/rmdir * 2>/dev/null

The intent of cleaning "/volume" is to remove old directory entries which
were previously used as mount points for Macintosh volumes, NOT the contents
of any volume currently mounted there! "rmdir" will remove a directory
if-and-only-if it is empty and not mounted on, which is what we want.
Directory entries are created in "/volume" by "macmntd(8)". Macmntd get a
signal when a removable Mac volume comes online. It gleans the name of the
new Macintosh volume, then check "/etc/fstab" for an entry dictating where
to mount this volume. If no entry exists in fstab, macmntd creates a
directory in "/volume", using the Macintosh volume name. It then mounts the
new Mac volume on this directory. When the removable volume is ejected, or
MachTen quits, the directory entry remains in "/volume". Thus "/volume"
could, over time, get cluttered with directory entries.

G7.q. How do I change the login banner of MachTen/CodeBuilder?

Change the default entry in the /etc/gettytab file. This is the line to
change:

default:\


G7.r. I lost my root password, how can I recover it?

You must have physical access to the computer. During system startup, wait
until you see the "Cleaning up..." on the startup screen, then quickly press
CTRL-C two or three times. This will halt the system startup, press RETURN
one time to enter MachTen in single-user mode. You should be at a '#'
prompt. Type '/usr/bin/passwd' then change the root password when prompted.
Now run 'sync' twice from the '#' prompt, then run '/sbin/reboot'. Once
MachTen quits completely, drag and drop the MachTen_FFS or CodeBuilder_FFS
onto 'Fast File First Aid" repeatedly until FFFA gives the FFS file a clean
bill of health. Restart MachTen and login with your new root password.

G7.s. How do I create an A/UX partition for a fast file system?

As far as we know, you cannot do this with Drive Setup. We recommend using
FWB's Hard Disk Toolkit, simply set the Partition Type to Apple_UNIX_SVR2
when creating a scratch partition.

G7.t. Adduser does strange things to my Power MachTen 4.1 installation, how
can I fix it?

Please read MachTen 4.1 Adduser Problems, with Fixes.

G8. Ported Applications

G8.a. Where is the "ported_apps" folder on the Power MachTen distribution
disk?

Sorry for the confusion, but the documentation is in error. On the Power
MachTen 4.0.3 disk there is no "ported_apps" folder. You can get source for
ported apps from our ftp site and from the Power Mac Ported Applications CD,
which contains source and binaries.

G8.b. Can you help me port an application or set up a ported application?

Quite possibly. We can help with "core" applications such as Apache or INN
or other apps that are run on a standard Internet-aware UNIX system. If you
have a large, intricate and obscure application, we may not be able to help
as much, simply because we may not have the resources required to understand
the intricacies of your application. We will, of course, help as much as we
can with any specific MachTen-related questions you might have.

G8.c. I am trying to port some apps to MachTen. Which vendor's UNIX is
closest to MachTen?

Since MachTen is a straight BSD port, anything BSD is a good choice. If the
source has flags for BSD, it's a great place to start. The next best are
NexT or SunOS. You will have to recompile anything that was not compiled for
MachTen. O'Reilly has a good book on porting UNIX programs.

G8.d. Why does Tenon have two CD's of ported apps?

Ported Apps Volume 1 is for Professional MachTen. Volume is applications for
Power MachTen.

G8.e. Why does Tenon suggest purchasing Ported Apps Volume 2 for use with
CodeBuilder?

Two reasons. First, Ported Apps extends CodeBuilder's suite to include
advanced UNIX-based tools. Second, Ported Apps comes with over 200 MB of
source code, which can be used to develop UNIX-based or standalone Macintosh
applications.

G9. Miscellaneous

G9.a. How can I view an "info" file?

You can view .info files with emacs: type meta-x info and hit return, and it
will bring up lots of interesting information, including tutorials. (The
meta key is usually your escape key.) Alternatively, you can view it using
TeXinfo. Both emacs and TeXinfo are available on the Ported Apps CD.

G10. X Windows

G10.a. Is it possible to cut and paste from X Windows to the Mac desktop?

The fact that our X consumes the screen is a direct result of our X
architecture. Sending the X drawing primitives directly to the hardware
screen buffers give us a big performance advantage. What we lose, of course,
is the 'cut & paste' capability that we would get for 'free' from QuickDraw.
Even though our X is exactly what you would get if you bought an X terminal,
we recognize that, since we are running on a Mac, people expect 'cut &
paste'. This is a feature that, from the beginning, was planned for a future
upgrade. As a workaround you can copy your text to the X clipboard, then
save the clipboard to a file and access the file from MachTen windows or
with BBEdit.

G10.b. How can I change the keyboard mapping under X?

Checkout is the xmodmap program. It will allow you to manipulate your
keyboard mappings, or you can move the appropriate Xmodmap (located in
/usr/X11/lib/X11/xinit/) to your home directory and remap the key within the
file.

G10.c. Where is libXshr?

LibXshr is a library that was present in earlier versions of MachTen, but is
no longer used. Binaries compiled under previous versions need to be
recompiled.

G10.d. Why can't Mosaic find any URL's?

When X appears to start but Mosaic complains that the URL cannot be found,
it is an indication that the Web server (httpd) has not started. Using the
OpenWindows menu, start an xterm and use the <ps -aux | grep httpd> command
to verify that the server is not running. Edit the
/etc/httpd/conf/httpd.conf file. Uncomment the following line:

#ServerName new.host.name

In addition, you can change the entry <new.host.name> to a name of your
choice. Save the file and start the Web server with the <httpd -x> command.
To gain access to the X configuration pages, push the reload button within
Mosaic or restart Mosaic.

G10.e. Why do I get a "connection reset by peer" error message when I open a
local xterm window and try to rlogin to another system?

Try setting the TCP/IP control panel (the one for Open Transport) to "Load
Only When Needed". (You can get to this by clicking the "Options..."
button).

G10.f. Whenever X is running, the entire system is unstable, whether I'm
using MacTCP clients or X exclusively. Is there a configuration that will
make things more stable?

Get all updates (XTen users should upgrade to 6.0.1+). If this doesn't help,
try taking the TCP/IP control panel out of the Control Panels folder. On
some systems, this can greatly help our dealings with OpenTransport.

G10.g. The Tenon Web pages say XTen is X11R6, but my Power MachTen came with
X11R5. Did I get an old MachTen distribution?

MachTen ships with R5, but XTen ships with R6. MachTen with X11R6 is
available on the PPC Ported Apps CD. CU1 is also included on this disk and
should be installed before installing X11R6.

G10.h. I tried to launch XWindows with a ctrl-T, but I got the following
error: 'fatal IO error 32 (Broken pipe) on X server ":0.0"' What happened?
How do I fix it?

MachTen 4.0.x comes with X11R5, which supports only up to 256 colors. Make
sure that your monitor is set to 256 colors. An incorrect monitor depth is
usually the cause of the above error message.

G10.i. The background for the X Window is 'opaque', i.e. I can't see my
underlying Mac windows. How do I do this on the Tenon X Server?

There is no way to use "rootless" windows in MachTen. Dedicated X windows
enhances performance many-fold.

G10.j. Why does creating a new window from the File menu kill the X session?

It doesn't. Visit the window menu and reselect the X session as the window
you would like to view.

G10.k. System memory likes to bloat up to 20 or so MBs whenever I have more
than a few things running under XTen. Is this normal?

Traditionally, X assumes your system has limitless memory, so this is normal
behavior for any X system. Most of the memory allocation from MachTen/XTen
takes place in conjunction with the Code Fragment Manager, which allows us
to dynamically allocate memory in the System bar. Very little allocation
happens within the MachTen/XTen program space, which is why we ship with a
rather low amount of memory assigned to MachTen/XTen in the "Get Info" box.

G10.l. Is there a way to scale the display in X?

No, but you could bump up the monitor resolution (if your monitor and
computer support higher resolutions).

G10.m. X won't start on my system. It just goes to a white screen then drops
me back into the finder (or hangs the system) How do I fix this?

The two most likely possibilities are not enough memory or lack of
networking. If you are running only the MacOS and MachTen, set memory for at
least 32 MB. X will also fail to start if MachTen is configured to use
OpenTransport networking and there is no network active (e.g. PPP not
connected). Simply quit MachTen and open the folder /System
Folder/Extensions/Tenon Kernel Libraries. Inside this folder resides
OTSocketLib--move this to the folder /System Folder/Extensions/Tenon Kernel
Libraries/Disabled. Now in the folder /System Folder/Extensions/Tenon Kernel
Libraries/Disabled is a file called SocketLib--move this file to the folder
/System Folder/Extensions/Tenon Kernel Libraries, reboot your computer and
try X again.

Copyright(c)1998 Tenon Intersystems, 1123 Chapala Street, Santa Barbara, CA
93101. All rights reserved.

User Contributions:

Comment about this article, ask questions, or add new information about this topic:

CAPTCHA


[ Usenet FAQs | Web FAQs | Documents | RFC Index ]

Send corrections/additions to the FAQ Maintainer:
jjulca@tenon.com





Last Update March 27 2014 @ 02:11 PM