Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 28 Sep 2012 11:09:36 GMT
From:      Luis López Solé <lluis.lopez.sole@gmail.com>
To:        freebsd-gnats-submit@FreeBSD.org
Subject:   ports/172140: The /usr/ports/multimedia/pvr250 port is broken for FreeBSD 9 systems more than __FreeBSD_version = 900045
Message-ID:  <201209281109.q8SB9aZ2038124@red.freebsd.org>
Resent-Message-ID: <201209281110.q8SBA6o1037836@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         172140
>Category:       ports
>Synopsis:       The /usr/ports/multimedia/pvr250 port is broken for FreeBSD 9 systems more than  __FreeBSD_version = 900045
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          maintainer-update
>Submitter-Id:   current-users
>Arrival-Date:   Fri Sep 28 11:10:06 UTC 2012
>Closed-Date:
>Last-Modified:
>Originator:     Luis López Solé
>Release:        FreeBSD 9.1-RC1
>Organization:
n/a
>Environment:
FreeBSD workstation 9.1-RC1 FreeBSD 9.1-RC1 #0: Tue Aug 14 04:25:06 UTC 2012   root@farrell.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC  amd64
>Description:
The /usr/ports/multimedia/pvr250 port is broken for FreeBSD 9 systems more than  __FreeBSD_version = 900045

If you try to build /usr/ports/multimedia/pvr250 in a system with a __FreeBSD_version >= 900045 you an see the following error:

[...]
cc1: warnings being treated as errors
/usr/ports/multimedia/pvr250/work/modules/cxm/cxm/../../../dev/cxm/cxm.c: In function 'cxm_encoder_dma_done':
/usr/ports/multimedia/pvr250/work/modules/cxm/cxm/../../../dev/cxm/cxm.c:1397: warning: implicit declaration of function 'psignal'
/usr/ports/multimedia/pvr250/work/modules/cxm/cxm/../../../dev/cxm/cxm.c:1397: warning: nested extern declaration of 'psignal' [-Wnested-externs]
*** [cxm.o] Error code 1

Stop in /usr/ports/multimedia/pvr250/work/modules/cxm/cxm.
*** [all] Error code 1

Stop in /usr/ports/multimedia/pvr250/work/modules/cxm.
*** [do-build] Error code 1

Stop in /usr/ports/multimedia/pvr250.


>How-To-Repeat:
In a FreeBSD 9 (>=900045) system:

# cd /usr/ports/multimedia/pvr250 && make install
>Fix:
The psignal function in <sys/signalvar.h> has been changed by kern_psignal as you can see in http://svnweb.FreeBSD.org/base/head/sys/kern/kern_context.c?revision=225617&view=markup

Fri Sep 16 13:58:51 2011 UTC (12 months, 1 week ago) by kmacy 
File MIME type: text/plain 
File size: 3653 byte(s)
In order to maximize the re-usability of kernel code in user space this
patch modifies makesyscalls.sh to prefix all of the non-compatibility
calls (e.g. not linux_, freebsd32_) with sys_ and updates the kernel
entry points and all places in the code that use them. It also
fixes an additional name space collision between the kernel function
psignal and the libc function of the same name by renaming the kernel
psignal kern_psignal(). By introducing this change now we will ease future
MFCs that change syscalls.

Reviewed by:	rwatson
Approved by:	re (bz)

The following patch patch_to_build_pvr250_in_FreeBSD-9.txt made with 

#diff -u dev/cxm/cxm.c.orig dev/cxm/cxm.c > patch_to_build_pvr250_in_FreeBSD-9.txt

fix the problem

Patch attached with submission follows:

--- dev/cxm/cxm.c.orig	2012-09-28 10:59:33.000000000 +0200
+++ dev/cxm/cxm.c	2012-09-28 11:13:03.000000000 +0200
@@ -1394,7 +1394,11 @@
 
 	/* signal anyone requesting notification */
 	if (sc->enc_proc)
-		psignal (sc->enc_proc, sc->enc_signal);
+#if __FreeBSD_version >= 900045
+	kern_psignal (sc->enc_proc, sc->enc_signal);
+#else
+	psignal (sc->enc_proc, sc->enc_signal);
+#endif
 
 	/* wakeup anyone waiting for data */
 	wakeup(&sc->enc_pool.read);


>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201209281109.q8SB9aZ2038124>