lynx-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: LYNX-DEV SGI/IRIX installation


From: Hiram Lester, Jr.
Subject: Re: LYNX-DEV SGI/IRIX installation
Date: Mon, 21 Oct 1996 17:06:22 -0500 (CDT)

On Mon, 21 Oct 1996, Vilkata TDK wrote:

> Also, when I tried 'make osf', it worked (on the alpha), but when I
> tried to execute the binary, it gave me the old error:
> 
> Configuration file /usr/local/lib/lynx.cfg is not available.
> 
> I defined it in the Makefile to be one of my own directories; I gave it
> the absolute path.  (I also put in my own path for the man page.)  I

I presume when you say you edited it in the Makefile you actually mean
that you edited it in userdefs.h since that is where it actually compiles
in from.  I'm not aware of any such option in the Makefile, but if there
is, try editing userdefs.h and put the path to your lynx.cfg in there.

> No, I didn't.  Didn't say to do so in the installation file, nor do I
> remember seeing it in a readme.  This helped; it compiled all the way.

I guess the assumption is that if you know enough to "make" it that you
know enough to use "make clean" and when to use it.  The basic rule (with
ANY package, not just lynx) is that if you change compilers or major
targets (i.e. linux to linux-ncurses, etc), you should always do a "make
clean" in between.

> Unfortunately, it still has the same problem the alpha version did: it
> didn't take my update for the lynx.cfg location.  I've had this problem
> with versions on public machines on our system in the past; is there an
> easy way on the command line or something to let you change the default
> location of this without recompiling?  And if there isn't, how do I get
> it to pay attention to what I changed in the Makefile?

Ok, yes there are ways to change the lynx.cfg location.  Before relying on
one of these, please see my comments above.  You can set the environment
variable LYNX_CFG to point to your lynx.cfg or you can add the command
line switch -cfg=FILENAME where FILENAME is the location of your lynx.cfg.
These options are listed in the userdefs.h and the command line option is
listed if you type lynx -help.

> (What exactly does 'make clean' do?  Sorry, but I've just taught myself
> limited C++ in the past six months, and nobody has really given me a
> good full picture of how everything in C++ works together.  (Neither
> have any of the books.))

Well, make is a separate entity unto itself. :)  Look at the man page for
make for more info, but it's a common practice of Makefile authors to put
a "clean" or "cleanall" or "cleaner", etc. target that removes the object
files and possibly the executable from the directories.  If you look at
the clean target in Lynx's Makefile, I think it removes all .o files and
the lynx binary.  Some packages use clean to remove just .o files and use
something like cleanall to remove all .o files and the binaries.

This is necessary due to the "smart" way in which make works.  If a build
is aborted, either manually by you or because of an error, it tries to
determine which files really need to be re-compiled by checking the dates
on the .o files and any dependencies they may have (listed in the
makefile, usually .c and possibly .h files).  If the files they depend
upon are newer, it will recompile them.  When you change targets, all of
the .o files are still newer than their dependencies, but the .o files are
wrong, and the linker ld could get very confused.  At best, your binary
may not work.

This is great for developers working on code like Lynx because you can
change one file, and if your Makefile is designed with the proper
dependencies, only those files affected by your change will actually be
recompiled rather than the whole package.

I've probably babbled on enough about makefiles, and this really isn't the
proper place to go into a discourse about them.  I suggest you look at the
man page for make and look through the Makefile for Lynx (or preferably
something with a simpler Makefile) and try to understand how it works.  If
you have questions, feel free to contact me via e-mail, and I can try to
help within my limited knowledge. :)

   +------------------------------------+-------------------------------+
   | Hiram W. Lester, Jr.               | E-Mail: address@hidden    |
   | Computer Science                   | Home page:                    |
   | Middle Tennessee State University  |   http://pobox.com/~hwlester/ |
   +------------------------------------+-------------------------------+

;
; To UNSUBSCRIBE:  Send a mail message to address@hidden
;                  with "unsubscribe lynx-dev" (without the
;                  quotation marks) on a line by itself.
;



reply via email to

[Prev in Thread] Current Thread [Next in Thread]