information technology central services at the university of michigan TuesdayMay132008

GPCC Home

SSH Information

Login Service

Statistics and Computation Service

PowerAdmin Service

Account Status

Login Pool FAQ

This list is designed to answer some of the common questions about the login servers at the University of Michigan, how they are run, and how to use some of the features of the login servers. If you have any questions about how this FAQ is arranged, feel free to send the ITCS Login Admins (itd-login-admin@umich.edu) a message explaining your concerns.
If you have any questions about the login servers that aren't covered by this FAQ, you can ask questions of the consultants at online.consulting@umich.edu.


Table of Contents


Login Pool FAQ


  • 1. General questions about the ITCS Login Service

    The ITCS Login Service is a pool of machines that have been set aside for use by the university community. You may contact the administrators by email at: itd-login-admin@umich.edu.

    • 1.1. The ITCS Login Service setup

      • 1.1.1. What are the names and IP addresses of the Login servers?

        The ITCS Login Pool, login.itd.umich.edu, currently (19 September, 2006) consists of the following machines:

        rygar.gpcc.itd.umich.edu 141.211.2.202
        zektor.gpcc.itd.umich.edu 141.211.2.203
        millipede.gpcc.itd.umich.edu 141.211.2.204
        amidar.gpcc.itd.umich.edu 141.211.2.209
        mspacman.gpcc.itd.umich.edu 141.211.2.210
        arkanoid.gpcc.itd.umich.edu 141.211.2.211
        rastan.gpcc.itd.umich.edu 141.211.2.215
        vanguard.gpcc.itd.umich.edu 141.211.2.216
        xexex.gpcc.itd.umich.edu 141.211.2.217
        asteroids.gpcc.itd.umich.edu 141.211.2.218

        Note that the Pool may change for any number of reasons; For example, machines may be rotated out for maintenance. If you wish to discover the IP addresses of the Login machines any given time, you can do so with the host command. The command

        host login.itd.umich.edu

        will return a list of IP addresses corresponding to the machines in the pool at the moment. If you wish to discover a machine's name, you can again use the host command, this time with an IP address argument. For example,

        host 141.211.2.210

        would tell you that 141.211.2.210 corresponds to mspacman.gpcc.itd.umich.edu.

        If you really must know the names of all the machines in the Pool right away, you can use this shell script:

        #!/bin/sh
        LOGINADDRS="`host login.gpcc.itd.umich.edu | grep 'has address' | awk '{print $4}' `"
        echo "\nThe Login Pool is:\n"
        
        OUT=
        for ADDR in  $LOGINADDRS ; do 
          NAME=`host $ADDR | awk '{print $5}'` 
          OUT="$OUT\n  $NAME.\t$ADDR" 
        done
        
        # N.B.: The argument to 'sed' uses tabs between the slashes, the HTML may mangle them.
        echo $OUT | sort -n -t '.' -k 6 -k 7 -k 8 -k 9  | /usr/bin/sed -e 's/[.]	/	/'
        

      • 1.1.2. What operating system are they running?

        The Login machines run a custom build of Linux, based on Linux From Scratch called UMCE Linux.

      • 1.1.3. Are there alternatives?

        The alternatives involve getting a joint ITD/CAEN account from the CAEN Office in the Media Union, which gives you access to the CAEN machines in the Media Union Site.
        It is also occassionally possible to get an account on a departmental machine, though not all departments have Un*x machines, and not all departments that do have Un*x machines offer accounts to all of their students, staff, and faculty.

      • 1.1.4. What software is installed on the ITCS Login Service?

        A wide variety of software is accessible on the Login Pool under the /usr/um/bin directory. Note that the installed software is supported only in its system-wide configuration, but users are welcome to use the programs otherwise. For example, if you wish to use the installed version of Pine to read mail stored on non-ITCS servers you are welcome to do so. ITCS (4-HELP et al.) cannot assist you if you have problems with such, however. The Login team solicits suggestions for packages users would like installed. If you have a suggestion, email it to the Login administrators at itd-login-admin@umich.edu.

    • 1.2. Specific commands

      • 1.2.1. How do I change my password?

        The main way to do this on the ITCS Login Service - easiest is to use the passwd uniqname (where uniqname is your uniqname) command from the % prompt. If you type passwd uniqname, it will prompt you for your old password, and then your new one twice.
        The kpasswd command will also work to change your password.

      • 1.2.2. How do I change my full name?

        You can change your full name (what finger gives out as your full name, and what Pine uses as your full name if you haven't explicitly changed it in Pine) with the command:

        chfn uniqname

        That command will ask you for a new full name, a location, and a phone number. If all you want to change is your full name, then just hit the Return key for the other questions.

      • 1.2.3. How can I use tcsh as my shell?

        There's a fairly simple way to do this, but there is no official way to do this for a variety of reasons.
        The solution is to add these lines to the end of your .login file:

                  if ( $SHELL == "/bin/csh" ) then
                          foreach i ($path)
                                  if ( -x $i/tcsh ) then
                                          setenv SHELL $i/tcsh
                                          set shell=$i/tcsh
                                          exec $i/tcsh -l
                                  endif
                          end
                  endif

        This sets the shell to tcsh if (and only if) it can find a copy of tcsh on the machine.
        If you really need tcsh to be the login shell, then you should start it with the -l flag as it is done above.

      • 1.2.4. How do I get the standard configuration back?

        If your account has somehow been misconfigured, you can get back the standard configuration with the command:

        /usr/bin/redot
        (For legacy Solaris servers, it remains: /usr/itd/bin/redot)

        If you only need a specific configuration file, you can limit it to that file by specifying the file on the command line:

        /usr/itd/bin/redot .cshrc

        This is usually necessary because someone deleted the files by mistake, or because someone has old files, and they need to be updated. The files affected are: .cshrc, .login, .logout, .xsession, .Xresources, .mwmrc, .principals, .profile, .tvtwmrc, .twmrc, .zephyr.subs, .zephyr.vars, and AppleVolumes.

      • 1.2.5. What is Zephyr ?

        The Zephyr service is a Kerberos-aware "instant messaging service" developed at M.I.T.. It publishes your location to others at your request. There are several significant differences between finger and the Zephyr service. Some differences are:

        • Zephyr is an "opt-in" service, that is, you must run the Zephyr client for others to be notified about your login.
        • The Zephyr client runs in the background, and can notify you when people you specify log in or out. This works similar to a "buddy list"
        • Only users authenticated to the UMICH.EDU Kerberos realm can receive information about you via the ITCS Zephyr service. The former finger service was available to anyone.
        Unfortunately, the manual pages for the Zephyr programs are much better as a reference than a "how-to" guide. To get started with Zephyr, you should try the following:

        • Run the zwgc command. You need to run this at each login in order to publish your login information to other Zephyr users, so it's probably best to run this from your .login file in your IFS home directory.
        • Run zlocate to find a user. If the user you are attempting to find isn't running zwgc, you will not be able to find him/her. This is the intended behaviour.
        • If you'd like to be notified immediately when another user logs on (or off), run znol to recieve notifications about other users' logins and logouts. Only users specified by uniqname in your .anyone file are watched for, and only users who run zwgc will be seen. See the manual page for znol for more details.
          You might want to run znol on from your .login file, if you want this to be automatic.
        • If you are running zwgc, you can receive authenticated messages from others if they use the zwrite command.
        • Once you're comfortable with Zephyr, you can fine tune it using the zctl command.
      • 1.2.6. How do I transfer files to and from the Login Pool?

        There are a few methods of doing this.

        If you have one of the Internet Access Kits supplied by the University, you can use Fetch (on the Mac) or Rapid Filer (on a Windows machine). Connect these to sftp.itd.umich.edu, using your uniqname as login, and your password as password.

        A better alternative is SFTP ("secure ftp"). This is a feature of SSH. GUI clients are available for Mac OS X and Windows. Currently ( 19 September 2006) SFTP does not have University-wide support and no GUI client is available for Mac OS 9, but it is rapidly becoming a de facto standard.

      • 1.2.7. How do I change my default editor from pico to vi?

        The best method for doing this is to change it in your .login file. Just add the following line to the end of your .login file:

        setenv EDITOR vi

        That will change the default editor to vi for you.

      • 1.2.8. How can I keep that login intro message from showing up?

        This is generally not recommended, because the message of the day is there to inform you of changes and important announcements. However, if you really don't want to see this message, there is a fairly simple way to make it go away. The way you disable the message of the day is with a file in your home directory called ".hushlogin". You can create this file with the command:

        touch ~/.hushlogin

        You will then no longer see the message of the day. If you want to reenable the message, just remove the file with the command:

        rm ~/.hushlogin

      • 1.2.9. How can I make a screen with more lines than 24?

        The resize command in Solaris 2 isn't quite as useful as the one in the previous version of the OS, so what I would do is create a script in a bin directory... And use that. To do that, I would do the following:

        Make a bin directory if you don't have one:
        mkdir ~/bin
        Edit a file called ~/bin/rs, and add the following lines:

                      #!/bin/csh 
                      eval `resize`

        Then change the permissions on the file to make it executable with the command:
        chmod 700 ~/bin/rs
        Then, every time you find yourself with the wrong screen size, just type rs and it will resize the screen for you.
        Note that the quotes in the above command are back-quotes, not normal apostrophes.

        You can also accomplish the same thing by adding this line to the end of your .cshrc file:

        alias rs eval `resize`

      • 1.2.10. How can I find my recent logins?

        When you log into one of the Login or Statistics Servers, you may notice a line like the following:

        Last login: Wed Sep 16 14:35:50 1998 on frogger.rs.itd.umich.edu
        from galaga.rs.itd.umich.edu (pts/6)

        This tells you which machine you last logged in to in the Pool, and from which host. The command that takes care of this is called lslogins, and you can use it to find out where you have logged in from recently. This is valuable information; If you suspect someone has obtained your account's password, you can check to see from where your account has been used, and when. If you suspect someone has been using your account, you should notify the ITD User Advocate immediately. The phone number for the User Advocate is 734-647-6396, and their email address is itdua@umich.edu. You should provide them with as much data as possible regarding the possible compromise of your account.

        The lslogins command can be used in a few different ways:

        lslogins -h

        This is an optional flag for the lslogins command which requests a short help message about the use of lslogins.

        lslogins -s

        The "-s" flag causes lslogins to truncate the name of the host that the user logged into to only the machine name, and not the fully qualified domain name. For instance, if you logged in from amidar.gpcc.itd.umich.edu, this flag would truncate that host name to amidar. This is to save space and prevent the text from wrapping on a display that is only 80 characters wide.

        lslogins -n <number>

        The "-n <number>" flag requests a given number of records returned. You should replace <number> with an actual number. (Do not include the < >). The default is 15 if the "-n" flag is not specified. If you use "-n 0" you will receive all records stored. Any numbers larger than the number of logins stored will return all the logins stored.

      • 1.2.11. Why can't I to use SSH RSA authentication to log in?

        RSA Authentication is disabled on the Login Pool's SSH daemon for two reasons:

        1. The Login Pool uses Kerberos, a software package for centralized identification, authentication, and authorization . Kerberos is the University standard for authentication.
        2. A user logged in via SSH RSA authentication would still need to authenticate via Kerberos in order to access his/her home directory. Some supported programs will not behave properly if the users' home directory is inaccessible.

    • 1.3. General Information

      • 1.3.1. How do I get a WWW Home page?

        See http://www.umich.edu/how-to-homepage.html.

      • 1.3.2. How do I look up someone's email address?

        If the person is at the University of Michigan, you can look up their entry in the Online Directory with the "ud" command. When you type ud, you get a * prompt. Some basic commands at the * prompt are:

        display uniqname
        --- displays the information for that person.

        display full name
        --- displays the info for that person, or if that matches more than one person, it will give you a list of people to choose from.

        modify uniqname
        --- This is how you change information in your entry.

        There are a lot more things that you can do in "ud". If you need to do more, your best bet is to read one of the pieces of documentation.

        You can also look up someone's Directory entry with the command:

        finger uniqname@umich.edu

      • 1.3.3. How do I find out how much IFS space I've used?

        The way to do this is with a simple command:

        fs quota ~

        That will give you something like this:

                    stargate% fs lq ~
                    Volume Name            Quota    Used    % Used   Partition 
                    user.adbisaro           30000   22559       75%         89%

        Which means that adbisaro's quota is 30000K, and he is using 22559K of that. 75% of his quota is being used, and on the disk that his home directory lives on, 89% of the space is being used.

      • 1.3.4. How do I get more (or less) IFS space?

        This is accessible via the Web at: https://www.umce.itd.umich.edu/umce-bin/umce Note that you can access this page from the Login Pool using the 'lynx' web browser with this command:

        lynx -cache=0 https://www.umce.itd.umich.edu/umce-bin/umce

      • 1.3.5. What if I want to use Gnu utilities instead of SysV?

        If you would like to use Gnu utilities for compiling, and for general environment feel, you can do it. Just add the following line to your .cshrc file:

        set path=( /usr/um/gnu/bin $path )

      • 1.3.6. How do I use file permissions in AFS?

        These permissions are the AFS Access Control Lists, or ACLs. You can set (and list) these with the fs command. To list the ACL for a particular directory, use the command:

        fs listacl directory

        To set the ACL for a directory, use:

        fs setacl directory user rlidwka

        where directory is the directory being changed. Remember that you can always use a period to indicate the current directory. user is the uniqname of the person (or group) being given access to the directory. rlidwka is any combination of that list of letters, which are explained below. Instead of all the letters rlidwka, you can also use the word all to indicate all permissions should be granted, or the word none, meaning this person should be given the default permissions. The permission letters mean:

        • r - Read access to files in the directory. (Also need Lookup)
        • l - Lookup access allows access to filenames in the directory.
        • i - Insert allows adding files to a directory.
        • d - Delete allows deletion of files from a directory.
        • w - Write allows writing to files in a directory.
        • k - locK allows locking of files. This permission should accompany write.
        • a - Administration allows changing permissions for the directory.

        user can be replaced by group, where group is a group of users (such as system:anyuser or system:authuser) which should all have the same permission.

  • 2. Email on the Login Service

      Pine and mh are the two email packages on the Login Service.

    • 2.1. Pine

      • 2.1.1. Pine says it can't save my configuration file. What can I do about it?

        This problem USUALLY means that your IFS Home Directory is over its quota. You can check this with the command:

        fs lq ~

        If you're "Used" portion is more than your "Quota" portion, then you are over your quota. You'll have to either make your quota larger, or delete some files to fix the problem.

      • 2.1.2. How can I sign my messages with some standard text?

        If you want to do this, all you have to do is create a file called .signature in your home directory, edit that file, and save it. Then, in Pine, press 'M' for "Main Menu", then 'S' for "Setup", then C for "Config". Look for a line that says "signature-file;" make sure the file name next to that line is the same as what you called your file (usually .signature, though some people shorten it to .sig for convenience.) As long as the file name and this line agree, all will be well, and that file will get added to the end of every message you send using Pine.
        To actually create the file, you can use the pico editor. You can do this with the command:

        pico ~/.signature

        Then put the text you want into that file, and quit the editor by hitting the Control key and X. Then say you want to save the file, and hit return to accept the default name. If you want to change it later, you can edit it once again with pico.

      • 2.1.3. How can I save email to my IFS Home Directory instead of IMAP space?

        To do this, you have to change some items in your Pine configuration. Go to the Main menu in Pine. From that, choose "Setup" by pressing the 'S' key. Then choose "Config" by pressing the 'C' key. Then you'll notice a section called "folder-collections" That section we want to change so that it looks like this:

        folder-collections     = mail/[]
                                 IMAP {u.imap.itd.umich.edu:143}mail/[]

        (Where 'u' is the first letter of YOUR uniqname)

        The next time you use pine, it will save (by default) to the first folder collection listed. If that's not the collection you want, then change it back in configuration.

    • 2.2. mh (thanks to Chuck Lever)

        MH is available on the Login Service in /usr/um/bin. It is unsupported, meaning that ITCS makes no guarantee that it will continue to be available, consultants can't answer questions about it, and there is no ITCS-specific documentation for it.

        MH on the login servers is configured to use KPOP to get mail from the IMAP machines. You can tell MH where your maildrop is by setting the MAILHOST environmental variable to be the domain name of your IMAP host. For instance, the user with the uniqname cel might type:

                setenv MAILHOST c.imap.itd.umich.edu
                                ^ ('c' is the first letter of the uniqname 'cel')

        This is a command you might want to add to your .cshrc. After typing this command, you can use the inc command to receive mail from IMAP mailbox into your inbox folder. man mh will display a summary of MH commands that you can use to begin exploring MH. O'Reilly&Assoc. publishes an excellent "nutshell" handbook on MH, available at many bookstores.

        Be careful about switching between a POP mail client like MH and an IMAP mail client like Pine. POP clients can only see mail items in IMAP's INBOX folder, and can only store mail in your IFS directory. If you want to move mail from other folders in your IMAP mailbox, forward the mail items to yourself, and inc the mail. Likewise, to get mail from IFS MH folders back to your IMAP mailbox, forward the mail to yourself, and process it with an IMAP client like Pine.

    • 2.3. General Information

      • 2.3.2. How can I filter email into folders based on content?

        A variety of limited solutions for this problem exist. None are perfect, but one or more may meet your needs. A few are discussed here; This is not meant to be an exhaustive list, only an overview of the most common or obvious choices.

        Pine has some filtering abilities. Pine is primarily a mail reader, and so its filtering ability is somewhat limited. Many people find it suffices for their needs, however. Read the internal documentation or visit the Pine homepage for instructions on using Pine's filtering rules. Procmail is more powerful. It is designed to be used in the model where you log into the same machine that contains your mail, either on its local disk, or its mail partition imported in some fashion. To use procmail, you would set up a .forward file to pipe your mail through procmail, which would look at a configuration file to find out what to do with your various messages as they arrive.

        This does NOT work on the login.itd.umich.edu machines, and never will. The Login Service does not receive users' mail. User mail is stored on the ITCS IMAP Service. It may be possible to save your mail to your IFS space, and invoke procmail to work upon the mail file(s), but this is clumsy and not automatic. Since procmail is a finicky program which can easily lose mail if the operator is not careful, it is not currently installed or supported. If you feel procmail may be the right (or only) solution for you, please send mail to itd-login-admin@umich.edu. Like Pine, MH, the Rand Mail Handler, doesn't process your mail when it comes in, but when you read it. This is available on the Login Service.
        As for other mail handlers, they are not being used for various reasons. Most of them are not used because the protocols they use to handle mail don't scale well to a user base of tens of thousands. Both Berkeley 'mail' and Elm suffer from these scaling problems.

      • 2.3.3. How can I check for new mail without going into Pine?

        Again, because the mail isn't stored on a file system "local" to the Login servers, this doesn't happen automatically. If you would like to have it happen for you, though, you can add this line to your .login file:

        imapcheck -v

        This will not only tell you if you have new mail, but also how many new messages you have waiting for you when you run Pine.

      • 2.3.4. How can I use PGP to ensure the privacy of my email?

        Get PGP, compile PGP, and run PGP...
        Otherwise, if you're not quite that paranoid, PGP-2.6.2 is on the login servers in /usr/um/bin and /usr/um/pgp-2.6.2. Check it out.

  • 3. News on the ITCS Login Service

    • 3.1. How do I read news with Pine?

        This is generally discouraged, because newsreading in Pine is buggy. trn or tin are suggested instead, but if your heart is set on Pine:

        Go to the Main menu, type 'S' for Setup, and 'C' for Config. Then use the arrow keys to get down to "nntp server" Hit 'A' to add a value, and specify news.itd.umich.edu as your server. Then hit to store the value, and hit 'E' to exit the configuration menu. Now, if you go into your folder list (by hitting 'L'), the bottom set of items should be news groups.

      < LI>3.2. What should I use to read news?

        This is up to your own personal preference. Many people prefer to read news with tin. This is because tin offers a fairly easy interface (that is a lot like Pine's) for reading news in an organized way. trn, rn, and nn are also available for those who like those news readers.

  • 4. X and the Login Service

    • 4.1. What is the DISPLAY variable?

      The DISPLAY variable is the variable every X program checks to see where the information it is going to display should be sent. So, for example, if you log on to the console on pita.gpcc.itd.umich.edu at the Angell Hall Computing Site, and run xterm on login.itd.umich.edu, then you should have the DISPLAY variable (in the session you are running xterm from) set to biscuit:0. You can do that with the command:

      setenv DISPLAY pita:0

      This will tell the login.itd.umich.edu machine that I want windows displayed on pita, using display number 0, which is the only display pita has.
      This is not all that is needed, however. I also need to set it up so that pita will accept display data from login.itd.umich.edu. To do this, you need to type more commands. If I open a new shell on pita, and type this command:

      xauth extract .Xauth pita:0

      And then go back to the shell on login.itd.umich.edu, and type the following command:

      xauth merge .Xauth

      Then it will work. There is a method of X "security" using the xhost command, but that method is easily subject to snooping, so it is not recommended.

    • 4.2. How can I display Xterms, SPSS windows, etc, on my PC?

      First, you will have to get an X server set up on your PC. Many people are using Exceed for Windows to do this.
      Next, you will have to set your DISPLAY variable as above, to your desktop PC. The command should look something like this:

      setenv DISPLAY your.machine.here.umich.edu:0

      This command should have your machine's name, or IP number in it before the colon (:). If you don't know what your machine name is, you can find out (when logged into a login or statistics server) with the command who | grep uniqname. When you type that command with your uniqname instead of uniqname, your machine's name will be in paretheses. If all that's there is a series of numbers, don't worry, they will work as well. Then you will have to figure out how to allow the machine you are logged into to open windows on your desktop machine. Consult your software's documentation for this.
      Last, just run an X application. It should work just fine for you, if everything is set up right. If everything isn't set up right, there are a few places you can go for help. You can call 764-HELP, or send a message to online.consulting@umich.edu, talk to your departmental network admin, or you can contact itd-login-admin@umich.edu. This type of use is slow over dial-up links, but can be acceptable for some things, especially over an ethernet connection.

    • 4.3. Are there security concerns with X?

      As with everything else, there are security concerns with X. The first of those is that data sent over an X connection isn't encrypted in any special way, so typing your password into an X window that's running on a different machine can allow for someone to break your password. Using xauth minimizes this danger. If you choose to use xhost or use X from your PC, this is more dangerous, because they don't do the encryption and decryption that the xauth method uses. As with everything, changing your password fairly often will minimize your risk.

      Note that you can use SSH to encrypt your X traffic. This highly desirable and is well supported by most SSH clients.

  • 5. Compiling on the ITCS Login Service

      Basically, the search path is:

      ~/bin /usr/um/bin /usr/vice/bin /usr/local/ssh/bin /usr/bin /usr/ucb /usr/openwin/bin /usr/dt/bin /usr/local/bin /opt/SUNWspro/bin /usr/ccs/bin /usr/um/gnu/bin . A user that favors the BSD/GNU environment should change their path to include /usr/um/gnu/bin prior to the others. This will get the Gnu build environment, and Gnu shell utilities, which have a BSD flavor to them. A user would also have to change their MANPATH to include /usr/um/gnu/man prior to the system ones, so that when they type 'man ls' they get the Gnu man page instead of the SysV one.
      A user who wishes to build a BSD program on Solaris should first check that the program hasn't already been ported to Solaris. Many Gnu packages, for example, have been, and the configure program recognizes this. Where a program has never been ported to to System V Unix, one possible solution is to modify the appropriate makefiles by adding the line 'CC=/usr/ucb/cc' which uses the Sun provided script that invokes the regular C compilier, but with BSD compatibility enabled. For more information, see the section on C below.
      If you have concerns or suggestions, please mail them to itd-login-admin@umich.edu.

      For more information about programming on Solaris, and porting Unix code to and from Solaris, please retrieve the Solaris porting FAQ:
      ftp://rtfm.mit.edu/pub/usenet/comp.unix.solaris/

    • 5.1. C

      • 5.1.1. What are the basics about the compilers?

        There are three "versions" of C on the ITCS Login Service.

        • /opt/SUNWspro/bin/cc
          This is Sun's C compiler for Solaris®. It comes with several helpful tools, including cscope. It is the default C compiler on the Login machines. System V make, ar, etc. are also in the default path.
          To get man information, type man cc.

        • Berkeley cc (ucbcc)
          Solaris® provides a Berkeley compatibility environment which includes a special C compiler and a set of Berkeley-compatible include files and compiler libraries. If you need this environment, use the ucbcc command, which is now in the default path.
          To get man information, type man -s 1b cc

        • /usr/um/bin/gcc
          This is Gnu's C Compiler. Much public domain software is released with Makefile options for this compiler, but it is not supported by Sun. If you want the GNU C environment, you must place /usr/um/gnu/bin first in your path. You will also have access to other GNU utilities such as flex and bison.
          To get man information, type man gcc
          To get GNU info pages about GCC, type info -f /usr/um/gcc/info/gcc

      • 5.1.2. What else is available in the build environment?

        • SCCS (/usr/ccs/bin/{sccs,sccsdiff,delta,...})
        • RCS (/usr/um/gnu/bin/{rcs,rcsdiff,ci,co,...})
        • CVS (/usr/um/gnu/bin/{cvs,cvsbug,cvsinit,...})
        • dbx (/usr/um/bin/dbx, /opt/SUNWspro/bin/dbx)
        • gdb (/usr/um/gnu/bin/gdb)
        • GNU make (/usr/um/gnu/bin/make)
        • cpp (/usr/um/bin/cpp)
        • as (/usr/ccs/bin/as, /usr/um/gnu/bin/as)
        • strip (/usr/ccs/bin/strip, /usr/um/gnu/bin/strip )
        • yacc/lex (/usr/ccs/bin/{yacc,lex})
        • bison/flex (/usr/um/gnu/bin/{bison,flex})
        • nm (/usr/ccs/bin/nm, /usr/um/gnu/bin/nm)
        • ar (/usr/ccs/bin/ar, /usr/um/gnu/bin/ar)
        • gprof (/usr/ccs/bin/gprof, /usr/um/gnu/bin/gprof)
        • ranlib (/usr/ccs/bin/ranlib, /usr/um/gnu/bin/ranlib)

      • 5.1.4. How can I use the Gnu development environment?

        If you would like to use Gnu utilities for compiling, and for general environment feel, you can do it. Start by adding the following lines to the end of your .cshrc file:

        set path=( /usr/um/gnu/bin $path )
        setenv MANPATH /usr/um/gnu/man:$MANPATH

        This should set you up to use all of the Gnu utilities rather than the Sun-supplied complements. Please be aware that /usr/um/gnu/bin also contains replacements for commonly used utilities such as find, ls, and grep.

      • 5.1.5. I just want gcc and BSD, how can I do that?

        To do this, I believe someone would have to write a modified version of the file /usr/ucb/cc which instead invokes gcc. Naming it, and finding a place for it would be two additional steps needed. It may make sense for diehard BSD fans to put such a modified script in their own ~/bin directory. That plus setting your paths as in section 5.1.4 should be about enough.

    • 5.2. C++

      There are two different C++ compilers currently available.

      The compiler CC (/opt/SUNWspro/bin/cc) is the Sunsoft version 4.0 C++ compiler, and is a system V compiler environment. It includes headers from /usr/include, and uses libraries out of /usr/lib. The header files in /usr/include are written to be compatible with both Sunsoft C++ and C.

      To get man information, type man CC.

      This is a currently Sun supported product, for which we have a support contract. It will evolve moderately, but should be available in this basic form for at least the next 5-10 years.

      Another C++ compiler is /usr/um/bin/g++, which is the GNU C++ compiler. This compiler, unlike the native System V C++ compiler, searches the GNU C++ header files first, which are stored in /usr/um/gcc/include/g++-include

      To get man information, type man g++

      To get GNU info pages about GCC, type info -f /usr/um/gcc-2.7.2/info/gcc

      To get GNU info pages about libg++, type info -f /usr/um/gcc/info/libg++

      To get information about the GNU info command, type man info

      The program info is a GNU hypertext documentation viewer that has an interface resembling emacs.

  • 5.3. Fortran

    Fortran is installed, along with a bunch of other utilities, in /opt/SUNWspro/bin.
    f77 is the Fortran 77 compiler.

  • 5.4. Pascal

    Sun is no longer supplying a Pascal compiler with its compiler set. At this time, there is no Pascal compiler.

«Last modified on 19 September, 2006»

Comments, questions, or suggestions? Please e-mail them to ITCS Login Service itcs-login-admins@umich.edu

ITCS
Information Technology Central Services at the University of Michigan