Re: [EXIM] exim 2.053 doesn't compile on Debian/GNU Linux 2.…

トップ ページ
このメッセージを削除
このメッセージに返信
著者: Malcolm Beattie
日付:  
To: exim-users
題目: Re: [EXIM] exim 2.053 doesn't compile on Debian/GNU Linux 2.0
Philip Hazel writes:
> On Mon, 16 Nov 1998, Marc Haber wrote:
>
> > |gcc -o exim accept.o child.o daemon.o dbfn.o debug.o deliver.o direct.o directory.o dns.o drtables.o exim.o expand.o filter.o globals.o header.o host.o log.o match.o moan.o os.o parse.o queue.o readconf.o retry.o rewrite.o route.o search.o smtp_in.o
> spool_in.o spool_out.o store.o string.o tod.o transport.o tree.o verify.o perl.o version.o \
> > | libident/libident.a pcre/libpcre.a directors/directors.a \
> > | routers/routers.a transports/transports.a lookups/lookups.a \
> > | -lnsl -ldb -lresolv \
> > | -rdynamic -L/usr/local/lib
> /usr/lib/perl5/i386-linux/5.004/auto/DynaLoader/DynaLoader.a
> -L/usr/lib/perl5/i386-linux/5.004/CORE -lperl -lnsl -lndbm -lgdbm -ldb
> -ldl -lm -lc -lposix -lcrypt
>
> > |ld: cannot open -lgdbm: No such file or directory
>
> Ah! You are trying to do the Perl thing. Is that where the -lgdbm has
> come from in the above command?
>
> > I can't find where the makefile sets the search path for libraries
> > though.
>
> LFLAGS would be the normal ones. Above, that is set to "-lnsl -ldb
> -lresolv -rdynamic -L/usr/local/lib" by the look of it. Then PERL_LIBS
> are stuck on the end. That is clearly where the -lgdbm is coming from.


That's right. Perl keeps around the various compiler and library
options that are necessary for building Perl extensions. If "-lgdbm"
is included in there then Perl itself was compiled with "-lgdbm" and
I would expect that
    ldd /usr/bin/perl
would have a line showing a dependency on something like libgdbm.so.2.
I suppose it's possible that the Debian crowd messed up their Perl
build and linked statically against libgdbm.a when *they* built Perl
but that you don't have libgdbm.a installed on your system.
With Red Hat Linux, for example, the archive library libgdbm.a is in
the gdbm-devel RPM whereas the libgdbm.so stuff is all that most
people need and lives in the gdbm RPM.


--Malcolm

--
Malcolm Beattie <mbeattie@???>
Unix Systems Programmer
Oxford University Computing Services

--
*** Exim information can be found at http://www.exim.org/ ***