Nick
asked on
Upgrade issue - hash problems
Hi All,
I am attempting to update sendmail from 8.11.redhat.version (no more updates) to latest 8.13.1
All builds great, and I built sendmail.cf from my existing sendmail.mc (with a few changes to suit).
I get these errors on starting:
554 5.0.0 /etc/mail/sendmail.cf: line 158: readcf: map mailertable: class hash not available
554 5.0.0 /etc/mail/sendmail.cf: line 161: readcf: map virtuser: class hash not available
554 5.0.0 /etc/mail/sendmail.cf: line 166: readcf: map access: class hash not available
The files all exist in /etc/mail/ as existing sendmail loads them at start.
Ideas what I need to correct this? All I need is a receiving/sending sendmail server (one user, me) tied down with no relaying.
TIA,
Nick
I am attempting to update sendmail from 8.11.redhat.version (no more updates) to latest 8.13.1
All builds great, and I built sendmail.cf from my existing sendmail.mc (with a few changes to suit).
I get these errors on starting:
554 5.0.0 /etc/mail/sendmail.cf: line 158: readcf: map mailertable: class hash not available
554 5.0.0 /etc/mail/sendmail.cf: line 161: readcf: map virtuser: class hash not available
554 5.0.0 /etc/mail/sendmail.cf: line 166: readcf: map access: class hash not available
The files all exist in /etc/mail/ as existing sendmail loads them at start.
Ideas what I need to correct this? All I need is a receiving/sending sendmail server (one user, me) tied down with no relaying.
TIA,
Nick
According to my copy of _Sendmail_3rd_Edition_ by Bryan Costales (ISBN 1-56592-839-3), on page 888 (S23.7.7), the hash database map is only available if sendmail is compiled with NEWDB defined and the Berkeley or Sleepycat db(3) library linked.
So, go to http://www.sleepycat.com/download/db/index.shtml and download the database, compile and install it.
Then, when you rebuild sendmail, in the ./devtools/Site/site.confi g.m4 file, put:
APPENDDEF(`confLIBDIRS', `-L/path/to/BerkeleyDB/lib ')
APPENDDEF(`confINCDIRS', `-I/path/to/BerkeleyDB/inc lude')
APPENDDEF(`confENVDEF', `-DNEWDB')
Sendmail will be rebuilt with the appropriate support.
Then, when you rebuild sendmail, in the ./devtools/Site/site.confi
APPENDDEF(`confLIBDIRS', `-L/path/to/BerkeleyDB/lib
APPENDDEF(`confINCDIRS', `-I/path/to/BerkeleyDB/inc
APPENDDEF(`confENVDEF', `-DNEWDB')
Sendmail will be rebuilt with the appropriate support.
ASKER
I have just spent 2 hours fighting this... I must have the Berkley DB as existing sendmail uses it, and I built the access.db using makemap ages ago.
Also, sendmail info states that if 'libdb.so' exists, it will build NEWDB anyway.
I have:
/usr/lib/libdb.so.2 -> libdb1.so.2
/usr/lib/libdb.so -> /usr/lib/libdb2.so.3
If I build with the in /devtools/Site/site.config .m4 I get:
defines../../include/sm/bd b.h:17:17: db.h: No such file or directory
I tried hooking a symlink libdb.so to point to either of those files, but same build error arises.
So it looks like I am missing headers.
I am not sure to update and install berkley DB, as it could break my existing sendmail.
...and I thought configuring sendmail to work was hard... heh.
OK, lets change the tact on this question. I am a home user, using sendmail just to receive and send mail from my hosted domain here. Do I need to use DB's at all?
Nick
Also, sendmail info states that if 'libdb.so' exists, it will build NEWDB anyway.
I have:
/usr/lib/libdb.so.2 -> libdb1.so.2
/usr/lib/libdb.so -> /usr/lib/libdb2.so.3
If I build with the in /devtools/Site/site.config
defines../../include/sm/bd
I tried hooking a symlink libdb.so to point to either of those files, but same build error arises.
So it looks like I am missing headers.
I am not sure to update and install berkley DB, as it could break my existing sendmail.
...and I thought configuring sendmail to work was hard... heh.
OK, lets change the tact on this question. I am a home user, using sendmail just to receive and send mail from my hosted domain here. Do I need to use DB's at all?
Nick
ASKER
Typo:
/usr/lib/libdb.so -> /usr/lib/libdb2.so.3
should have been:
/usr/lib/libdb.so.3 -> libdb2.so.3
I cut and paste wrong line in scroll.
Nick
/usr/lib/libdb.so -> /usr/lib/libdb2.so.3
should have been:
/usr/lib/libdb.so.3 -> libdb2.so.3
I cut and paste wrong line in scroll.
Nick
Hash is only used in table lookups, like the "virtusertable" and "access" etc - you probably don't need it, but I suspect something somewhere will need to be fixed if you try to run without it.
Perhaps you're building wrongly? Here's how you should be doing it:-
cd /usr/src/redhat/SPECS/
rpmbuild -bc sendmail.spec
Why do you need 8.13.1 ? Maybe something else will work too?
Perhaps you're building wrongly? Here's how you should be doing it:-
cd /usr/src/redhat/SPECS/
rpmbuild -bc sendmail.spec
Why do you need 8.13.1 ? Maybe something else will work too?
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
--> Chris, I haven't got Redhat source - as I said, Redhat stopped free up2date ages ago - I am using sendmail 8.13.1 source.
OK, I managed to get a berkley db_deveL RPM to the db installed. That then allowed berkley* db to build correctly.
A bit of faffing about with sendmail.mc to get it all to work, and all OK.
After this, I just upgraded an old server at work... running Linux 2.2.26 - I got through sendmail install in about 10 minutes now I know what to do/what gotcha's on the way.
Thanks,
Nick
Great word Berk... Cockney Rhyming slang -> Berkley Hunt...
OK, I managed to get a berkley db_deveL RPM to the db installed. That then allowed berkley* db to build correctly.
A bit of faffing about with sendmail.mc to get it all to work, and all OK.
After this, I just upgraded an old server at work... running Linux 2.2.26 - I got through sendmail install in about 10 minutes now I know what to do/what gotcha's on the way.
Thanks,
Nick
Great word Berk... Cockney Rhyming slang -> Berkley Hunt...
Nick,
I appreciate you accepting my answer, but I don't understand the rather low grade of C. What did I do wrong?
I appreciate you accepting my answer, but I don't understand the rather low grade of C. What did I do wrong?
ASKER
Nothing, really, but I marked lowest grade as I guessed DB headers were missing (the problem), and also as I read and stated here sendmail auto-builds -NEWDB if it finds libdb.so - which it did.
So you confirmed what I found out and learnt before your initial comment.
No offence meant ;).
C == average BTW, not poor. I also thought my 500 points was a bit high for this type of question too, so it's swings and roundabouts.
Nick
So you confirmed what I found out and learnt before your initial comment.
No offence meant ;).
C == average BTW, not poor. I also thought my 500 points was a bit high for this type of question too, so it's swings and roundabouts.
Nick
If you solved the issue on your own, then it would have been better to post a (free) Question in the Community Support TA (https://www.experts-exchange.com/Community_Support/) and request that this Question be PAQed and your points refunded. A grade of C means that I didn't do a good job of providing an answer. You can still make that request (be sure to include a link to this Question).
ASKER
No, I will not do that. Your help is very much appreciated, and two heads are better than one - it's nice to have a conference.
I am bound to have further questions, so I will repay :)
Grade C == you answered the question! You didn't do a 'bad job' (leave the politicians to do that) - at the time I thought because with a 'little' help I sussed it, you maybe shouldn't get a 'good' or 'great' mark - all grades are winners in my eyes?
I have no qualms about 'modding up' so to speak - can that be done?
Nick
I am bound to have further questions, so I will repay :)
Grade C == you answered the question! You didn't do a 'bad job' (leave the politicians to do that) - at the time I thought because with a 'little' help I sussed it, you maybe shouldn't get a 'good' or 'great' mark - all grades are winners in my eyes?
I have no qualms about 'modding up' so to speak - can that be done?
Nick
I appreciate your feedback.
If you'd like to change the grade (which does NOT affect the amount of points you spend), then post a Question in the Community Support TA (as described above) and request a Grade Change. A moderator can do it for you (or re-open the Question and let you grade it again).
If you'd like to change the grade (which does NOT affect the amount of points you spend), then post a Question in the Community Support TA (as described above) and request a Grade Change. A moderator can do it for you (or re-open the Question and let you grade it again).
ASKER
I have already mailed a mod... you will get a B soon :)
Nick
P.S. get ready for my next question (a work question - not a home question)... it's a stinker! ;)
Nick
P.S. get ready for my next question (a work question - not a home question)... it's a stinker! ;)
The grade has been changed as requested.
RomMod
Community Support Moderator
RomMod
Community Support Moderator