ports/160597: [patch] audio/xmp: enable --realtime command line option

h h aakuusta at gmail.com
Fri Sep 9 19:40:16 UTC 2011


>Number:         160597
>Category:       ports
>Synopsis:       [patch] audio/xmp: enable --realtime command line option
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Fri Sep 09 19:40:14 UTC 2011
>Closed-Date:
>Last-Modified:
>Originator:     h h
>Release:        FreeBSD 9.0-BETA2 r225445M amd64
>Organization:
>Environment:
>Description:
Autodetection of <sys/rtprio.h> presence fails due to missing typedefs
provided by <sys/types.h>. And rtprio(2) manpage mentions both.

>From docs/ChangeLog:

  1.1.6 (19981019):
        - Option for realtime priority in FreeBSD added by Douglas
          Carmichael <dcarmich at mcs.com>

Apparently, autoconf-2.12 (in xmp-1.1.6) only checks headers with CPP but
autoconf-2.67 (in xmp-3.4.1) also tries to compile them with CC and fails.

cf. http://sourceforge.net/mailarchive/forum.php?thread_name=86ty8zcut0.fsf%40gmail.com&forum_name=xmp-devel
>How-To-Repeat:
$ gcc -S -xc -include sys/types.h -include sys/rtprio.h /dev/null -o /dev/null
$ gcc -S -xc -include sys/rtprio.h /dev/null -o /dev/null
In file included from /usr/include/sys/rtprio.h:37,
                 from <command-line>:0:
/usr/include/sys/priority.h:127: error: expected specifier-qualifier-list before 'u_char'
In file included from <command-line>:0:
/usr/include/sys/rtprio.h:73: error: expected specifier-qualifier-list before 'u_short'
In file included from <command-line>:0:
/usr/include/sys/rtprio.h:88: error: expected declaration specifiers or '...' before 'pid_t'
/usr/include/sys/rtprio.h:89: error: expected declaration specifiers or '...' before 'lwpid_t'
Exit 1

$ clang -S -xc -include sys/types.h -include sys/rtprio.h /dev/null -o /dev/null
$ clang -S -xc -include sys/rtprio.h /dev/null -o /dev/null
In file included from <built-in>:130:
In file included from <command line>:1:
In file included from /usr/include/sys/rtprio.h:37:
/usr/include/sys/priority.h:127:2: error: unknown type name 'u_char'; did you mean 'char'?
        u_char  pri_class;      /* Scheduling class. */
        ^
/usr/include/sys/priority.h:128:2: error: unknown type name 'u_char'; did you mean 'char'?
        u_char  pri_level;      /* Normal priority level. */
        ^
/usr/include/sys/priority.h:129:2: error: unknown type name 'u_char'; did you mean 'char'?
        u_char  pri_native;     /* Priority before propogation. */
        ^
/usr/include/sys/priority.h:130:2: error: unknown type name 'u_char'; did you mean 'char'?
        u_char  pri_user;       /* User priority based on p_cpu and p_nice. */
        ^
In file included from <built-in>:130:
In file included from <command line>:1:
/usr/include/sys/rtprio.h:73:2: error: unknown type name 'u_short'; did you mean 'short'?
        u_short type;                   /* scheduling class */
        ^
/usr/include/sys/rtprio.h:74:2: error: unknown type name 'u_short'; did you mean 'short'?
        u_short prio;
        ^
6 errors generated.
Exit 1

$ make configure
[...]
checking sys/rtprio.h usability... no
checking sys/rtprio.h presence... yes
configure: WARNING: sys/rtprio.h: present but cannot be compiled
configure: WARNING: sys/rtprio.h:     check for missing prerequisite headers?
configure: WARNING: sys/rtprio.h: see the Autoconf documentation
configure: WARNING: sys/rtprio.h:     section "Present But Cannot Be Compiled"
configure: WARNING: sys/rtprio.h: proceeding with the compiler's result
checking for sys/rtprio.h... no
[...]

>Fix:
--- a.diff begins here ---
Index: audio/xmp/files/patch-configure
===================================================================
RCS file: audio/xmp/files/patch-configure
diff -N audio/xmp/files/patch-configure
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ audio/xmp/files/patch-configure	9 Sep 2011 18:02:27 -0000
@@ -0,0 +1,11 @@
+--- configure~
++++ configure
+@@ -5166,7 +5166,7 @@ done
+     fi
+     ;;
+ freebsd*)
+-    for ac_header in sys/resource.h sys/rtprio.h
++    for ac_header in sys/types.h sys/resource.h sys/rtprio.h
+ do :
+   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+ ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
--- a.diff ends here ---
>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the freebsd-ports-bugs mailing list