Archive-name: gopher-faq Last-modified: 1994/12/15 Common Questions and Answers about the Internet Gopher, a client/server protocol for making a world wide information service, with many implementations. Posted to comp.infosystems.gopher, comp.answers, and news.answers every two weeks. The most recent version of this FAQ can be gotten through gopher: or via anonymous ftp: Those without FTP access should send e-mail to mail-server@rtfm.mit.edu with "send usenet/news.answers/finding-sources" in the body to find out how to do FTP by e-mail. ------------------------------------------------------------------- List of questions in the Gopher FAQ: Q0: What is Gopher? Q1: Where can I get Gopher software? Q2: What do I need to access Gopher? Q3: Where are there publicly available logins for Gopher? Q4: How can I add to the information in gopher? Q5: Who Develops Gopher Software? Q6: How can I set up a "CSO" phone book server? Where is the software? Q7: Why can't I access the University of Minnesota's UPI news? Q9: What are the type characters for the different Gopher Objects? Q10: When I do full-text searches I always get every document back, Why? Q11: When I try to build the UNIX software I get an error from make: "Must be a separator on rules line #. Stop" Why? Q12: What is the relationship between Gopher and (WAIS, WWW, ftp)? Q13: Are papers or articles describing Gopher available? Q14: On a DECstation I get the error message "/etc/svc.conf no such file or directory" when running the gopherd server, why? Q15: The boolean searching terms don't work for my full-text index, why? Q16: When linking the Unix gopher server with WAIS I get undefined symbols, Q18: Why don't my WAIS indexes work? I never get anything back for searches. or Why do I get "Dangling file" error messages in my logfile? Q19: My gopher server doesn't work under inetd, why? Q20: This is not a bug report, just a curiosity. I managed to install Q21: Help! I have PC-NFS and want to use the PC-Gopher client. How? Q22: How do I nuke a hung TCP connection? I can't restart my UNIX gopher server unless I get rid of it, and I don't want to reboot! Q23: Is there somewhere I can retrieve a list of announced gopher links? I'd like to keep a local, up-to-date list of available gopher holes without requiring our users to gopher to umn just to scan GopherSpace. Q24: Why doesn't my unix gopher client display ISO-Latin-1 characters Q25: What is veronica? Q26: What e-mail/usenet discussions lists are active for Gopher? Q27: How do I get my Gopher (whois/cso/library catalog) listed in gopher menus? Q28: Where is the registered list of gopher+ view types? ------------------------------------------------------------------- Q0: What is Gopher? A0: Internet Gopher is a distributed document search and retrieval system. It combines the best features of browsing through collections of information andfully indexed databases. The protocol and software follows a client-server model, and permits users on a heterogeneous mix of desktop systems to browse, search, and retrieve documents residing on multiple distributed server machines. ------------------------------------------------------------------- Q1: Where can I get Gopher software? A1: via anonymous ftp to boombox.micro.umn.edu. Look in the directory /pub/gopher, or use the locator or via gopher itself: -------------------------------------------------------------------- Q2: What do I need to access Gopher? A2: You will need a gopher "client" program that runs on your local PC or Workstation There are clients for the following systems. The directory following the name is the location of the client on the anonymous ftp site boombox.micro.umn.edu (134.84.132.2) in the directory /pub/gopher. DOS w/Clarkson Driver : /pub/pc/minuet/ Macintosh Application : /pub/gopher/Macintosh-TurboGopher/ MVS/XA : /pub/gopher/mvs/ NeXTstep : /pub/gopher/NeXT/ OS/2 2.x : /pub/gopher/os2/ Unix Curses : /pub/gopher/Unix/gopher2_1_1.tar.Z VMS : /pub/gopher/VMS/ VM/CMS : /pub/gopher/Rice_CMS/ : /pub/gopher/VieGOPHER/ Windows : /pub/gopher/Windows WindowsNT : /pub/gopher/WinNT Xwindows (athena) : /pub/gopher/Unix/xgopher.1.3.tar.Z Xwindows (Tk) : /pub/gopher/Unix/moog-0.2.tar.Z Xwindows (Xview) : /pub/gopher/Unix/xvgopher Many other clients and servers have been developed by others, the following is an attempt at a comprehensive list. A Microsoft Windows Winsock client "The Gopher Book" A Macintosh Application, "MacGopher". Another Macintosh application, "GopherApp". A port of the UNIX curses client for DOS with PC/TCP A port of the UNIX curses client for PC-NFS A beta version of the PC Gopher client for Novell's LAN Workplace for DOS * Note: these Macintosh clients require MacTCP. Most of the above clients can also be fetched via a gopher client itself. Put the following link information on a Gopher server: Type=1 Host=boombox.micro.umn.edu Port=70 Path= Name=Gopher Software Distribution. Or point your gopher client at boombox.micro.umn.edu, port 70 and look in the gopher directory. There are also a number of public telnet login sites available. The University of Minnesota operates one on the machine "consultant.micro.umn.edu" (134.84.132.4) See Q3 for more information about this. It is recommended that you run the client software instead of logging into the public telnet login sites. A client is faster and uses the custom features of the local machine (mouse, scroll bars, etc.) --------------------------------------------------------------------- Q3: Where are there publicly available logins for Gopher? A3: Here is a short list, use the site closest to you to minimize network lag. Public Logins: Hostname IP# Area ------------------------- --------------- ------------- consultant.micro.umn.edu 134.84.132.4 North America ux1.cso.uiuc.edu 128.174.5.59 North America panda.uiowa.edu 128.255.40.201 North America gopher.msu.edu 35.8.2.61 North America gopher.ebone.net 192.36.125.2 Europe gopher.sunet.se 192.36.125.10 Sweden info.anu.edu.au 150.203.84.20 Australia tolten.puc.cl 146.155.1.16 South America ecnet.ec 157.100.45.2 South America gan.ncc.go.jp 160.190.10.1 Japan It is recommended that you run the client software instead of logging into the public login sites. A client uses the custom features of the local machine (mouse, scroll bars, etc.) and gives faster response. --------------------------------------------------------------------- Q4: How can I add to the information in gopher? A4: You can do this by running a gopher server. Servers are available for a number of systems. Use anonymous ftp to boombox.micro.umn.edu (134.84.132.2) and look in /pub/gopher. The following servers are available in these directories: DOS PC : /pub/gopher/PC_server/ Macintosh : /pub/gopher/Mac_server/ MVS : /pub/gopher/mvs/ OS/2 : /pub/gopher/os2 Unix : /pub/gopher/Unix/ VMS : /pub/gopher/VMS/ VM/CMS : /pub/gopher/Rice_CMS/ or /pub/gopher/Vienna_CMS/ Windows NT: /pub/gopher/WinNT There are several sites that have VMS server binaries, including: psualias.psu.edu, via gopher niord.shsu.edu, via FTP, precompiled executables trln.lib.unc.edu, via gopher When you have your server ready you can publish it to the world by sending e-mail to the maintainters of the "Other gophers" list. See Q27 for details. --------------------------------------------------------------------- Q5: Who Develops Gopher Software? A5: Gopher was originally developed in April 1991 by the University of Minnesota Microcomputer, Workstation, Networks Center to help our campus find answers to their computer questions. It has since grown into a full-fledged World Wide Information System used by a large number of sites in the world. Many people have contributed to the project, too numerous to count. The people behind the much of the gopher software can be reached via e-mail at gopher@boombox.micro.umn.edu, or via paper mail: Internet Gopher Developers 100 Union St. SE #190 Minneapolis, MN 55455 USA Or via FAX at: +1 (612) 625-6817 --------------------------------------------------------------------- Q6: How can I set up a "CSO" phone book server? Where is the software? A6: CSO phone book servers are also known as "qi" servers. The software implementation can be gotten via anonymous ftp from vixen.cso.uiuc.edu as /pub/qi.tar.gz. You may also see this referred to as "ph", which is what most of the clients are called. A collected set of clients for Macs, PCs, VMS, VM, etc, are in the /pub/ph.tar.gz file. There is also an archive of the mailing list for qi/ph software on the same machine. It's in /pub/info-ph.archive. You may join the list by sending email to info-ph-request@uxc.cso.uiuc.edu. This software is supported by Paul Pomes Contact him for more information. ------------------------------------------------------------------- Q7: Why can't I access the University of Minnesota's UPI news? A7: The University of Minnesota has a site license for UPI news, we are not allowed to distribute it off of our campus. We get our UPI news from Clarinet. For more information about getting UPI news send mail to info@clarinet.com. For information about setting up your own gopher-UPI server search the gopher-news archive for UPI. ------------------------------------------------------------------- Q9: What are the type characters for the different Gopher Objects? A9: The following is a list of known/used Gopher types 0 Item is a file 1 Item is a directory 2 Item is a CSO (qi) phone-book server 3 Error 4 Item is a BinHexed Macintosh file. 5 Item is DOS binary archive of some sort. 6 Item is a UNIX uuencoded file. 7 Item is an Index-Search server. 8 Item points to a text-based telnet session. 9 Item is a binary file T TN3270 connection. s Sound type. Data stream is a mulaw sound. g GIF type. M MIME type. Item contains MIME data. h html type. I Image type. i "inline" text type ------------------------------------------------------------------- Q10: When I do full-text searches I always get every document back, Why? A10: This is a problem occasionally encountered with Unix full-text indexes. It is caused by setting up the link incorrectly to a gindexd port. The Path= field should be *blank* when pointing to a gindexd index. Otherwise the client will send the path to the gindexd daemon, which interprets everything as a keyword. This path is likely to contain a pathname that is common to all of the indexed files. Thus a search generates hits on everything. Note that gindexd isn't used much anymore, this question does not apply if you are using the built in indexing in the Unix gopher server. ------------------------------------------------------------------- Q11: When I try to build the UNIX software I get an error from make: "Must be a separator on rules line #. Stop" Why? A11: This is a problem with older makes that don't understand the "include" keyword. One easy way to cope with this problem is compiling GNU make, which does understand the include keyword. If this is too difficult, remove the line: include Makefile.config from all the Makefiles and paste in a copy of Makefile.config at the top of each Makefile. Or, instead of pasting you can make the client/server by going into the appropriate directory and typing: make -f ../Makefile.config -f Makefile ------------------------------------------------------------------- Q12: What is the relationship between Gopher and (WAIS, WWW, ftp)? A12: Gopher is intimately intertwined with these other systems. As shipped the Unix gopher server has the capability to: - Search local WAIS indices. - Query remote WAIS servers and funnel the results to gopher clients. - Query remote ftp sites and funnel the results to gopher clients. - Be queried by WWW (World Wide Web) clients either using built in gopher querying or using native http querying. ------------------------------------------------------------------- Q13: Are papers or articles describing Gopher available? A13: Gopher has a whole chapter devoted to it in : _The_Whole_Internet_users_guide_and_catalog by Ed Krol (publisher O'Reilley & Associates, Inc; ISBN: 1-56592-025-2). (Editors note: ...Great book, go out and buy a bunch!) _The_Internet_Passport: NorthWestNet's Guide to Our World Online" By Jonathan Kochmer and NorthWestNet. Published by NorthWestNet, Bellevue, WA. 1993. 516 pp. ISBN 0-9635281-0-6. Contact info: passport@nwnet.net, or (206) 562-3000 _A_Students_Guide_to_UNIX by Harley Hahn. (publisher McGraw Hill, Inc.; 1993 ISBN 0-07-025511-3) _Intelligent_Information_Retrieval:_The_Case_of_Astronomy_and_ _Related_Space_Sciences (A. Heck and F. Murtagh, editors). Published by Kluwer Academic Publishers, P.O. box 17, 3300 AA Dordrecht, the Netherlands. ISBN: 0-7923-2295-9 Most books about the internet include a chapter or two about Gopher. Your local bookstore should have a wide selection. Other references include: _The_Internet_Gopher_, "ConneXions", July 1992, Interop. _Exploring_Internet_GopherSpace_ "The Internet Society News", v1n2 1992, (You can subscribe to the Internet Society News by sending e-mail to isoc@nri.reston.va.us) _The_Internet_Gopher_Protocol_, Proceedings of the Twenty-Third IETF, CNRI, Section 5.3 _Internet_Gopher_, Proceedings of Canadian Networking '92 _The_Internet_Gopher_, INTERNET: Getting Started, SRI International, Section 10.5.5 _Tools_help_Internet_users_discover_on-line_treasures, Computerworld, July 20, 1992 _TCP/IP_Network_Administration_, O'Reilly. Balakrishan, B. (Oct 1992) "SPIGopher: Making SPIRES databases accessible through the Gopher protocol". SPIRES Fall '92 Workshop, Chapel Hill, North Carolina. Tomer, C. Information Technology Standards for Libraries, _Journal of the American Society for Information Science_, 43(8):566-570, Sept 1992. ------------------------------------------------------------------- Q14: On a DECstation I get the error message "/etc/svc.conf no such file or directory" when running the gopherd server, why? A14: This is caused by the chroot() call in gopherd. It can be easily fixed by running gopherd with the -c option. Alternatively you can copy /etc/svc.conf into a directory named "etc" inside the gopher-data directory. ------------------------------------------------------------------- Q15: The boolean searching terms don't work for my full-text index, why? A15: This is probably because the searching is being provided by WAIS. WAIS opts to return all documents that contain a search phrase within certain limits. WAIS searches do return the documents with the highest "score" at the top, those documents will have the closest relevance. Alternatively you could get a booleanized version of wais from ftp.bio.indiana.edu, or get a version of freeWAIS. WAIS source code is mirrored on boombox.micro.umn.edu ------------------------------------------------------------------- Q16: When linking the Unix gopher server with WAIS I get undefined symbols, such as: log_file_name logfile PrintStatus find_value Sources NumSources A17: This happens if you make gopherd before linking in the WAIS ir/ui directories. The fix is to "make clean" or remove gopherd/{waisgopher.o,Waisindex.o} and then remake gopherd. Or link the ir/ui directories first. ------------------------------------------------------------------- Q18: Why don't my WAIS indexes work? I never get anything back for searches. or Why do I get "Dangling file" error messages in my logfile? A18: The problem could be in the server. The server should be run using the -c option if you want WAIS to work. Another solution is to patch the WAIS code so that it doesn't check the files on the disk. Search the gopher-news archive for "dangling". This will turn up a single document with the patch. ------------------------------------------------------------------- Q19: My gopher server doesn't work under inetd, why? A19: It could be that your inetd server only supports a limited amount of arguments. For instance, the maximum number of arguments to an inetd server is 5. You can get around this by combining arguments: i.e. gopherd -I -c becomes: gopherd -Ic You may also leave the port specifier off of the command line. The gopher server automagically finds out the port it's running on. Another way around this is to use a 'shell-script' wrapper. Make a shell script that starts gopher with the options you want, then put the name of the shell script in the inetd.conf file. ------------------------------------------------------------------- Q20: This is not a bug report, just a curiousity. I managed to install gopher on my PC, more or less by myself, which is a pretty good accomplishment, for someone who hasn't installed hardly anything on a PC. I then proceeded to load my PC/TCP kernel, ETHDRV, and try to start up gopher. It said it couldn't initialize that stack(?). I have to load this whenever I use PC/TCP. Incredibly, when I did not load ETHDRV, Gopher came up immediately and telneted to our local server. How does it know what kernel to load? A20 Dr. Science says, The Internet Gopher program is not actually computer program at all, but a collection of magical incantations handed down from Dark Age conjurors. It works by sending magical "demons" through the air, which scour the world for information, and then return to cast illusions containing the answer. When you use the Gopher, your computer isn't actually doing anything at all. Instead, these demons have mesmerized you with an evil magical spell, which was invoked by the pattern of finger-movements peculiar to the typing of the letters G-O-P-H-E-R on your keyboard. This spell transmits demonic information directly to your brain. Scientists aren't certain of the long-term effects of demonic mesmirization, although former presidents have suffered only minor medical side-effects from it. Indeed, since Magic and Science are usually opposed to each other, most Scientists are usually close-minded about such issues, and will usually respond with some vacuous non-answer about "packet drivers", "stacks", and other such jargon. Unlike conventional scientists, Dr. Science is very open-minded and is willing to deal with such issues in a frank and honest manner. This is why people come to him with questions, and why they've learned to rely on and live by his answers. Dr. Science "I'm not a real doctor; I have a Master's Degree.... in SCIENCE!" :-) :-) :-) :-) There's always room for a little humor in a FAQ.. ------------------------------------------------------------------- Q21: Help! I have PC-NFS and want to use the PC-Gopher client. How? A21: Use a piece of software called PKTMUX, available at fine ftp sites everywhere. This will let you use any packet driver application. Or, aquire a client that supports PC-NFS. See Q2. Or, get the winsock libraries for your system and run a Windows gopher client. ------------------------------------------------------------------- Q22: How do I nuke a hung TCP connection? I can't restart my UNIX gopher server unless I get rid of it, and I don't want to reboot! A22: Here is an example of using dbx to change a socket from CLOSING to CLOSED. # netstat -A|grep CLOSING c4bc5100 tcp 0 11 mymachine.gopher 129.89.8.4.70 CLOSING # dbx -k /vmunix /dev/mem ... (dbx) 0xc4bc5100+8/1X -- display contents of PCB+8 c4bc5108: 00000007 (dbx) assign 0xc4bc5108=0 -- zero it 0 (dbx) q After a minute or two, the CLOSED socket should disappear. ------------------------------------------------------------------- Q23: Is there somewhere I can retrieve a list of announced gopher links? I'd like to keep a local, up-to-date list of available gopher holes without requiring our users to gopher to umn just to scan GopherSpace. A23: In the Unix client/server distribution is a perl script called "gopherdist". Gopherdist can fetch the contents of any point in GopherSpace. To dump the contents of all the North American links from gopher.tc.umn.edu do the following: % gopherdist gopher.tc.umn.edu 70 "1/Other Gopher and Information Servers/North America" > .Links A .tar.Z file of the all the gopher servers in the world is available as: ------------------------------------------------------------------- Q24: Why doesn't my unix gopher client display ISO-Latin-1 characters properly? A24: It is the client's problem, the server is perfectly 8-bit transparent. The BSD curses library uses bit 8 in order to remember, whether a character has been displayed reverse. On a SunOS 4.x you can use the System V compiler: /usr/5bin/cc and you will get the System V curses version which is 8 bit clean. On other operating systems you should contact the vendor for assistance. ------------------------------------------------------------------- Q25: What is veronica? A25: veronica: Very Easy Rodent-Oriented Net-wide Index to Computerized Archives. veronica offers a keyword search of most gopher-server menu titles in the entire gopher web. As archie is to ftp archives, veronica is to gopherspace. A veronica search produces a menu of gopher items, each of which is a direct pointer to a gopher data source. Because veronica is accessed through a gopher client, it is easy to use, and gives access to all types of data supported by the gopher protocol. To try veronica, select it from the "Other Gophers" menu on Minnesota's gopher server, or point your gopher at: ------------------------------------------------------------------ Q26: What e-mail discussions lists are active for Gopher? A26: There are a couple of places where Gopher software and development is discussed. The USENET newsgroup comp.infosystems.gopher is the biggest discussion list. Gopher discussion also takes place on the mailing list gopher-news. To subscribe send a message to: gopher-news-request@boombox.micro.umn.edu Those who want just announcements of new software and servers may want to subscribe to the 'gopher-announce' list by sending mail to gopher-announce-request@boombox.micro.umn.edu A mailing list for VMS developers is also available, send e-mail to listserv@trln.lib.unc.edu with a message that contains sub VMSgopher-L firstname lastname A mailing list for MVS gopher developers and users is also available. To subscribe to the list, send mail to LISTSERVER@LISTS.ACS.OHIO-STATE.EDU containing: SUBSCRIBE MVSGOPHER firstname lastname ------------------------------------------------------------------ Q27: How do I get my Gopher (whois/cso/library catalog) listed in gopher menus? A27: If your gopher server is in Europe, send mail to: gopher@ebone.net Otherwise send mail to: gopher@boombox.micro.umn.edu with the following information: The Server's Name (as it will appear on the menu) The Hostname The Port Number An Administrative contact A Selector String (optional) An short Abstract describing the content of your server The list of CSO nameservers is maintained at Notre Dame by Joel Cooper. Any updates to the list should be sent to cooper@utopia.cc.nd.edu. The list of WHOIS servers is maintained at MIT by Matt Power. Any updates to the list should be sent to mhpower@athena.mit.edu. The Gopher to X.500 gateway is maintained at U. Michigan by Tim Howes. Any comments should be sent to tim@umich.edu. The list of Internet Accessible Libraries is is currently a collaborative effort between Marie-Christine Mahe at Yale University, Lou Rosenfeld at the University of Michigan, and Billy Barron at the University of Texas in Dallas. Barry Bouwsma steadily contributes many obscure foreign library listings. Error corrections and additions are always welcome, and should be sent to: GOPHLIB@GOPHER.YALE.EDU. ------------------------------------------------------------------ Q28: Where is the registered list of Gopher+ view types? A28: Gopher+ view types are the same as MIME email media types. It's available via anonymous ftp from: ------------------------------------------------------------------ Q29: How do I use WAIS indices with my gopherd server without -c? A29: The problem with WAIS Indices is that they store the full pathname inside of the inverted index. Thus if your documents are in /usr/local/gopher-data/waisdocs/text, that whole path will be kept in the index. However, when using chroot(), a whole portion of the path is chopped off and the directory /usr/local/gopher-data effectively becomes '/'. To circumvent this problem you can use a symbolic link to make the removed directory structure inside of the gopher-data directory. In this case you would do the following: cd /usr/local/gopher-data mkdir usr cd usr mkdir local cd local ln -s / gopher-data Then when the pathname /usr/local/gopher-data/wais/text is looked up the symbolic link will put you in the correct place..