From: kai.grossjohann@gmx.net (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 [thread overview]
Message-ID: <84r86myz34.fsf@lucy.is.informatik.uni-duisburg.de> (raw)
In-Reply-To: bard3d$6iu$1@reader1.panix.com
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.
prev parent reply other threads:[~2003-05-26 6:57 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-05-19 6:10 emacs 21.3 wants "libXaw3d.so.5"; got Xaw3d-1.5.tar.gz; NOW WHAT? David Combs
2003-05-19 8:09 ` Akop Pogosian
2003-05-19 17:54 ` David Combs
2003-05-19 18:17 ` Stefan Monnier
2003-05-20 6:19 ` David Combs
2003-05-20 6:56 ` Stefan Monnier
2003-05-20 16:32 ` David Combs
2003-05-22 11:02 ` Kai Großjohann
2003-05-23 5:34 ` David Combs
2003-05-23 7:04 ` Kai Großjohann
2003-05-25 21:37 ` David Combs
2003-05-25 22:22 ` Stefan Monnier
2003-05-26 6:57 ` Kai Großjohann [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=84r86myz34.fsf@lucy.is.informatik.uni-duisburg.de \
--to=kai.grossjohann@gmx.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.