help-gnu-emacs
[Top][All Lists]
Advanced

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

Re: emacs 21.3 wants "libXaw3d.so.5"; got Xaw3d-1.5.tar.gz; NOW WHAT?


From: Kai Großjohann
Subject: Re: emacs 21.3 wants "libXaw3d.so.5"; got Xaw3d-1.5.tar.gz; NOW WHAT?
Date: Mon, 26 May 2003 08:57:35 +0200
User-agent: Gnus/5.1003 (Gnus v5.10.3) Emacs/21.3.50 (gnu/linux)

dkcombs@panix.com (David Combs) writes:

> Now, on that other thread, there has been SO MUCH back- and-forth
> about the args, one saying "add this -R xxx" and the followup saying
> eg ~~ "no, no, no -- don't do that!  It won't work!" -- please, for
> me, and for the eventual writeup that I promised:
>
> (1) exactly what arg for the -L?  (and why)

The argument for -L should be where the library lives.  So if you
want to include the library /opt/some_package/lib/libfoo.so, then you
should add -L/opt/some_package/lib.

-L tells the linker to look in that directory when constructing the
executable. 

> (2) ditto for the -R.

The argument for -R should be the same as for -L.  -R tells the
executable where to find its libraries when running.

When -R is not specfied, the executable (the loader, actually) will
look in the directories listed in $LD_LIBRARY_PATH.  I'm not sure
whether the linker will also look there or only in -L.

> (3) Something to pre-answer a "no no no!" kind of followup.

The obvious alternative, to me, would be to specify the directory via
$LD_LIBRARY_PATH when the executable is run.  So what you could do is
to use -L to specify a directory for the linker, and then each user
can use $LD_LIBRARY_PATH to choose the directory when running.

This way, you could specify -L/foo/1.4/lib but later on, when a new
version of foo is released, you could change $LD_LIBRARY_PATH from
/foo/1.4/lib to /foo/1.5/lib and then the executable would use the
new library.

> (4) (I assume there's more than one way to successfully
> build this new Emacs -- or is there essentially only
> ONE way?)

There are advantages for the -R solution (always finds the library
that Emacs was built with) and also for the $LD_LIBRARY_PATH solution
(can use bugfixed library without recompiling Emacs).

My personal opinion is that it is safer to use -R because strange
problems may arise when run Emacs with a different library (version)
than it was built with.  If the bugfix from the new library version
is really needed, it is easy enough to build Emacs again.

> (5) What is it that makes this 21.3 (or just 21.x?)
>     more difficult, more understanding needed, than
>     20.x, 19.x?

Emacs 21 uses more external libraries, for displaying images for
instance.

-- 
This line is not blank.


reply via email to

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