procmail
[Top] [All Lists]

Re: procmail over bsdi

2001-08-16 02:04:59
Katherine Leon <keleon(_at_)ecua(_dot_)net(_dot_)ec> writes:
...
| the mktemp I liked download form ftp.openbsd.org this:
| 
| drwxr-xr-x  2 root  ecuanet   512 Aug  5 13:06 CVS
| -rw-r--r--  1 root  ecuanet    99 Aug  5 13:04 Makefile
| -rw-r--r--  1 root  ecuanet  4698 Aug  5 13:04 mktemp.1
| -rw-r--r--  1 root  ecuanet  2914 Aug  5 13:04 mktemp.c
| -rw-r--r--  1 root  ecuanet  1992 Aug  5 13:06 mktemp.o
| 
| and I ran:
| # make
| shlicc  -o mktemp mktemp.o
| mktemp.o: In function `main':
| mktemp.o(.text+0xed): undefined reference to `mkdtemp'
| *** Error code 1

Hi, 

It seems that you have problem with the binary you're using. I suggest
that you contact the maintiner of the mktemp, perhaps the OpenBSD 
staff? The shared library could't be created because there is no
source code for call mkdtemp. I can't tell much more from the output.

The mktemp source code found in the OpenBSD source tree is dependent on
the C library included with OpenBSD.  Asking them to make it portable will
merely get you laughed at.  They don't have enough time for all their
OpenBSD work much less porting to systems with crippled C libraries;
if you want it a portable version you'll have to make it so yourself.

Fortunately, some Linux people did just that.  Checking the redhat
ftp site for a source RPM and extracting the patch from it gives
the following (weak) implementation of mkdtemp().  Add it to
the mktemp.c file right before the "int main" lines.


static char * mkdtemp (char *template)
{
    if (mktemp(template)) {
       int ret;
       ret = mkdir(template, 0700);
       
       if (ret == 0)
           return template;
    }
    return NULL;
}


Good luck...


Philip Guenther
_______________________________________________
procmail mailing list
procmail(_at_)lists(_dot_)RWTH-Aachen(_dot_)DE
http://MailMan.RWTH-Aachen.DE/mailman/listinfo/procmail

<Prev in Thread] Current Thread [Next in Thread>