home *** CD-ROM | disk | FTP | other *** search
Text File | 1993-08-17 | 53.3 KB | 1,399 lines |
- Path: senator-bedfellow.mit.edu!bloom-beacon.mit.edu!spool.mu.edu!darwin.sura.net!europa.eng.gtefsd.com!uunet!cs.utexas.edu!mavrick!basto@cactus.org
- From: basto@cactus.org (Luis Basto)
- Newsgroups: comp.unix.aix,news.answers,comp.answers
- Subject: AIX Frequently Asked Questions (Part 3 of 3)
- Summary: This posting contains a list of Frequently Asked Questions
- and their answers about AIX, IBM's version of Unix.
- Keywords: AIX RS/6000 questions answers
- Message-ID: <1453@mavrick.UUCP>
- Date: 16 Aug 93 05:12:02 GMT
- Expires: 15 Sep 93 01:23:45 GMT
- Sender: luis@mavrick.UUCP
- Reply-To: basto@cactus.org (Luis Basto)
- Followup-To: comp.unix.aix
- Lines: 1380
- Approved: news-answers-request@MIT.Edu
- Supersedes: <1443@mavrick.UUCP>
- Xref: senator-bedfellow.mit.edu comp.unix.aix:28918 news.answers:11419 comp.answers:1614
-
- Archive-name: aix-faq/part3
- Last-modified: August 15, 1993
- Version: 2.40
-
-
- Version: $Id: aix.faq,v 2.40 93/08/15 basto $
-
- Frequently Asked Questions to AIX 3.x and IBM RS/6000
- _____________________________________________________
-
- 2.00: C/C++
-
- Contrary to many people's belief, the C environment on the RS/6000 is
- not very special. The C compiler has quite a number of options that can
- be used to control how it works, which "dialect" of C it compiles, how
- it interprets certain language constructs, etc. InfoExplorer includes a
- Users Guide and a Reference Manual.
-
- The compiler can be invoked with either xlc for strict ANSI mode and cc
- for RT compatible mode (i.e. IBM 6150 with AIX 2). The default options
- for each mode are set in the /etc/xlc.cfg file, and you can actually add
- another stanza and create a link to the /bin/xlc executable.
-
- The file /usr/lpp/xlc/bin/README.xlc has information about the C
- compiler, and the file /usr/lpp/bos/bsdport contains useful information,
- in particular for users from a BSD background.
-
- The file /etc/xlc.cfg also shows the symbol _IBMR2 that is predefined,
- and therefore can be used for #ifdef'ing RS/6000 specific code.
-
-
- 2.01: I cannot make alloca work
-
- A famous routine, in particular in GNU context, is the allocation
- routine alloca(). Alloca allocates memory in such a way that it is
- automatically free'd when the block is exited. Most implementations
- does this by adjusting the stack pointer. Since not all C environments
- can support it, its use is discouraged, but it is included in the xlc
- compiler. In order to make the compiler aware that you intend to use
- alloca, you must put the line
-
- #pragma alloca
-
- before any other statements in the C source module(s) where alloca is
- called. If you don't do this, xlc will not recognize alloca as anything
- special, and you will get errors during linking.
-
- For AIX 3.2, it may be easier to use the -ma flag.
-
-
- 2.02: How do I compile my BSD programs?
-
- The file /usr/lpp/bos/bsdport contains information on how to port
- programs written for BSD to AIX 3.1. This file may be very useful for
- others as well.
-
- A quick cc command for most "standard" BSD programs is:
-
- $ cc -D_BSD -D_BSD_INCLUDES -o [loadfile] [sourcefile.c] -lbsd
-
- If your software has system calls predefined with no prototype
- parameters, also use the -D_NO_PROTO flag.
-
-
- 2.03: Isn't the linker different from what I am used to?
-
- Yes. It is not at all like what you are used to:
-
- - The order of objects and libraries is normally _not_ important. The
- linker reads _all_ objects including those from libraries into memory
- and does the actual linking in one go. Even if you need to put a
- library of your own twice on the ld command line on other systems, it
- is not needed on the RS/6000 - doing so will even make your linking slower.
-
- - One of the features of the linker is that it will replace an object in
- an executable with a new version of the same object:
-
- $ cc -o prog prog1.o prog2.o prog3.o # make prog
- $ cc -c prog2.c # recompile prog2.c
- $ cc -o prog.new prog2.o prog # make prog.new from prog
- # by replacing prog2.o
-
- - The standard C library /lib/libc.a is linked shared, which means that
- the actual code is not linked into your program, but is loaded only
- once and linked dynamically during loading of your program.
-
- - The ld program actually calls the binder in /usr/lib/bind, and you can
- give ld special options to get details about the invocation of the
- binder. These are found on the ld man page or in InfoExplorer.
-
- - If your program normally links using a number of libraries (.a files),
- you can 'prelink' each of these into an object, which will make your
- final linking faster. E.g. do:
-
- $ cc -c prog1.c prog2.c prog3.c
- $ ar cv libprog.a prog1.o prog2.o prog3.o
- $ ld -r -o libprog.o libprog.a
- $ cc -o someprog someprog.c libprog.o
-
- This will solve all internal references between prog1.o, prog2.o and
- prog3.o and save this in libprog.o Then using libprog.o to link your
- program instead of libprog.a will increase linking speed, and even if
- someprog.c only uses, say prog1.o and prog2.o, only those two modules
- will be in your final program. This is also due to the fact that the
- binder can handle single objects inside one object module as noted above.
-
- If you are using an -lprog option (for libprog.a) above, and still want
- to be able to do so, you should name the prelinked object with a
- standard library name, e.g. libprogP.a (P identifying a prelinked
- object), that can be specified by -lprogP. You cannot use the archiver
- (ar) on such an object.
-
- You should also have a look at section 3.01 of this article, in
- particular if you have mixed Fortran/C programs.
-
-
- 2.04: How do I link my program with a non-shared /lib/libc.a?
-
- cc -o prog -bnoso -bI:/lib/syscalls.exp obj1.o obj2.o obj3.o
-
- will do that for a program consisting of the three objects obj1.o, etc.
-
-
- 2.05: How do I make my own shared library?
-
- To make your own shared object or library of shared objects, you should
- know that a shared object cannot have undefined symbols. Thus, if your
- code uses any externals from /lib/libc.a, the latter MUST be linked with
- your code to make a shared object. Mike Heath (mike@pencom.com) said it
- is possible to split code into more than one shared object when externals
- in one object refer to another one. You must be very good at
- import/export files. Perhaps he or someone can provide an example.
-
- Assume you have one file, sub1.c, containing a routine with no external
- references, and another one, sub2.c, calling stuff in /lib/libc.a. You
- will also need two export files, sub1.exp, sub2.exp. Read the example
- below together with the examples on the ld man page.
-
- ---- sub1.c ----------------------------------------------------------
- int addint(int a, int b)
- {
- return a + b;
- }
- ---- sub2.c ----------------------------------------------------------
- #include <stdio.h>
-
- void printint(int a)
- {
- printf("The integer is: %d\n", a);
- }
- ---- sub1.exp ----------------------------------------------------------
- #!
- addint
- ---- sub2.exp ----------------------------------------------------------
- #!
- printint
- ---- usesub.c ----------------------------------------------------------
- main()
- {
- printint( addint(5,8) );
- }
- ---------------------------------------------------------------
-
- The following commands will build your libshr.a, and compile/link the
- program usesub to use it. Note that you need the ld option -lc for
- sub2shr.o since it calls printf from /lib/libc.a.
-
- $ cc -c sub1.c
- $ ld -o sub1shr.o sub1.o -bE:sub1.exp -bM:SRE -T512 -H512
- $ cc -c sub2.c
- $ ld -o sub2shr.o sub2.o -bE:sub2.exp -bM:SRE -T512 -H512 -lc
- $ ar r libshr.a sub1shr.o sub2shr.o
- $ cc -o usesub usesub.c -L: libshr.a
- $ usesub
- The integer is: 13
- $
-
-
- 2.06: Linking my program fails with strange errors. Why?
-
- Very simple, the linker (actually called the binder), cannot get the
- memory it needs, either because your ulimits are too low or because you
- don't have sufficient paging space. Since the linker is quite different
- from normal Unix linkers and actually does much more than these, it also
- uses a lot of virtual memory. It is not unusual to need 10000 pages (of
- 4k) or more to execute a fairly complex linking.
-
- If you get 'BUMP error', either ulimits or paging is too low, if you get
- 'Binder killed by signal 9' your paging is too low.
-
- First, check your memory and data ulimits; in korn shell 'ulimit -a' will
- show all limits and 'ulimit -m 99999' and 'ulimit -d 99999' will
- increase the maximum memory and data respectively to some high values.
- If this was not your problem, you don't have enough paging space.
-
- If you will or can not increase your paging space, you could try this:
-
- - Do you duplicate libraries on the ld command line? That is never
- necessary.
-
- - Do more users link simultaneously? Try having only one linking going
- on at any time.
-
- - Do a partwise linking, i.e. you link some objects/libraries with the
- -r option to allow the temporary output to have unresolved references,
- then link with the rest of your objects/libraries. This can be split
- up as much as you want, and will make each step use less virtual memory.
-
- If you follow this scheme, only adding one object or archive at a
- time, you will actually emulate the behavior of other Unix linkers.
-
- If you decide to add more paging space, you should consider adding a new
- paging space on a second hard disk, as opposed to just increasing the
- existing one. Doing the latter could make you run out of free space on
- your first harddisk. It is more involved to shrink a paging space
- but easier to delete one.
-
-
- 2.07: What's with malloc()?
-
- malloc() uses a late allocation algorithm based on 4.3 BSD's malloc()
- for speed. This lets you allocate very large sparse memory spaces,
- since the pages are not actually allocated until they are touched for
- the first time. Unfortunately, it doesn't die gracefully in the face of
- loss of available memory. See the "Paging Space Overview" under
- InfoExplorer, and see the notes on the linker in this document for an
- example of an ungraceful death.
-
- If you want your program to get notified when running out of memory, you
- should handle the SIGDANGER signal. The default is to ignore it.
- SIGDANGER is sent to all processes when paging space gets low, and if
- paging space gets even lower, processes with the highest paging space
- usage are sent the SIGKILL signal.
-
- malloc() is substantially different in 3.2, allocating memory more
- tightly. If you have problems running re-compiled programs on 3.2, try
- running them with MALLOCTYPE=3.1.
-
-
- 2.08: Why does xlc complain about 'extern char *strcpy()'
-
- The header <string.h> has a strcpy macro that expands strcpy(x,y) to
- __strcpy(x,y), and the latter is then used by the compiler to generate
- inline code for strcpy. Because of the macro, your extern declaration
- contains an invalid macro expansion. The real cure is to remove your
- extern declaration but adding -U__STR__ to your xlc will also do the trick.
-
-
- 2.09: Why do I get 'Parameter list cannot contain fewer ....'
-
- This is the same as above.
-
-
- 2.10: Why does xlc complain about '(sometype *)somepointer = something'
-
- Software that is developed using GNUC may have this construct. However,
- standard C does not permit casts to be lvalues, so you will need to
- change the cast and move it to the right side of the assignment. If you
- compile with 'cc', removing the cast completely will give you a warning,
- 'xlc' will give you an error (provided somepointer and something are of
- different types - but else, why would the cast be there in the first place?)
-
-
- 2.11: Some more common errors
-
- Here are a few other common errors with xlc:
-
- 305 | switch((((np)->navigation_type) ? (*((np)->navigation_type)) :
- ((void *)0)))
- .a...........
- a - 1506-226: (S) The second and third operands of the conditional
- operator must be of the same type.
-
- The reason for this is that xlc defines NULL as (void *)0, and it does
- not allow two different types as the second and third operand of ?:.
- The second argument above is not a pointer and the code used NULL
- incorrectly as a scalar. NULL is a nil pointer constant in ANSI C and
- in some traditional compilers.
-
- You should change NULL in the third argument above to an integer 0.
-
-
- 2.12: Can the compiler generate assembler code?
-
- The traditional -S option is not supported by the XLC compiler, and
- there is in fact no way to make the compiler generate machine readable
- assembler code. The option -qlist will generate a human readable one in
- the .lst file.
-
-
- 2.13: Curses
-
- Curses based applications should be linked with -lcurses and _not_ with
- -ltermlib. It has also been reported that some problems with curses are
- avoided if your application is compiled with -DNLS.
-
- Peter Jeffe <peter@ski.austin.ibm.com> also notes:
-
- >the escape sequences for cursor and function keys are *sometimes*
- >treated as several characters: eg. the getch() - call does not return
- >KEY_UP but 'ESC [ C.'
-
- You're correct in your analysis: this has to do with the timing of the
- escape sequence as it arrives from the net. There is an environment
- variable called ESCDELAY that can change the fudge factor used to decide
- when an escape is just an escape. The default value is 500; boosting
- this a bit should solve your problems.
-
- Further on the matter of curses, I've received the comments below
- concerning extended curses:
-
- From: Christopher Carlyle O'Callaghan <asdfjkl@wam.umd.edu>
-
- 1) The sample program in User Interface Programming Concepts, page 7-13
- is WRONG. Here is the correct use of panes and panels.
-
- #include <cur01.h>
- #include <cur05.h>
-
- main()
- {
- PANE *A, *B, *C, *D, *E, *F, *G, *H;
- PANEL *P;
-
- initscr();
-
- A = ecbpns (24, 79, NULL, NULL, 0, 2500, Pdivszp, Pbordry, NULL, NULL);
-
- D = ecbpns (24, 79, NULL, NULL, 0, 0, Pdivszf, Pbordry, NULL, NULL);
- E = ecbpns (24, 79, D, NULL, 0, 0, Pdivszf, Pbordry, NULL, NULL);
-
- B = ecbpns (24, 79, A, D, Pdivtyh, 3000, Pdivszp, Pbordry, NULL, NULL);
-
- F = ecbpns (24, 79, NULL, NULL, 0, 0, Pdivszf, Pbordry, NULL, NULL);
- G = ecbpns (24, 79, F, NULL, 0, 5000, Pdivszp, Pbordry, NULL, NULL);
- H = ecbpns (24, 79, G, NULL, 0, 3000, Pdivszp, Pbordry, NULL, NULL);
-
- C: = ecbpns (24, 79, B, F, Pdivtyh, 0, Pdivszf, Pbordry, NULL, NULL);
-
- P = ecbpls (24, 79, 0, 0, "MAIN PANEL", Pdivtyv, Pbordry, A);
-
- ecdvpl (P);
- ecdfpl (P, FALSE);
- ecshpl (P);
- ecrfpl (P);
- endwin();
- }
-
- 2) DO NOT include <curses.h> and any other <cur0x.h> file together.
- You will get a bunch of redefined statements.
-
- 3) There is a CURSES and EXTENDED CURSES stuff. Use only one or the
- other. If the manual says that they're backwards compatible or some
- other indication that you can use CURSES routines with EXTENDED,
- don't believe it. To use CURSES you need to include <curses.h> and
- you can't (see above).
-
- 4) If you use -lcur and -lcurses in the same link command, you will get
- Memory fault (core dump) error... YOU CANNOT use both of them at the
- same time. -lcur is for extended curses, -lcurses is for regular curses.
-
- 5) When creating PANEs, when you supply a value (other than 0) for the
- 'ds' parameter and use Pdivszf value for the 'du' parameter, the 'ds'
- will be ignored (the sample program on page 7-13 in User Interface
- Programming Concepts is wrong.) For reasons as yet undetermined,
- Pdivszc doesn't seem to work (or at least I can't figure out how to
- use it.)
-
- 6) If you're running into bugs and can't figure out what is happening,
- try the following:
- include -qextchk -g in your compile line
- -qextchk will check to make sure you're passing the right number of
- parameters to the procedures
- -g will allow you to use the inline debugger on Unix/AIX.
- to use the debugger after you compiled it,
- type: dbx <fn>
- the command 'help' will give you all of the possible commands to
- use in the debugger... have fun... :)
-
- 7) Do not use 80 as the number of columns if you want to use the whole
- screen. The lower right corner will get erased. Use 79 instead.
-
- 8) If you create a panel, you must create at least 1 pane, otherwise you
- will get a Memory fault (core dump).
-
- 9) When creating a panel, if you don't have a border around it, any title
- you want will not show up.
-
- 10) to make the screen scroll down:
- wmove (win, 0, 0);
- winsertln (win)
-
- 11) delwin(win) DOESN'T WORK IN EXTENDED WINDOWS.
-
- Anyway, to make it appear as if a window is deleted, you need to do
- the following:
- for every window that you want to appear on the screen
- touchwin(win)
- wrefresh(win)
-
- you must make sure that you do it in the exact same order as you put
- them on the screen (i.e., if you called newwin with A, then C, then B,
- then you must do the loop with A, then C, then B, otherwise you won't
- get the same screen back). The best thing to do is to put them into
- an array and keep track of the last window index.
-
- 12) mvwin(win, line, col) implies that it is only used for viewports and
- subwindows... It can also be used for the actual windows themselves.
-
- 13) If you specify the attribute of a window using wcolorout(win), any
- subsequent calls to chgat(numchars, mode) or any of its relatives
- will not work. (or at least they get very picky...)
-
-
- 2.14: How do I speed up linking
-
- Please refer to sections 2.03 and 2.06 above.
-
- From: losecco@undpdk.hep.nd.edu (John LoSecco) and
- hook@chaco.aix.dfw.ibm.com (Gary R. Hook)
-
- From oahu.cern.ch in /pub/aix3 you can get a wrapper for the existing
- linker called tld which can reduce link times with large libraries by
- factors of 3 to 4.
-
-
- 2.15: What is deadbeef?
-
- When running the debugger (dbx), you may have wondered what the
- 'deadbeef' is you occasionally see in registers. Do note, that
- 0xdeadbeef is a hexadecimal number that also happens to be some kind
- of word (the RS/6000 was built in Texas!), and this hexadecimal number
- is simply put into unused registers at some time, probably during
- program startup.
-
-
- 2.16: How do I statically link in 3.2?
-
- xlc -bnso -bI:/lib/syscalls.exp -liconv -bnodelcsect
-
- _____________________________________________________________________________
- 3.00: Fortran and other compilers
-
- This section covers all compilers other than C/C++. On Fortran, there
- seem to have been some problems with floating point handling, in
- particular floating exceptions.
-
-
- 3.01: I have problems mixing Fortran and C code, why?
-
- A few routines (the most famous one is getenv) exist in both the Fortran
- and the C libraries but with different parameters. You therefore cannot
- have a mixed program that call getenv from both C and Fortran code.
- When linking a mixed program calling getenv from either, be sure to
- specify the correct library first on your command line. If your main
- program is Fortran and you call getenv from a C routine, you must
- therefore add -lc to the xlf command line for linking.
-
- If you want to call getenv from both C and Fortran code in a mixed
- program, you need to compile all the Fortran code with the -qextname
- option. This appends an underscore to all Fortran external names and
- ensures that no confusion occurs with default C libraries. Of course an
- underscore should be added by hand in the C code to the name of all
- routines which are called form Fortran and to all calls to Fortran
- routines. If you do that, Fortran will call something which appears to
- C as getenv_ and there will be no confusion.
-
-
- 3.02: How do I statically bind Fortran libraries and dynamically
- bind C libraries?
- From: amaranth@vela.acs.oakland.edu (Paul Amaranth)
-
- [ Editor's note: Part of this is also discussed above under the C compiler
- section, but I felt it was so valuable that I have left it all in.
- I've done some minor editing, mostly typographical. ]
-
- The linker and binder are rather versatile programs, but it is not
- always clear how to make them do what you want them to. In particular,
- there are times when you do not want to use shared libraries, but
- rather, staticly bind the required routines into your object. Or, you
- may need to use two versions of the same routine (eg, Fortran & C). Here
- are the results of my recent experiments. I would like to thank Daniel
- Premer and Brad Hollowbush, my SE, for hints. Any mistakes or omissions
- are my own and I have tended to interchange the terms "linker" and
- "binder". These experiments were performed on AIX 3.1.2. Most of this
- should be applicable to later upgrades of 3.1.
-
- 1) I have some C programs, I want to bind in the runtime routines. How
- do I do this? [Mentioned in section 2.04 of this article as well, ed.]
-
- You can put the -bnso binder command on the link line. You should
- also include the -bI:/lib/syscalls.exp control argument:
-
- $ cc *.o -bnso -bI:/lib/syscalls.exp -o foo
-
- This will magically do everything you need. Note that this will bind
- _all_ required routines in. The -bI argument tells the linker that
- these entry points will be resolved dynamically at runtime (these are
- system calls). If you omit this you will get lots of unresolved
- reference messages.
-
- 2) I want to statically bind in the Fortran runtime so a) my customers
- do not need to buy it and b) I don't have to worry about the runtime
- changing on a new release. Can I use the two binder arguments in
- 1) to do this?
-
- You should be able to do so, but, at least under 3002, if you do
- you will get a linker error referencing getenv. In addition, there
- are a number of potential conflicts between Fortran and C routines.
- The easy way just does not work. See the section on
- 2 stage linking for C and Fortran on how to do this. The getenv
- problem is a mess, see the section on Comments & Caveats for more.
-
- 3) I have a mixture of C and Fortran routines, how can I make sure
- that the C routines reference the C getenv, while the Fortran routines
- reference the Fortran getenv (which has different parameters and, if
- called mistakenly by a C routine results in a segmentation fault)?
-
- From Mike Heath (mike@pencom.com):
-
- Use -brename:symbol1,symbol2 when pre-linking the modules from one
- of the languages. It does not matter which one you choose.
-
- 4) I have C and Fortran routines. I want to bind in the xlf library, while
- letting the rest of the libraries be shared. How do I do this?
-
- You need to do a 2 stage link. In the first stage, you bind in the
- xlf library routines, creating an intermediate object file. The
- second stage resolves the remaining references to the shared libraries.
-
- This is a general technique that allows you to bind in specific system
- routines, while still referencing the standard shared libraries.
-
- Specifically, use this command to bind the xlf libraries to the Fortran
- objects:
-
- $ ld -bh:4 -T512 -H512 <your objects> -o intermediat.o \
- -bnso -bI:/lib/syscalls.exp -berok -lxlf -bexport:/usr/lib/libg.exp \
- -lg -bexport:<your export file>
-
- The argument -bexport:<your export file> specifies a file with the
- name of all entry points that are to be visible outside the intermediate
- module. Put one entrypoint name on a line. The -bI:/lib/libg.exp line
- is required for proper functioning of the program. The -berok argument
- tells the binder that it is ok to have unresolved references, at least
- at this time (you would think -r would work here, but it doesn't seem to).
- The -bnso argument causes the required modules to be imported
- into the object. The -lxlf, of course, is the xlf library.
-
- Then, bind the intermediate object with the other shared libraries in
- the normal fashion:
-
- $ ld -bh:4 -T512 -H512 <C or other modules> intermediate.o \
- /lib/crt0.o -lm -lc
-
- Note the absence of -berok. After this link, all references should
- be resolved (unless you're doing a multistage link and making another
- intermediate).
-
- NOTE THE ORDER OF MODULES. This is extremely important if, for example,
- you had a subroutine named "load" in your Fortran stuff. Putting the
- C libraries before the intermediate module would make the C "load"
- the operable definition, rather than the Fortran version EVEN THOUGH
- THE FORTRAN MODULE HAS ALREADY BEEN THROUGH A LINK AND ALL REFERENCES
- TO THE SYMBOL ARE CONTAINED IN THE FORTRAN MODULE. This can
- be extremely difficult to find (trust me on this one :-) Is this
- a bug, a feature, or what?
-
- [As mentioned in section 2.03 of this article, it is a feature that you
- can replace individual objects in linked files, ed.]
-
- The result will be a slightly larger object than normal. (I say slightly
- because mine went up 5%, but then it's a 2 MB object :-)
-
-
- Comments & Caveats:
-
- From the documentation the -r argument to the linker should do what
- -berok does. It does not. Very strange results come from using the
- -r argument. I have not been able to make -r work in a sensible manner
- (even for intermediate links which is what it is supposed to be for).
-
- Note from Mike Heath (mike@pencom.com):
-
- 'ld -r' is essentially shorthand for 'ld -berok -bnogc -bnoglink'.
- Certainly, using -berok with an export file (so garbage collection
- can be done) is preferable to ld -r, but the latter is easier.
-
- When binding an intermediate module, use an export file to define the
- entry points you want visible in the later link. If you don't do this,
- you'll get the dreaded "unresolved reference" error. Import files name
- entry points that will be dynamically resolved (and possibly where).
-
- If you are in doubt about what parameters or libraries to link, use the
- -v arg when linking and modify the exec call that shows up into
- an ld command. Some thought about the libraries will usually yield an
- idea of when to use what. If you don't know what an argument is for,
- leave it in. It's there for a purpose (even if you don't understand it).
-
- Watch the order of external definitions (ie, libraries) when more than
- one version of a routine may show up, eg "load". The first one defined
- on the ld command line is the winner.
-
- The getenv (and system and signal) problem is a problem that started out
- minor, got somewhat worse in 3003 and, eventually will be correctly fixed.
- Basically, you should extract the 3002 version of these three routines
- from xlf.a before doing the update and save them away, then link these
- routines in if you use these Fortran system services.
-
-
- 3.03: How do I check if a number is NaN?
- From: sdl@glasnost.austin.ibm.com (Stephen Linam)
-
- NaN is "Not a Number". It arises because the RISC System/6000 uses
- IEEE floating point arithmetic.
-
- To determine if a variable is a NaN you can make use of the property
- that a NaN does not compare equal to anything, including itself.
- Thus, for real variable X, use
-
- IF (X .NE. X) THEN ! this will be true if X is NaN
-
- Floating point operations which cause exceptions (such as an overflow)
- cause status bits to be set in the Floating Point Status and Control
- Register (FPSCR). There is a Fortran interface to query the FPSCR, and
- it is described in the XLF Fortran manuals -- I don't have the manuals
- right here, but look for FPGETS and FPSETS.
-
- The IBM manual "Risc System/6000 Hardware Technical Reference - General
- Information" (SA23-2643) describes what floating point exceptions can
- occur and which bits are set in the FPSCR as a result of those exceptions.
-
-
- 3.04: Some info sources on IEEE floating point
-
- 1. ANSI/IEEE STD 754-1985 (IEEE Standard for Binary Floating-Point
- Arithmetic) and ANSI/IEEE STD 854-1987 (IEEE Standard for
- Radix-Independent Floating-Point Arithmetic), both available from IEEE.
-
- 2. David Goldberg, "What Every Computer Scientist Should Know About
- Floating-Point Arithmetic", ACM Computing Surveys, Vol. 23, No. 1,
- March 1991, pp. 5-48.
-
- ____________________________________________________________________________
- 4.00: GNU and Public Domain software
-
- GNU software comes from the Free Software Foundation and various other
- sources. A number of ftp sites archive them. Read the GNU license for
- rules on distributing their software.
-
- Lots of useful public domain software have been and continue to be ported
- to the RS/6000. See below for ftp or download information.
-
-
- 4.01: How do I find sources?
- From: jik@GZA.COM (Jonathan Kamens)
-
- There is a newsgroup devoted to posting about how to get a certain
- source. One is strongly urged to follow the guidelines in the article
- How_to_find_sources(READ_THIS_BEFORE_POSTING), available via anonymous
- ftp from rtfm.mit.edu (18.70.0.224):
-
- /pub/usenet/comp.sources.wanted/H_t_f_s_(R_T_B_P)
-
- Note: You should try to use hostnames rather than ip addresses since
- they are much less likely to change.
-
- Also available from mail-server@rtfm.mit.edu by sending a mail
- message containing:
-
- send usenet/comp.sources.wanted/H_t_f_s_(R_T_B_P)
-
- Send a message containing "help" to get general information about the
- mail server.
-
- If you don't find what you were looking for by following these
- guidelines, you can post a message to comp.sources.wanted.
-
-
- 4.02: Are there any ftp sites?
-
- Below are some ftp sites that are supposed to have RS/6000 specific
- software. I haven't verified all the entries.
-
- US sites:
- aixpdslib.seas.ucla.edu 128.97.2.211 pub
- acd.ucar.edu 128.117.32.1 pub/AIX
- acsc.acsc.com 143.127.0.2 pub
- byron.u.washington.edu 128.95.48.32 pub/aix/RS6000 (older stuff)
- lightning.gatech.edu 128.61.10.8 pub/aix
- tesla.ee.cornell.edu 128.84.253.11 pub
-
- European sites:
- nic.funet.fi 128.214.6.100 pub/unix/AIX/RS6000
- iacrs1.unibe.ch 130.92.11.3 pub
- files1zrz.zrz.TU-Berlin.DE 130.149.4.50 pub/aix
-
- The first one is dedicated to software running on AIX. It might not
- always be the latest versions of the software, but it has been ported to
- AIX (normally AIX version 3 only). Once connected, you should retrieve
- the files README and pub/ls-lR.
-
- Please use the European sites very sparingly. They are primarily to
- serve people in Europe and most of the software can be found in the US
- sites originally.
-
- If you know of other sites with AIX archives please let me know so
- I can include them here.
-
-
- 4.03: General hints
-
- In general, curses based applications should be linked with -lcurses and
- _not_ with -ltermlib. It has also been reported that compiling with
- -DNLS helps curses based programs.
-
- Note that the RS/6000 has two install programs, one with System V flavor
- in the default PATH (/etc/install with links from /usr/bin and /usr/usg),
- and one with BSD behavior in /usr/ucb/install.
-
-
- 4.04: GNU Emacs
-
- Version 18.57 of GNU Emacs started to have RS/6000 support. Use
- s-aix3-2.h for AIX 3.2. Emacs is going through rapid changes recently.
- Current release is 19.x.
-
- Emacs will core-dump if it is stripped, so don't strip when you install
- it. You can edit a copy of the Makefile in src replacing all 'install -s'
- with /usr/ucb/install.
-
-
- 4.05: gcc/gdb
-
- GNU C version 2.0 and later supports the RS/6000, and compiles straight
- out of the box. You may, however, experience that compiling it requires
- large amounts of paging space.
-
- Compiling gcc and gdb requires a patch to the 'as' assembler. Call
- IBM software support and request patch for apar IX26107 (U409205).
-
- gcc has undergone many changes lately and the current version is 2.4.x.
- gdb is at 4.8.
-
- If your machine crashed when trying to run gdb 4.7, call software support
- and request ptf U412815.
-
-
- 4.06: GNU Ghostscript
-
- The PostScript interpreter GNU Ghostscript Version 2.3 and later supports
- the RS/6000 and can be found on various ftp sites. Current version is 2.5.2.
-
- 4.07: TeX
-
- TeX can be retrieved via ftp from ftp.uni-stuttgart.de.
- Be sure to use a recent C compiler (01.02.0000.0013) and you can compile
- with optimization.
-
-
- 4.08: perl
-
- Current version is 4.035 and compiling with cc should give no problems.
- If you use bsdcc, do not use perl's builtin malloc(), edit config.H to
- '#define HAS_SYMLINK', and you should be on your way. Bill Wohler tells
- me that perl will run without editing config.H and with cc as well. So
- just say no to use perl's malloc().
-
- Doug Sewell <DOUG@YSUB.YSU.EDU> adds:
-
- In addition to not using the perl-provided malloc, when asked if you
- want to edit config.sh, change 'cppstdin' from the wrapper-program
- to '/lib/cpp'.
-
- The perl wrapper name is compiled into perl, and requires that you keep
- that file in the source directory, even if you blow away the rest of
- the source. /lib/cpp will do the job by itself. I suspect this will
- be fixed in perl 4.0pl11 Configure script.
-
- Also, beware if you have gdbm installed per the instructions in the FAQ.
- Gdbm is compiled with bsdcc; perl (as I installed it, anyway) was built
- with cc, so I used the IBM-provided ndbm routines.
-
-
- 4.09: X-Windows
-
- IBM has two releases of 3.2.3. The base version has X11R4 and Motif 1.1 and
- the extended version has X11R5 as AIXwindows 1.2.3.
-
- Those of you on 3.1 might want to read the following. Some people from
- IBM have released patches for the X11R4 distribution tape available via
- anonymous FTP from export.lcs.mit.edu. Note that as with the RT, there
- is no X11R4 server to build, just the libraries.
-
- From: Frederick Staats <fritz@saturn.ucsc.edu>
-
- In mit/config/ibm.cf
- Updated OSName (AIX 3.1.6)
-
- In mit/config/site.def
- Changed ProjectRoot /usr/local/X11R5
- Added ManSuffix (to change suffix from n to 1)
- Added InstallXdmConfig YES and
- InstallXinitConfig YES
- Added HasXdmAuth YES (Copied mit/lib/Xdmcp/Wraphelp.c to source tree)
- Added InstallFSConfig YES
-
- In mit
- nohup make BOOTSTRAPCFLAGS="-Daix" World &
- nohup make install &
- nohup make install.man &
-
- Please note that there are known bugs in Xibm server of the X11R5
- release that prevent "xdm" from being usable. A simple patch (that I'm
- not free to redistribute) should be out very soon through the regular
- contrib channels.
-
- Also note, that some files in mit/extensions/lib/PEX/c_binding are very
- large and are told to require at least 150 Mb paging space to compile.
-
-
- From: pierce@claven.cambridge.ibm.com (Andrew Pierce)
-
- The following bugs have been reported with the R5 server and are fixed
- (hopefully!), and the fixes have been sent to MIT for inclusion in the
- first patch set:
-
- - BackingStore does not seem to work (twm menus blank and xman pulldown
- menus only display once).
- - Problem in keyclick restoration/bell
- - Problem with option parsing (-bs does not turn off backing store).
- - Problem with setting non-blocking I/O on X Connections
- (resizing xcalc wedges the server).
- - xdm core dumps.
-
- There is also a problem in initializing the display adapter when the R5
- server is brought up from a poweroff condition on the RISC/6000. We are
- still investigating this problem. A temporary workaround is to run the
- AIX product server first, which seems to do the right thing in
- initializing the adapter, then run the R5 server.
-
- As for whether the OSF/Motif window manager will work with the R5
- server, I don't know of any reasons why it shouldn't, and I've run it
- now and again, although tvtwm is my preferred wm.
-
-
- From: cary@jove.Colorado.EDU (John R. Cary)
-
- There are (at least) three problems.
-
- 1) The fonts as built with the IBM (Greening) patches of X11R4 do not
- work with the AIX3.1.5 server because (according to mleisher@NMSU.Edu)
- they likely have the wrong byte order.
- 2) The ibm fonts that come with AIX3.1.5 must be converted to .pcf fonts
- to work with the X11R5 server.
- 3) Info always looks for its fonts (in /usr/lpp/info/X11fonts)
- regardless of which server you are using. So if you use the X11R5
- server, info loads the AIX3.1x .snf fonts, which do not work with the
- X11R5 server.
-
- Using the X11R5 server means that you must fix problems 2 and 3.
-
- My fix of 2: I first got snftobdf from the X11 contrib directory on
- export.lcs.mit.edu and built it. I then made a directory:
- mkdir /usr/local/X11R5/lib/X11/fonts/ibm
- which I added to my font path with xset in my .xinitrc file.
- Then I constructed the chosen .pcf fonts one at a time:
- cd /usr/lib/X11/fonts
- snftobdf Rom10.snf | bdftopcf >/usr/local/X11R5/lib/X11/fonts/ibm/Rom10.pcf
-
- I actually did this with this script:
-
- #!/bin/ksh
- # A script to convert desired AIX fonts to .pcf fonts for X11R5
- for arg in 6x10 Bld14 Rom14 Rom6 6x12 Bld17 Rom16 Rom7 vtbold 6x13
- Erg 14 Rom17 Rom8 vtdhbot 8x13 Itl14 Rom22 cursor vtdhtop 8x13B Rom10
- Rom28 fixed vtdwidth 9x15 Rom11 Rom29 Vtsingle
- do
- echo "snftobdf $arg.snf | bdftopcf >/usr/local/X11R5/lib/X11/fonts/ibm/$arg.pcf"
- snftobdf $arg.snf | bdftopcf >/usr/local/X11R5/lib/X11/fonts/ibm/$arg.pcf
- done
-
- My fix of 3: was simply to rename the info fonts directory so that info
- could not find it and load it. Another fix (I am told) is to set one's
- font path with /usr/lpp/info/X11fonts last so that another fonts is
- loaded first. This did not work for me, perhaps because of differences
- in my fonts.alias file.
-
- If you want to continue using the AIX3.1x server and you want to use the
- X11R4 fonts, you must convert these fonts to the correct bit order. I
- did not do this, and so DO NOT KNOW the correct procedure. I imagine
- that once the correct bit order is determined, one can use snftobdf to
- convert fonts back to bdf format then bdftosnf with correct AIX3.1 bit
- order to get things correct with the aix3.1x server.
-
-
- 4.10: bash
-
- Bash is ported and has some patches on prep.ai.mit.edu. The current
- version is 1.12 and seems to work fine.
-
-
- 4.11: Elm
-
- A very nice replacement for mail. Elm should be pretty straightforward,
- the only thing to remember is to link with -lcurses as the only
- curses/termlib library. You may also run into the problem listed under
- point 2.13 above.
-
-
- 4.12: Oberon 2.2
-
- From: afx@muc.ibm.de (Andreas Siegert)
-
- Oberon is Wirth's follow on to Modula-2, but is not compatible. A free
- version of Modula-3 is available from DEC/Olivetti at
- gatekeeper.dec.com. This is not a Modula-2 replacement but a new
- language. There are currently two M2 compilers for the 6000 that I know
- of. One from Edinburgh Portable Compilers, +44 31 225 6262 (UK) and the
- other from Gardens Point compiler +41 65 520311 (Switzerland).
-
- Oberon can be obtained via anonymous ftp from neptune.inf.ethz.ch
- (129.132.101.33) under the directory Oberon/RS6000 or gatekeeper.dec.com
- (16.1.0.2).
-
-
- 4.13: Kermit
-
- Get it from watsun.cc.columbia.edu (128.59.39.2) in
- kermit/bin/cku188.tar.Z. Uncompress, untar, and "make rs6000", and it
- works.
-
-
- 4.14: Gnu dbm
- From: doug@cc.ysu.edu (Doug Sewell)
-
- Here's the fixes for RS/6000's:
-
- apply this to testgdbm.c:
- 158c158
- < char opt;
- ---
- > int opt;
- 166c166
- < while ((opt = getopt (argc, argv, "rn")) != -1)
- ---
- > while ((opt = getopt (argc, argv, "rn")) != EOF)
-
- Apply this to systems.h:
- 111a112,114
- > #ifdef RS6000
- > #pragma alloca
- > #else
- 112a116
- > #endif
-
- To compile, edit the Makefile. Set CC to bsdcc (see /usr/lpp/bos/bsdport
- if you don't have 'bsdcc' on your system) and set CFLAGS to -DRS6000 and
- whatever options (-g, -O) you prefer. Don't define SYSV.
-
-
- 4.15: tcsh
- From: cordes@athos.cs.ua.edu (David Cordes)
-
- tcsh is available from tesla.ee.cornell.edu (pub/tcsh-6.00 directory)
- Compiles with no problems. You must edit /etc/security/login.cfg to
- permit users to change to this shell (chsh), adding the path where the
- shell is installed (in my case, /usr/local/bin/tcsh).
-
-
- 4.16: Kyoto Common Lisp
-
- The sources are available from cli.com. The kcl package is the needed
- base; also retrieve the latest akcl distribution. akcl provides a
- front-end that "ports" the original kcl to a number of different
- platforms. The port to the 6000s worked with no problems. However, you
- must be "root" for the make to work properly with some memory protection
- routines.
-
-
- 4.17: Tcl/Tk
-
- Current versions: Tcl, 6.7; Tk, 3.2. Available from sprite.berkeley.edu.
- I seem to be unable to connect to this site recently.
-
-
- 4.18: Expect
- From: Doug Sewell <DOUG@YSUB.YSU.EDU>
-
- To build the command-interpreter version, you must have the tcl library
- built successfully. The expect library doesn't require tcl. Note:
- Expect and its library are are built with bsdcc, so applications using
- the library probably also need to be developed with bsdcc.
-
- I ftp'd expect from ftp.cme.nist.gov.
-
- You need to change several lines in the makefile. First you need
- to customize source and target directories and files:
- #
- TCLHDIR = /usr/include
- TCLLIB = -ltcl
- MANDIR = /usr/man/manl (local man-pages)
- MANEXT = l
- BINDIR = /u/local/bin
- LIBDIR = /usr/lib
- HDIR = /usr/include
- ...
- Next set the compiler, switches, and configuration options:
- #
- CC = bsdcc
- CFLAGS = -O
- ...
- PTY_TYPE = bsd
- ...
- INTERACT_TYPE = select
- ...
- Then you need to make these changes about line 90 or so:
- comment out CFLAGS = $(CLFLAGS)
- un-comment these lines:
- CFLAGS = $(CLFLAGS) $(CPPFLAGS)
- LFLAGS = ($CLFLAGS)
-
- Then run 'make'.
-
- You can't run some of the examples without modification (host name,
- etc). I don't remember if I ran all of them or not, but I ran enough
- that I was satisfied it worked.
-
-
- 4.19: Public domain software on CD
- From: mbeckman@mbeckman.mbeckman.com (Mel Beckman)
-
- The Prime Time Freeware CD collection is a package of two CD's and docs
- containing over THREE GIGABYTES of compressed Unix software. It costs $69
- from Prime Time Freeware, 415-112 N. Mary Ave., Suite 50, Sunnyvalek, CA
- 94086. Phone 408-738-4832 voice, 408-738-2050 fax. No internet orders as
- far as I can tell.
-
- I've extracted and compiled a number of the packages, and all have worked
- flawlessly so far on my 220. Everything from programming languages to 3D
- solid modeling is in this bonanza!
-
- Ed: The O'Reilly book, Power Unix Tools, also contains a CD-ROM with lots
- of useful programs compiled for the RS/6000, among other platforms.
-
- ______________________________________________________________________________
- 5.00: Third party products
-
- [ Editor's note: Entries in this section are edited to prevent them from
- looking like advertising. Prices given may be obsolete. Companies
- mentioned are for reference only and are not endorsed in any fashion. ]
-
-
- 5.01: IBM list of third party products
- From: marc@ibmpa.awdpa.ibm.com (Marc Pawliger)
-
- Marc Pawliger post an extensive list periodically to this newsgroup
- about various third party hardware products for the RS/6000. This list
- can also be ftp'd from ibminet.awdpa.ibm.com.
-
-
- 5.02: Disk/Tape/SCSI
- From: anonymous
-
- - Most SCSI disk drives work (IBM resells Maxtor, tested Wren 6&7 myself);
- use osdisk when configuring (other SCSI disk).
-
- - Exabyte: Unfortunately only the ones IBM sells are working.
- A few other tape drives will work;
- use ostape when configuring (other SCSI tape).
-
- - STK 3480 "Summit": Works with Microcode Version 5.2b
-
-
- From: bell@hops.larc.nasa.gov (John Bell)
-
- In summary, third party tape drives work fine with the RS/6000 unless
- you want to boot from them. This is because IBM drives have 'extended
- tape marks', which IBM claims are needed because the standard marks
- between files stored on the 8mm tape are unreliable. These extended
- marks are used when building boot tapes, so when the RS/6000 boots, it
- searches for an IBM tape drive and refuses to boot without it.
-
-
- From: amelcuk@gibbs.clarku.edu (Andrew Mel'cuk)
-
- The IBM DAT is cheap and works. If you get all the patches beforehand
- (U407435, U410140) and remember to buy special "Media Recognition
- System" tapes (Maxell, available from APS 800.443.4461 or IBM #21F8758)
- the drive can even be a pleasure to use. You can also flip a DIP switch
- on the drive to enable using any computer grade DAT tapes (read the
- hardware service manual).
-
- Other DAT drives also work. I have tried the Archive Python (works) and
- experimented extensively with the Archive TurboDAT. The TurboDAT is a
- very fast compression unit, is not finicky with tapes and doesn't
- require the many patches that the IBM 7206 does. Works fine with the
- base AIX 3.2 'ost' driver.
-
-
- From: pack@acd.ucar.edu (Daniel Packman)
-
- >>You can boot off of several different brands of non-IBM Exabytes.
- >>At least TTI and Contemporary Cybernetics have done rather complete
- >>jobs of emulating genuine IBM products.
-
- A model that has worked for us from early AIX 3.1 through 3.2 is a TTI
- CTS 8210. This is the old low density drive. The newer 8510 is dual
- density (2.2gig and 5gig). Twelve dip switches on the back control the
- SCSI address and set up the emulation mode. These drives have a very
- useful set of lights for read-outs (eg, soft error rate, tape remaining,
- tape motion, etc.).
-
-
- 5.03: Memory
-
- I got a flyer from Nordisk Computer Services (Portland 503-598-0111,
- Seattle 206-242-7777). Some sample prices:
-
- 16 MB Upgrade Kit $ 990
- 32 MB Upgrade Kit $1,700
- 64 MB Upgrade Kit $3,300
-
- 5xx machines have 8 memory slots, 3x0s have 2, and 3x5s have only one.
- You need to add memory in pairs for the 5xx machines.
-
-
- 5.04: Others
- From: anonymous
-
- IBM RISC System/6000 Interface Products
-
- National Instruments Corporation markets a family of instrumentation
- interface products for the IBM RISC System/6000 workstation family. The
- interface family consists of three products that give the RISC
- System/6000 connectivity to the standards of VMEbus, VXIbus and GPIB.
- For more information, contact National Instruments Corporation,
- 512-794-0100 or 1-800-433-3488.
-
-
- 5.05: C++ compilers
-
- Several C++ compilers are available. Glockenspiel and Greenhills were
- amongst the first vendors. I received e-mail that Glockenspiel may now
- be part of Computer Associates. xlC++ is available from IBM. For gcc
- enthusiasts, there is g++. Comeau Computing (718-945-0009) offers
- Comeau C++ 3.0 with Templates.
-
- ______________________________________________________________________________
- 6.00: Miscellaneous other stuff
-
- 6.01: Can I get support by e-mail?
-
- AIXServ is a service tool that allows users connected to the internet
- and usenet to report problems using unix mail. AIXServ is available
- at no charge, to request a copy of this package send a note with the
- subject of "package" to one of the following e-mail addresses:
-
- Internet: aixbugs%aixserv@uunet.UU.NET
- Usenet: uunet.UU.NET!aixserv!aixbugs
- aixbugs@austin.ibm.com (transactions request)
- services@austin.ibm.com (administrivia)
- aasc@austin.ibm.com (test cases under 100KB)
-
- The package will be mailed electronically and will contain instructions
- for using AIXServ.
-
- Using AIXServ, customers have the ability to 1) open new problem reports
- 2) update existing problem records 3) request a status update on an
- existing problem record. Currently this service is available to United
- States customers only.
-
- Thomas Braunbeck reported that German customers with ESS (extended
- software service) contracts can get support by e-mail too. They can
- obtain information by sending mail with Subject: help to
- aixcall@aixserv.mainz.ibm.de.
-
- Various flavors of service offerings are available. Contact your IBM rep
- for details.
-
-
- 6.02: List of useful faxes
-
- You can get some useful info from these faxes by dialing IBM's Faxserver
- at 1-800-IBM-4FAX. If you're calling for the first time, push 3 then 2
- to request a list of RS/6000 related faxes.
-
- document number Title
- --------------- -----------------------------------------------------
- 1453 Recovering from LED 518 in AIX 3.2
- 1457 Recovering from LED 552 in AIX 3.1 and 3.2
- 1461 Alternative Problem Reporting Methods
- 1470 Recovering from LED 223/229, 225/229, 233/235, 221/229, or 221
- 1537 How to Get AIX Support
- 1719 Performance Analyzer/6000
- 1721 Recovering from LED 553 in AIX 3.1 and 3.2
- 1746 Recovering from LED 551 in AIX 3.1 and 3.2
- 1755 Recovering Volume Groups
- 1802 Repairing File Systems with fsck in AIX 3.1 and 3.2
- 1803 How to Take a System Dump
- 1804 Setting Up a Modem With the RS/6000
- 1845 Using iptrace to Track Remote Print Jobs
- 1867 Clearing the Queuing System
- 1895 Removing/Replacing a Fixed Disk
- 1896 Tape Drive Densities and Special Files
- 1897 Tips on mksysb for AIX 3.2
- 1909 UUCP (BNU) Helpful Information
- 1910 Synchronizing Disk Names
- 1988 Recovering from LED 201 in AIX 3.1 and 3.2
- 1989 Recovering from LED 727 in AIX 3.2
- 1991 Recovering from LED c31 in AIX 3.1 and 3.2
- 2079 AIX 3.2.4
- 2121 AIX 3.2.4 Installation Tips
-
-
- 6.03: List of 3.2 ptfs
-
- A list of the latest ptfs for 3.2 is available for ftp at
- ibminet.awdpa.ibm.com.
-
-
- 6.04: Some RS232 hints
- From: graeme@ccu1.aukuni.ac.nz, sactoh0.SAC.CA.US!jak
-
- Q: How do you connect a terminal to the RS232 tty ports when not using
- the standard IBM cable & terminal transposer?
- A: 1- Connect pins 2->3, 3->2, 7->7 on the DB25's
- 2- On the computer side, most of the time cross 6->20 (DSR, DTR).
- Some equipment may require connecting 6, 8, and 20 (DSR, DCD, DTR).
-
- Also, pin 1 (FG) should be a bare metal wire and the cable should be
- shielded with a connection all the way through. Most people don't run
- pin 1 because pins 1 & 7 (SG) are jumpered on many equipment.
-
- When booting from diskettes, the port speed is always 9600 baud. If you
- use SMIT to set a higher speed (38400 is nice) for normal use, remember
- to reset your terminal before booting.
-
- Q: How do you connect a printer to the RS232 tty ports
- A: 1- Connect pins 2->3, 3->2, 7->7 on the DB25's
- 2- On the computer side, loop pins 4->5 (CTS & RTS)
-
-
- 6.05 What publications are available for AIX and RS/6000?
-
- The following are free just for the asking:
-
- 1. RS/Magazine
- P.O. Box 3272
- Lowell, MA 01853-9876
- e-mail: aknowles@expert.com (Anne Knowles, editor)
-
- 2. AIXpert
- IBM Corporation
- Mail Stop 36
- 472 Wheelers Farms Road
- Milford, CT 06460
- FAX: (203) 783-7669
-
- 3. RiSc World
- P.O. Box 399
- Cedar Park, TX 78613
- FAX: (512) 331-3900
- Usenet: {cs.utexas.edu,execu,texbell}!pcinews!rsworld
-
-
- These manuals should be available from your favorite IBM office.
-
- SC23-2204-02 Problem Solving Guide
- SC23-2365-01 Performance Monitoring and Tuning Guide for AIX 3.2
- SA23-2629-07 Service Request Number Cross Reference, Ver 2.2
- SA23-2631-05 Diagnostic Programs: Operator Guide
- SA23-2632-05 Diagnostic Programs: Service Guide
- SA23-2643-01 Hardware Technical Reference: General Information
- SA23-2646-01 Hardware Technical Reference: Options and Devices
-
-
- 6.06: Some acronyms
-
- APAR - authorized program analysis report
- BOS - Basic Operating System
- DCR - design change request
- LPP - Licensed Program Product
- ODM - Object Database Manager
- PRPQ - programming request for price quotation
- PTF - Program Temporary Fix
- SMIT - System Management Interface Tool
-
-
- 6.07: How do I get this by mailserver or ftp?
-
- Since the articles are crossposted to news.answers, any archive carrying
- that newsgroup will also have these articles. In particular, try
- rtfm.mit.edu in the directory pub/usenet/news.answers. This FAQ is
- archived as "aix-faq/faq/part[1-3]".
-
-
- 6.08: Where can I send suggestions for tools?
-
- If you have any suggestions or comments about tools, whether currently or
- desirable to be in AIX, send a note to aix_tool_ideas@austin.ibm.com.
-
- _____________________________________________________________________________
- 7.00: Contributors
-
- The following persons have contributed to this list. If you want to
- contribute anonymously, just let me know - but do tell me who you are.
- I apologise if I missed out anyone.
-
- Thank you all, this would definitely not be the same without _your_ input.
-
- Rudy Chukran <chukran@austin.VNET.IBM.COM>
- Christopher Carlyle O'Callaghan <asdfjkl@wam.umd.edu>
- Poul-Henning Kamp <phk@data.fls.dk>
- Richard Wendland <richard@praxis.co.uk>
- Ge van Geldorp <ge@dutlru2.tudelft.nl>
- Chris Jacobsen <jacobsen@sbhep2.phy.sunysb.edu>
- Peter Jeffe <peter@ski.austin.ibm.com>
- Jean-Francois Panisset <panisset@thunder.mcrcim.mcgill.edu>
- John Cary <cary@boulder.colorado.edu>
- Vijay Debbad <vijay@ingres.com>
- Dick Karpinski <dick@ccnext.ucsf.edu>
- Konrad Haedener <haedener@iac.unibe.ch>
- Doug Sewell <DOUG@YSUB.YSU.EDU>
- David Cordes <cordes@athos.cs.ua.edu>
- Graeme Moffat <g.moffat@aukuni.ac.nz>
- Andrew Pierce <pierce@claven.cambridge.ibm.com>
- Stephen Linam <sdl@glasnost.austin.ibm.com>
- Jerome Park <jerome%aixserv@uunet.UU.NET>
- Konrad Haedener <haedener@iacrs1.unibe.ch>
- Steve Roseman <lusgr@chili.CC.Lehigh.Edu>
- John Burton <burton@asdsun.larc.nasa.gov>
- Thierry Forveille <FORVEILL@FRGAG51.BITNET>
- Joubert Berger <afc-tci!joubert>
- Minh Tran-Le <tranle@intellicorp.com>
- Paul Amaranth <amaranth@vela.acs.oakland.edu>
- Mark Whetzel <markw@airgun.wg.waii.com>
- Daniel Packman <pack@acd.ucar.edu>
- Ken Bowman <bowman@uiatma.atmos.uiuc.edu>
- Cary E. Burnette <kerm@mcnc.org>
- Christophe Wolfhugel <wolf@grasp1.univ-lyon1.fr>
- Leonard B. Tropiano <lenny@aixwiz.austin.ibm.com>
- Bill Wohler <wohler@sap-ag.de>
- James Salter <jsalter@ibmpa.awdpa.ibm.com>
- Witold Jan Owoc <witold@enme.ucalgary.ca>
- Marc Kwiatkowski <marc@ultra.com>
- Ronald S. Woan <woan@exeter.austin.ibm.com>
- Mijan Huq <huq@hagar.ph.utexas.edu>
- Herbert van den Bergh <hbergh@nl.oracle.com>
- Michael Stefanik <mike@bria.UUCP>
- John F. Haugh <jfh@rpp386.cactus.org>
- Ed Kubaitis <ejk@ux2.cso.uiuc.edu>
- Jaime Vazquez <jaime@austin.vnet.ibm.com>
- Bjorn Engsig <bengsig@oracle.com>
- Frank Kraemer <kraemerf@franvm3.VNET.IBM.COM>
- Andreas Siegert <afx@muc.ibm.de>
- Thomas Braunbeck <braunbec@aixserv.mainz.ibm.de>
-
- _____________________________________________________________________________
- Epilogue
-
- If you have any comments about this list, please mail them to me, as I
- cannot guarantee to pick up posted changes. All input should be emailed
- to me at basto@cactus.org on the Internet. You can also try using
- cs.utexas.edu!mavrick!luis.
-
- I work for Computer Sciences Corp. and I am doing this on my own time.
- Please do not ask me questions that should be asked to IBM. If you have
- any problems, please ask IBM or post your questions to this newsgroup.
- I might respond to the latter.
-
- Opinions expressed here have nothing to do with either IBM or CSC.
-
- All trademarks are the property of their respective owners.
-
- --
- Luis Basto
- Computer Sciences Corporation
- Internet: basto@cactus.org
- Usenet: cs.utexas.edu!mavrick!luis
-