SUMMARY Building sendmail and the libdb.so "problem"

From: Paul N. Youngblood <youngbp_at_uahis1.uah.edu>
Date: Thu, 22 Feb 2001 17:25:57 -0600 (CST)

Hello System Admins,

Finally, here's my very late summary for the posting I made
back on 11 Jan 2001. I believe the specific answer I was looking
for came from Toni Harbaugh-Blackford. She said:

   I edited the devtools/OS/OSF1 file, changing the value of
   'confLIBS' to '-db -ldbm /usr/local/BerkeleyDB.3.2/lib/libdb.a'.
   Originally, it was just '-ldbm'. With this setting, the build
   procedure uses the archive library.

Although, I never tried this suggestion, it sounds like it would
have worked for me.

Because of some of your responses, I ended up rebuilding sendmail
without Sleepycat's BerkeleyDB.3.1.14 -- I just used the original
(old) db that came with Tru64 v4.0F and everything works fine.
In fact, not only did I get rid of the two BerkeleyDB entries from
my site.config.m4 file, I deleted all entries and just used an empty
site.config.m4. See below for my original site.config.m4. Somewhere
along the way, I got it my head that when building sendmail, I needed
to use not only the new BerkeleyDB but also, the includes and libs
from a newer bind (v8.2.2) than what ships with Tru64. (The machine
I'm building sendmail on is also a nameserver and runs BIND v8.2.2)
I thought that if you run nameserver software, you were supposed to
use those same libs and headers that come with bind when building
sendmail. I believe I got way off-track because of not really
understanding some of the documentation that comes with sendmail.
Anyway, because of all your helpful advice, I removed all lines from
my site.config.m4 and built sendmail without problem.

Also, thank you for the information on the behavior of Digital's
linker. Wolfram Klaus sent me a helpful response which seemed to
agree with all of your other comments in this area:

> I don't know, why exactly you have to rename it, but it sounds like
> a link command finds /usr/shlib/libdb.so where it actually should
> find a libdb.a in some of the subdirectories of the build directory.
> Is that correct?
>
> If so, the problem is the way the linker (ld) searches for libraries.
> It first searches all directories -- starting with the ones given by a
> -L switch on the command line, followed by the builtin standard paths
> -- for shared libraries. Only failing to find one, the linker will
> research all those dirs in the same order for static libs. This
> behaviour can be changed by the -oldstyle_liblookup switch of ld.
>
> Usually ld is not called directly, but via cc, so you should add
> "-Wl,-oldstyle_liblookup" to the options of the cc command that does
> the linking.

Sorry I lied about posting a summary "soon". I should have said
"I'll post a SUMMARY after a long time".
 
Thanks to all of the following for your VERY knowledgeable and
VERY helpful replies:

John P Speno <speno_at_isc.upenn.edu>
Richard Loken <tech_at_athabascau.ca>
Wolfram Klaus <klaus_at_physik.fu-berlin.de>
Frank Wortner <frank_at_bondnet.com>
Nikola Milutinovic <Nikola.Milutinovic_at_ev.co.yu
Mike Iglesias <iglesias_at_draco.acs.uci.edu>
"Dr. Thomas.Blinn_at_Compaq.com" <tpb_at_doctor.zk3.dec.com>
Jerome M Berkman <jerry_at_uclink.berkeley.edu>
Toni Harbaugh-Blackford <harbaugh_at_ncifcrf.gov>

Paul Youngblood

------------------------------------------------------------
--------begin original post and clarification post----------
------------------------------------------------------------
Date: Thu, 11 Jan 2001 10:16:57 -0600 (CST)
From: Paul N. Youngblood <youngbp_at_uahis1.uah.edu>
To: tru64-unix-managers <tru64-unix-managers_at_ornl.gov>

Subject: Building sendmail and the libdb.so "problem"

Hello System Admins,

I've got Tru64 v4.0F with Enhanced Security. To build sendmail
version 8.11.2, (and v8.10.2 for that matter), I have to
temporarily rename the /usr/shlib/libdb.so library. If I don't,
I get the link error:

   ld:
   Unresolved:
   db_create
   *** Exit 1
   Stop.

Does anyone know how to do the build without temporarily renaming
the libdb.so library?

Paul Youngblood

------------------

Subject: (More) Building sendmail and the libdb.so "problem"

Sorry folks,

My original submission for this subject line was not as
complete as I should have made it. I think I should have
included a copy of my site.config.m4 file. Here it is:

# cat sendmail-8.11.2/devtools/Site/site.config.m4
APPENDDEF(`confINCDIRS', `-I/usr/local/bind/include')
APPENDDEF(`confINCDIRS', `-I/usr/local/BerkeleyDB.3.1/include')
APPENDDEF(`confLIBDIRS', `-L/usr/local/bind/lib')
APPENDDEF(`confLIBDIRS', `-L/usr/local/BerkeleyDB.3.1/lib')
APPENDDEF(`confLIBDIRS', `-L/usr/shlib')
#

So I am using BerkeleyDB v3.1.14 instead of the older one that
comes with Tru64.

Also, I should mention that I use only the "sh Build" command
(no added switches) in the sendmail-8.11.2/sendmail directory
to do the actual build.

I appreciate very much any info you send me. Thanks for all the
help so far. I will summarize soon.

Paul Youngblood
Received on Thu Feb 22 2001 - 23:11:32 NZDT

This archive was generated by hypermail 2.4.0 : Wed Nov 08 2023 - 11:53:41 NZDT