--- /dev/null
+--- a/parser_yacc.y~ 2008-06-06 14:50:33.000000000 +0200
++++ a/parser_yacc.y 2008-06-07 00:38:36.448522043 +0200
+@@ -672,12 +672,14 @@
+ case RLIMIT_NPROC:
+ case RLIMIT_LOCKS:
+ case RLIMIT_SIGPENDING:
++#ifdef RLIMIT_RTPRIO
+ case RLIMIT_RTPRIO:
+ if ($6 == end || *end != '\0' || tmp < 0)
+ yyerror("RLIMIT '%s' invalid value %s\n", $4, $6);
+ value = tmp;
+ break;
+-
++#endif
++#ifdef RLIMIT_NICE
+ case RLIMIT_NICE:
+ if ($6 == end || *end != '\0')
+ yyerror("RLIMIT '%s' invalid value %s\n", $4, $6);
+@@ -685,6 +687,7 @@
+ yyerror("RLIMIT '%s' out of range (-20 .. 19) %d\n", $4, tmp);
+ value = tmp + 20;
+ break;
++#endif
+ case RLIMIT_FSIZE:
+ case RLIMIT_DATA:
+ case RLIMIT_STACK:
+--- a/parser_misc.c~ 2008-05-29 22:45:04.000000000 +0200
++++ a/parser_misc.c 2008-06-07 00:42:44.431478766 +0200
+@@ -91,8 +91,12 @@
+ {"locks", RLIMIT_LOCKS},
+ {"sigpending", RLIMIT_SIGPENDING},
+ {"msgqueue", RLIMIT_MSGQUEUE},
++#ifdef RLIMIT_NICE
+ {"nice", RLIMIT_NICE},
++#endif
++#ifdef RLIMIT_RTPRIO
+ {"rtprio", RLIMIT_RTPRIO},
++#endif
+ /* terminate */
+ {NULL, 0}
+ };