Blame PROBLEMS

Packit f574b8
Lynx PROBLEMS file.
Packit f574b8
Packit f574b8
Ideally you would never have to read this, but inevitably problems
Packit f574b8
do arise.  As implementation and installation problems become known
Packit f574b8
they will be outlined in this file.
Packit f574b8
Packit f574b8
---------
Packit f574b8
Packit f574b8
    The install script will attempt to preserve your current settings in the
Packit f574b8
    lynx.cfg file.  You should review these (at the end of lynx.cfg) after
Packit f574b8
    install.  For instance references to lynx.browser.org for a startfile can
Packit f574b8
    be removed, since that site is no longer maintained.
Packit f574b8
Packit f574b8
---------
Packit f574b8
Packit f574b8
    Some customized installs of OpenSSL are not detected by the configure
Packit f574b8
    script.  For example, with Redhat9, we did this to work around:
Packit f574b8
Packit f574b8
	#!/bin/sh
Packit f574b8
	KRB=/usr/kerberos
Packit f574b8
	export LIBS="-L$KRB/lib -lssl -lcrypto -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err"
Packit f574b8
	export CPPFLAGS="-I$KRB/include -I/usr/include/openssl"
Packit f574b8
	export CFLAGS="-O -g $CPPFLAGS"
Packit f574b8
	./configure --with-ssl $*
Packit f574b8
Packit f574b8
---------
Packit f574b8
Packit f574b8
    The configure script check for IPv6 (--enable-ipv6) assumes that your build
Packit f574b8
    machine can listen for IPv6 connections.  It cannot determine if you want
Packit f574b8
    to use it only for outgoing connections.  If the configure script is
Packit f574b8
    otherwise successful, it will warn about a nonfunctioning getaddrinfo()
Packit f574b8
    function, and does not define these symbols needed to successfully compile
Packit f574b8
    IPv6 support.  You can work around this by by editing lynx_cfg.h:
Packit f574b8
Packit f574b8
	HAVE_GAI_STRERROR
Packit f574b8
	HAVE_GETADDRINFO
Packit f574b8
Packit f574b8
---------
Packit f574b8
Packit f574b8
    Control-Z on Unix can cause aberrant behavior.  If you encounter
Packit f574b8
    problems, use -restrictions=suspend to disable it, and only '!'
Packit f574b8
    for escapes to shell (on VMS control-Z is unconditional 'Q'uit,
Packit f574b8
    with no attempt to suspend the Lynx process only temporarily).
Packit f574b8
    Control-Z on Unix often works better with slang.
Packit f574b8
Packit f574b8
---------
Packit f574b8
Packit f574b8
    Screen resizing can be a bit funny.  If you resize the screen,
Packit f574b8
    documents that have been cached will be out of whack.  Any further
Packit f574b8
    documents will look fine.  You can reload documents to the current
Packit f574b8
    window size with CTRL-R
Packit f574b8
Packit f574b8
---------
Packit f574b8
Packit f574b8
    If the configure script dies when it discovers that gcc is broken,
Packit f574b8
    despite the fact there is a perfectly good ANSI cc in the PATH,
Packit f574b8
    try setting the CC environment variable to your working cc compiler
Packit f574b8
    before running configure: e.g.
Packit f574b8
Packit f574b8
      setenv CC cc   (or   set CC=cc; export CC  , depending on the shell)
Packit f574b8
      ./configure
Packit f574b8
Packit f574b8
---------
Packit f574b8
Packit f574b8
    If you run into a problem compiling GridText.c, try omitting -O from the
Packit f574b8
    compiler flags; it is a very big file and may not compile successfully
Packit f574b8
    if you include optimization.
Packit f574b8
Packit f574b8
---------
Packit f574b8
Packit f574b8
    On a Sun system, the message:
Packit f574b8
	"Alert!:  Unable to connect to remote host"
Packit f574b8
    will be displayed every time an attempt is made to access a host
Packit f574b8
    other than localhost if Lynx has been built without the resolv
Packit f574b8
    library and needed it, or with it and shouldn't have been.
Packit f574b8
    Unfortunately, there's no way to check in the Makefile whether
