Ritesh Raj Sarraf wrote:

I'm running a Sarge machine.

I have applied the following patches from qmailrocks.org to the source
package of qmail provided by Pape Smarden at smarden.org.
qmail-1.03-forcetls-20040703.patch
qmail-1.03-jms1.5.patch

Following is the error message when I try to compile:

/usr/bin/gcc -nostdlib -static - -L/usr/lib/diet/lib-i386 /usr/lib/diet/lib-i386/start.o -s -o qmail-remote qmail-remote.o control.o constmap.o timeoutread.o timeoutwrite.o timeoutconn.o tcpto.o now.o dns.o ip.o ipalloc.o strsalloc.o ipme.o quote.o ndelay.a case.a sig.a open.a lock.a seek.a getln.a stralloc.a alloc.a substdio.a error.a str.a fs.a auto_qmail.o -lresolv -lssl -lcrypto - -isystem /usr/lib/diet/include -D__dietlibc__ -Os - -mpreferred-stack-boundary=2 -falign-functions=1 -falign-jumps=1 - -falign-loops=1 -fomit-frame-pointer /usr/lib/diet/lib-i386/libc.a -lgcc
/usr/lib/gcc-lib/i486-linux/3.3.5/../../../libcrypto.a(bss_file.o)
(.text+0x8e): In function `file_ctrl':
: warning: warning: your code uses stdio (7+k bloat).
/usr/lib/diet/lib-i386/libc.a(vfprintf.o)(.text+0x36): In function
`vfprintf':
: warning: warning: the printf functions add several kilobytes of bloat.
/usr/lib/diet/lib-i386/libc.a(vsscanf.o)(.text+0x5b): In function `vsscanf':
: warning: warning: the scanf functions add several kilobytes of bloat.
/usr/lib/gcc-lib/i486-linux/3.3.5/../../../libcrypto.a(obj_dat.o)
(.text+0x958): In function `OBJ_create_objects':
: undefined reference to `__ctype_b_loc'

<snip>

Prima Facie:

You are builing against diet libc and it seems that the cryptographic library has been linked against a different C runtime (glibc in all probablity)...and now the compiler can't resolve symbol references from the cryptographic library in to the C runtime.

Possible solutions [to be tried in order]:

-> Consider Suresh's suggestion - use a real MTA like Postfix or Exim.

-> Is it your decision to use diet libc or is it qmail's? Can't you link against glibc instead? How about ucLibC?

-> Check if a newer version of diet libc has the functions you need: __ctype_to_b, __ctype_tolower_loc, __xstat & __strtoul_internal

-> Check if there is a "compatibility" library of some sort to provide these missing symbols in diet libc.

-> Upgrade the cryptographic library - the newest one might not depend upon these symbols :)

-> See if you get a version of the cryptographic library compiled against diet libc.

-> Roll your own - download the sources for the cryptographic library and link it againt diet libc.

-> Actually follow Suresh's suggestion - use a real MTA like Postfix or Exim.

Note: I have no first hand experience with either Debian or QMail and plan to keep things that way.

--
Regards,
Varun Varma
---------------------------------------
Mindframe Software & Services Pvt. Ltd.
http://www.mindsw.com
---------------------------------------


-------------------------------------------------------
SF.Net email is sponsored by: Discover Easy Linux Migration Strategies
from IBM. Find simple to follow Roadmaps, straightforward articles,
informative Webcasts and more! Get everything you need to get up to
speed, fast. http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click
_______________________________________________
linux-india-help mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/linux-india-help

Reply via email to