Author Topic: Exim built for Mandrake  (Read 758 times)

dbl221

  • Member
  • **
  • Posts: 253
  • Kudos: 0
Exim built for Mandrake
« on: 24 February 2002, 01:08 »
Hey gang

I am trying to build Exim (an MTA) from source...one slight problem...you must handtool the  Makefile and I am not sure what DBM format Mandrake 8.1 download edition uses or where its libraries are.

Berkley DM????  the GNU DB???  of course I am not the first to have this problem but all the fixes I found didn't work....sigh!

any thoughts   :confused:
dbl221***Comp-Sys walking wounded

dbl221

  • Member
  • **
  • Posts: 253
  • Kudos: 0
Exim built for Mandrake
« Reply #1 on: 24 February 2002, 02:28 »
OK problem solved as follows:


Different versions of Linux come with different DBM libraries, stored in different places. As well as setting USE_DB=yes in Local/Makefile if Berkeley DB is in use, it may also be necessary to set a value in DBMLIB to specify the inclusion of the DBM library, for example: DBMLIB=-ldb or DBMLIB=-lgdbm.

The building scripts now distinguish between versions of Linux with the older libc5 and the more recent ones that use libc6. In the latter case, USE_DB and -ldb are the default settings, because DB is standard with libc6.

It appears that with glibc-2.1.x (a minor libc upgrade), they have standardised on Berkeley DB2 (instead of DB1 in glibc-2.0.x). If you want to get DB1 back, you need to set

INCLUDE=-I/usr/include/db1 DBMLIB=-ldb1

in your Local/Makefile. If you omit DBMLIB=-ldb1 Exim will link successfully using the DB1 compatibility interface to DB2, but it will expect the file format to be that of DB2, and so will not be able to read existing DB1 files.


This brings up an imprtant point for Linux users: The lack of standards for LIbraries and where they are installed.

It seems to me that Linux would benefit from more or better standards for some components.

   

[ February 23, 2002: Message edited by: dbl221 ]

dbl221***Comp-Sys walking wounded

voidmain

  • VIP
  • Member
  • ***
  • Posts: 5,605
  • Kudos: 184
    • http://voidmain.is-a-geek.net/
Exim built for Mandrake
« Reply #2 on: 24 February 2002, 07:39 »
Why is Mandrake 8.1 using such old libraries and glibc?  I've been running db3 (3.2.9) for a while and glibc of 2.2.4.  Luckily *most* source packages are better built than that and have a "configure" script that locates all of the necessary libraries and builds the appropriate Makefile.
Someone please remove this account. Thanks...