Packit f574b8
    -lresolv should be included in the LIBS="" list.  What's necessary
Packit f574b8
    depends on how that Sun is configured.  To get the build right for
Packit f574b8
    your SUN 3 or 4 OS, if you didn't have RESOLVLIB defined in the
Packit f574b8
    Makefile define it and build Lynx again, or vice versa.  Also, if
Packit f574b8
    you have upgraded to the bind-8.1 or later library, you should try
Packit f574b8
    changing -lresolv to -lbind.
Packit f574b8
Packit f574b8
---------
Packit f574b8
Packit f574b8
    On Sun systems when accessing sites that use multiple IPs for one URL,
Packit f574b8
    you may experience a core dump.  It's a bug in the resolver library,
Packit f574b8
    which can be fixed by downloading & installing Sun's jumbo patch:
Packit f574b8
    search Sun support information, e.g., Solaris newsgroups,
Packit f574b8
    or see the following Lynx Archive items:
Packit f574b8
Packit f574b8
      http://www.flora.org/lynx-dev/lynx-dev/9606/0422.html
Packit f574b8
      http://www.flora.org/lynx-dev/html/month0497/msg01018.html
Packit f574b8
      http://www.flora.org/lynx-dev/html/month0497/msg01064.html
Packit f574b8
Packit f574b8
    The Sun `shelltool' and `cmdtool' terminals are stupid by default.
Packit f574b8
    In order to get bold text to appear differently than inverse video,
Packit f574b8
    the user should put this line in ~/.Xdefaults:
Packit f574b8
Packit f574b8
	Term*boldStyle:		Offset_X
Packit f574b8
Packit f574b8
    From the `shelltool' man page, it seems that an analogous line
Packit f574b8
    in ~/.defaults
Packit f574b8
Packit f574b8
	/Tty/Bold_style "Offset_X"
Packit f574b8
Packit f574b8
    ought to work just as well, but you may not get the desired
Packit f574b8
    behavior until you modify your .Xdefaults file (and run `xrdb
Packit f574b8
    ~/.Xdefaults').  Note also that there are other supported values
Packit f574b8
    for the boldStyle resource/Bold_style default, all of which begin
Packit f574b8
    with "Offset_". (helpful hint from kevin@traffic.den.mmc.com)
Packit f574b8
Packit f574b8
---------
Packit f574b8
Packit f574b8
    Directory browsing has been implemented for VMS, but there are no
Packit f574b8
    plans to port additional DIRED support, because Lynx must handle files
Packit f574b8
    as streams, and this precludes "serious" Directory/File Management on
Packit f574b8
    VMS.  Use a jumps file link to CSwing (sources or executables are
Packit f574b8
    available from ftp://narnia.memst.edu), or define CSWING_PATH in
Packit f574b8
    userdefs.h or lynx.cfg to invoke CSwing via the DIRED_MENU command.
Packit f574b8
Packit f574b8
---------
Packit f574b8
Packit f574b8
    If one switches between K)eypad "Numbers act as arrows" versus "Links
Packit f574b8
    are numbered" in the 'o'ptions menu when the current document is a
Packit f574b8
    DIRED menu in which links have been tagged, the tagging can be trashed
