|
|
|
|
UGU: Unix Guru Universe - MachTen F.A.Q
- Home : Unix Flavors
: MachTen
MachTen F.A.Q
MachTen & CodeBuilder FAQ
Version 1.3
7 January 1997
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 machten@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. What are MachTen's memory and disk requirements?
A17. Does MachTen support virtual memory?
A18. Is there any way I can have MachTen start up every time
my Mac boots?
A19. Does the "xxx" software package run on top
of MachTen?
A20. What commercial applications run on MachTen?
A21. As UNIX is so file I/O intensive, what kind of performance
can MachTen have if Apple's file system is so slow?
A22. Can more than one user access the MachTen host system?
A23. Can users without a UNIX account use the Mac solely
as a Mac?
A24. What is the visual appearance of MachTen/CodeBuilder?
A25. Can you start Mac applications both under Finder and
under the UNIX shell?
A26. What Mac applications run on MachTen?
A27. Can I get a demo of MachTen?
A28. Does Tenon offer educational discounts?
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.
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. We are also looking into porting GNUStep
(the FSF version of NeXTStep.)
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.
Apple recently distributed a beta version of 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.
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, Power Mac
clones, and PowerPC PowerBooks.
A12. What models of Macintosh does CodeBuilder run
on?
CodeBuilder is designed to run on all Power Macs, Power Mac clones and
PowerPC PowerBooks.
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.
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.
A16. 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.
A17. 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 designed Power MachTen to take advantage of Copland's protected threads.
Now that Copland will not be available for several more years, Tenon plans
to implement VM and memory protection for Power MachTen.
Power MachTen can, of course, be used with MacOS VM or RAMDoubler.
A18. 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".
A19. 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.
For the 68K version of MachTen, a Ported
Application CD is available with sources and MachTen executables for
hundreds of public domain applications. This Ported Application CD is included
when you purchase Professional MachTen 2.3. A Ported
Application CD with native PPC applications is also available for Power
MachTen.
A20. What commercial applications run on MachTen?
Until now there hasn't been a real incentive for vendors to port their applications
to MachTen, since they were already directing their efforts toward Apple's
A/UX. Now that Apple has dropped support for A/UX, and their Power Macintosh
UNIX plans have been made more complicated by CHRP, MachTen has been the
only UNIX for Power Macintosh. This unique position makes MachTen an attractive
platform for commercial vendor ports. Since MachTen is very standard UNIX,
porting applications is very straightforward.
A21. As UNIX is so file I/O intensive, what kind of
performance can MachTen have if Apple's file system is so slow?
Naturally, having a fast UNIX file system on the bare hardware would
give better performance. But 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. Tenon plans to extend MachTen with a native
UNIX file system in the future.
A22. Can more than one user access the MachTen host
system?
Yes. MachTen turns your Macintosh into a multitasking, multiuser environment.
A23. 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.
A24. 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 7 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.
A25. 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.
A26. 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.
A27. Can I get a demo of MachTen?
Unfortunately we don't make one, although we do have the next best thing
-- a 30-day trial period. If you aren't satisfied, you can contact us at
any time during that period to ask for a full refund . If, during your 30-day
trial period, you discover that you haven't had enough time to fully configure
MachTen, you can contact us and request a trial-period extension. We give
those out rather liberally. Contact sales@tenon.com to purchase.
A28. Does Tenon offer educational discounts?
Yes. Contact sales@tenon.com for more information.
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.
Many additional Internet server software daemons, such as Gopher and WAIS,
have been ported to Professional MachTen and are available for 68030 and
68040 platforms. These daemons are available on a Ported Applications CD-ROM.
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?
Personal MachTen includes a C compiler, assembler, libraries, loader, and
all the standard UNIX tools, such as lex and yacc.
Professional MachTen includes C, C++, a source debugger, and Mach C threads.
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 Personal
MachTen or 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). A native UNIX file system is planned for the future.
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?
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?
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?
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?
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?
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?
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) dependant 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?
The same way as popper, but you must first edit the /etc/inetd.conf
file for pop3d. 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.
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.
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
jaimej@rocks.tenon.com 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
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.
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.
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, along with a fast file system, are
a top priority for Tenon., especially with the recently announced System
8 delays (yet again). We haven't committed ourselves to a date, but the
end of 1996 is not out of the question.
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 you have the drive mounted at another location.
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.
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?
X cannot cut and paste to the desktop because it is a true X server, rather
than a Macintosh application. 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:
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 hav
|
|
|
Copyright 1994-2024 Unix Guru Universe |
|
|
|
|