[Comp.Sci.Dept, Utrecht] Note from archiver<at>cs.uu.nl: This page is part of a big collection of Usenet postings, archived here for your convenience. For matters concerning the content of this page, please contact its author(s); use the source, if all else fails. For matters concerning the archive as a whole, please refer to the archive description or contact the archiver.

Subject: [comp.unix.machten] MachTen & CodeBuilder FAQ

This article was archived around: 8 Jun 1998 17:33:16 GMT

All FAQs in Directory: macintosh
All FAQs posted in: comp.unix.machten
Source: Usenet Version


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>
---------------------------------------------------------------------------- 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/gnat3.09-Codebuilder_ppc.tar.gz. 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.