Packit f574b8
    (so don't switch at such times 8-).
Packit f574b8
Packit f574b8
---------
Packit f574b8
Packit f574b8
    When "Links are numbered" is on, if a line is split on an anchor (to
Packit f574b8
    obey right margin restrictions), and there is no space in the bolded
Packit f574b8
    string such that the entire "[#]string" must be moved down, the "[#]"
Packit f574b8
    becomes bolded, instead on only "string".
Packit f574b8
Packit f574b8
---------
Packit f574b8
Packit f574b8
    The Mosaic v2.5 hostlist uses HTML similar to that of Lynx's bookmark
Packit f574b8
    file, but with </HTML> at the bottom, such that it is not fully
Packit f574b8
    compatible with Lynx's file.  If you try to use the Mosaic file as if
Packit f574b8
    it were a Lynx bookmark file, the </HTML> will not be taken into
Packit f574b8
    account and new links will be added below rather than above those end
Packit f574b8
    tags.  Instead, add a link to the Mosaic file in your Lynx file, and
Packit f574b8
    to the Lynx file in your Mosaic file, so that you can access both files
Packit f574b8
    with both clients.
Packit f574b8
Packit f574b8
---------
Packit f574b8
Packit f574b8
    SOCKSification and the -socks switch have not yet been integrated with
Packit f574b8
    the slang library support.
Packit f574b8
Packit f574b8
---------
Packit f574b8
Packit f574b8
    There is an apparently broken version of select() in libcurses.a
Packit f574b8
    of HP/UX 10.10.  It also breaks tn3270, ncftp, emacs, and xemacs.
Packit f574b8
    Using:
Packit f574b8
    		LIBS="-lc -lcurses -ltermcap \
Packit f574b8
		      ^^^
Packit f574b8
    (i.e, adding -lc *before* the -lcurses) in the snake3 and snake3-slang
Packit f574b8
    targets of the top level Makefile yields a usable image, but with
Packit f574b8
    inappropriate video attributes on the Lynx displays (reverse video and
Packit f574b8
    underscores on everything).  Using "-lc -lHcurses" instead fixes the
Packit f574b8
                                            ^^^^^^^^^
Packit f574b8
    video attributes but then the arrow keys are messed up. - Donald S.
Packit f574b8
    Teiser (dsteis01@homer.louisville.edu)
Packit f574b8
    NOTE: If HP fixes the problem or you come up with a better workaround,
Packit f574b8
          notify the lynx-dev@nongnu.org list.
Packit f574b8
    Updated NOTE (1996-09-02):  A patch reportedly is available from HP to
Packit f574b8
          fix the select() problem, so that "-lc" is no longer needed, but
Packit f574b8
	  the curses glitch is not yet fixed, and you should still include
Packit f574b8
	  "-lHcurses".
Packit f574b8
    Updated NOTE (1997-02-03): The problems reportedly are fixed with
Packit f574b8
	  patches PHCO_8086 and PHCO_8947 from HP.
Packit f574b8
    Updated NOTE (1997-12-15): PHCO_8086 & PHCO_8947 are very old and are
Packit f574b8
	  no longer available.  The current patch to install if running
Packit f574b8
	  under HP-UX 10.20 is PHCO_11342.
Packit f574b8
Packit f574b8
---------
Packit f574b8
Packit f574b8
    Lynx juggles variable abilities of curses packages or emulations to
Packit f574b8
    display bolding and underlining simultaneously.  This may fail if
Packit f574b8
    Lynx thinks that your terminal, in connection with the curses package,
Packit f574b8
    supports a capability which the terminal hardware or emulation does not
Packit f574b8
    in fact support.  Setting the right TERM environment variable, tweaking
Packit f574b8
    terminfo or termcap files, or compiling with a newer version of ncurses
Packit f574b8
    or slang may solve problems with missing highlighting or strange
Packit f574b8
    characters appearing on the screen.  Also, for a mono terminal,
Packit f574b8
    make sure "show color" is not set to ON in the Options Menu.
Packit f574b8
Packit f574b8
    The Wyse 50 and older TeleVideo terminals, among others, are
Packit f574b8
    "magic cookie" terminals.  This means that display attributes like
Packit f574b8
    reverse, blink, underline, etc. work in a bizarre way that makes them
Packit f574b8
    difficult to program.  You may see extra spaces scattered around your
Packit f574b8
    screen (separating different sorts of highlight); or sections of the
Packit f574b8
    screen may be unexpectedly highlighted.
Packit f574b8
    There is a workaround which works by restricting the terminal to a
Packit f574b8
    single standout attribute (e.g., normal and reverse, but no others).
Packit f574b8
    Implementing the workaround is specific to your curses implementation.
Packit f574b8
    Most versions of curses use one of two terminal databases, called
Packit f574b8
    "termcap" and "terminfo".  Updating these databases is system-specific.
Packit f574b8
    New databases should be available from the vendor or other sources.
Packit f574b8
    For the Wyse 50, try
Packit f574b8
       <URL: http://www.wyse.com/text/custserv/faq/wy50faq.htm>;
Packit f574b8
    extract the "wy50" (NOT "wy50-mc") entry and use that in place of the
Packit f574b8
    existing one.  See `terminfo', `infocmp', `tic' etc. man pages if
Packit f574b8
    necessary.
Packit f574b8
    Alternatively, compiling Lynx with the slang library may avoid problems
Packit f574b8
    with theses terminals.
Packit f574b8
Packit f574b8
    The Sun console driver (aka wscons(7)) implements "reverse" and "bold"
Packit f574b8
    as "reverse", causing confusion where Lynx uses the distinction between
Packit f574b8
    the two to convey information. Lynx tries to detect this automatically,
Packit f574b8
    but if it fails (for instance, you are running under "screen"), try
Packit f574b8
    setting the -noreverse commandline option.
Packit f574b8
Packit f574b8
---------
Packit f574b8
Packit f574b8
    On VMS, Lynx, and other TCP-IP software, have been experiencing chronic
Packit f574b8
    problems of incompatibilities between DECC and MultiNet headers whenever
Packit f574b8
    new versions of either DECC or MultiNet are released.  The Lynx build
Packit f574b8
    procedure for VMS and a maze of spaghetti #ifdef-ing in tcp.h of the
Packit f574b8
    libwww-FM had previously been successful in dealing with this problem
Packit f574b8
    across all versions of MultiNet and of DECC, VAXC, and Pat Rankin's
Packit f574b8
    VMS port of GNUC, but are now not 100% successful.  If you get compiler
Packit f574b8
    messages about "struct timeval timeout" having no linkage, add that
Packit f574b8
    declaration immediately below the inclusion of ioctl.h for MultiNet in
Packit f574b8
    tcp.h (by deleting the "#ifdef NOT_DEFINED" and "#endif /* NOT_DEFINED */"
Packit f574b8
    lines):
Packit f574b8
    [...]
Packit f574b8
    #include "multinet_root:[multinet.include.sys]ioctl.h"
Packit f574b8
    struct timeval {
Packit f574b8
        long tv_sec;		/* seconds since Jan. 1, 1970 */
Packit f574b8
        long tv_usec;		/* microseconds */
Packit f574b8
    };
Packit f574b8
    [...]
Packit f574b8
    If you get compiler warnings about incompatible multinet_foo()
Packit f574b8
    declarations, delete those where indicated in tcp.h.  For the most
Packit f574b8
    current versions of MultiNet, you can modify tcp.h to use the DECC
Packit f574b8
    socket and related headers.
Packit f574b8
Packit f574b8
    On VMS, the ftp function does not work with SOCKETSHR 0.9D and NETLIB
Packit f574b8
    2 (NETLIB 1 may work).  This is because the functions getsockname()
Packit f574b8
    and getpeername() within SOCKETSHR make incorrect calls to the NETLIB
Packit f574b8
    functions.  This results in zeroes being returned for part of the local
Packit f574b8
    IP address.  Since ftp sends this IP address to the remote end, the
Packit f574b8
    remote server ends up sending a file back to a non-existent address.
Packit f574b8
    Andy Harper (A.HARPER@kcl.ac.uk) has fixed these problems in the
Packit f574b8
    SOCKETSHR 0.9D sources and offers the fixes as:
Packit f574b8
       http://alder.cc.kcl.ac.uk/fileserv/zip/socketshr_src_09d-2.zip
Packit f574b8
       ftp://ftp2.kcl.ac.uk/zip/socketshr_src_09d-2.zip
Packit f574b8
Packit f574b8
---------
Packit f574b8
Packit f574b8
    On VMS, to build an SSL-capable version, lynx and the ssl library
Packit f574b8
    e.g., OpenSSL, must be built using the same network library.  If you
Packit f574b8
    build OpenSSL without specifying the network library (the 5th parameter
Packit f574b8
    of the makevms.com script), it will guess, possibly not the one you
Packit f574b8
    intended.  We have tested only the UCX configuration -TD (2002/9/15).