diff -pur dvd+rw-tools-6.1/mp.h dvd+rw-tools-6.1-ia64/mp.h
--- dvd+rw-tools-6.1/mp.h	2006-01-26 14:13:32.000000000 +0100
+++ dvd+rw-tools-6.1-ia64/mp.h	2006-03-29 12:01:45.879406950 +0200
@@ -31,15 +31,17 @@ static void  __semaphore_close(void *h)	
 #include <sched.h>
 #include <semaphore.h>
 #include <stdlib.h>
+#include <limits.h>
 
 #define THR_TYPE int
 
 static void *__thread_create(int (*func)(void *),void *arg)
 { pthread_t h;
   pthread_attr_t attr;
+  size_t pss = (PTHREAD_STACK_MIN >= 64*1024) ? PTHREAD_STACK_MIN : 64*1024;
 
     if (pthread_attr_init(&attr)==0 &&
-	pthread_attr_setstacksize(&attr,64*1024)==0 &&
+	pthread_attr_setstacksize(&attr,pss)==0 &&
 	pthread_attr_setscope(&attr,PTHREAD_SCOPE_SYSTEM)==0 &&
 	pthread_create(&h,&attr,(void *(*)(void *))func,arg)==0 )
 	return (void *)h;
