On Mon, Mar 11, 2002 at 12:08:57PM +0100, Pierre HANSER wrote:
> I've a small problem with configuration options:
>
> I want to install ethereal in dir1 on which I've write access,
> but some of the libs I need to compile are in dir2. So I use:
>
> ./configure --prefix=dir1 --includedir=dir2/include --libdir=dir2/lib
>
> My intent is to have the full install take place in dir1
>
> But in this case, everything is OK except the plugins which want to go
> into dir2/lib/ethereal/plugins
Well, "configure --help" says:
--prefix=PREFIX install architecture-independent files in PREFIX
[/usr/local]
--exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
[same as prefix]
--bindir=DIR user executables in DIR [EPREFIX/bin]
--sbindir=DIR system admin executables in DIR [EPREFIX/sbin]
--libexecdir=DIR program executables in DIR [EPREFIX/libexec]
--datadir=DIR read-only architecture-independent data in DIR
[PREFIX/share]
--sysconfdir=DIR read-only single-machine data in DIR [PREFIX/etc]
--sharedstatedir=DIR modifiable architecture-independent data in DIR
[PREFIX/com]
--localstatedir=DIR modifiable single-machine data in DIR [PREFIX/var]
--libdir=DIR object code libraries in DIR [EPREFIX/lib]
--includedir=DIR C header files in DIR [PREFIX/include]
--oldincludedir=DIR C header files for non-gcc in DIR [/usr/include]
--infodir=DIR info documentation in DIR [PREFIX/info]
--mandir=DIR man documentation in DIR [PREFIX/man]
The first two of those explicitly say "install"; the others don't, but
the "info" file for autoconf says:
...
- Variable: libdir
The directory for installing object code libraries.
- Variable: libexecdir
The directory for installing executables that other programs run.
...
so "--libdir" is a directory in which to install stuff.
The question, then, is whether objects linked dynamically at run time
constitute "object code libraries" or not. They're not shared
libraries, as they're programmatically loaded rather than loaded by the
run-time linker at startup time; however, none of the other variables
mentioned in the info file seem to be a better match.
The right way to specify where the libraries with which Ethereal is to
be compiled is arguably with flags other than "--prefix" and
"--includedir" and "--libdir". There's a "--with-pcap" flag for
libpcap, and a "--with-ucdsnmp" flag for UCD SNMP; we should probably
add flags for other libraries, e.g. replace "--enable-zlib" with
"--with-zlib" and have it take an optional directory pathname. Which
libraries are in dir2?