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