Subject: pkg/22831: pkgsrc/misc/gstreamer broken on alpha
To: None <gnats-bugs@gnats.NetBSD.org>
From: None <jarkko.teppo@er-grp.com>
List: netbsd-bugs
Date: 09/17/2003 10:11:26
>Number:         22831
>Category:       pkg
>Synopsis:       pkgsrc/misc/gstreamer broken on alpha
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    pkg-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Wed Sep 17 10:12:00 UTC 2003
>Closed-Date:
>Last-Modified:
>Originator:     Jarkko Teppo
>Release:        NetBSD 1.6ZB (KUNGFU) #1: Mon Sep 15 18:32:58 EEST 2003
>Organization:
none
>Environment:
NetBSD kungfu 1.6ZB NetBSD 1.6ZB (KUNGFU) #1: Mon Sep 15 18:32:58 EEST 2003  jarkko@kungfu:/src/src/sys/arch/alpha/compile/obj/KUNGFU alpha
>Description:
the gstreamer package is currently broken on alpha:

cc -DHAVE_CONFIG_H -I. -I. -I. -I/usr/pkg/include/libglade-2.0 -I/usr/pkg/include -I/usr/X11R6/include -I.. -Werror -I/usr/pkg/include/glib/glib-2.0 -I/usr/pkg/lib/glib-2.0/include -I.. -O2 -pipe -mieee -I/usr/pkg/include -I/usr/X11R6/include -c cothreads.c -Wp,-MD,.deps/libcothreads_la-cothreads.TPlo  -fPIC -DPIC -o .libs/libcothreads_la-cothreads.lo
cc1: warnings being treated as errors
cothreads.c: In function `cothreads_alloc_thread_stack':
cothreads.c:425: warning: cast from pointer to integer of different size
cothreads.c:425: warning: cast to pointer from integer of different size
gmake[6]: *** [libcothreads_la-cothreads.lo] Error 1
gmake[6]: Leaving directory `/home/pkgsrc/misc/gstreamer/work/gstreamer-0.6.1/libs/ext/cothreads/cothreads'


>How-To-Repeat:
Try to build gstreamer on alpha.
>Fix:

Winging it based on freebsd patches, at least it builds after this.

--- work/gstreamer-0.6.1/libs/ext/cothreads/cothreads/cothreads.c.orig  2003-09-17 12:51:47.000000000 +0300
+++ work/gstreamer-0.6.1/libs/ext/cothreads/cothreads/cothreads.c       2003-09-17 12:53:33.000000000 +0300
@@ -422,7 +422,7 @@
   *stack = malloc (_cothreads_chunk_size * (1.0 + 1.0/_cothreads_count));
   if (!stack)
     return FALSE;
-  *stack = (void*)((int)*stack &~ (int)(_cothreads_chunk_size / _cothreads_count - 1));
+  *stack = (void*)((intptr_t)*stack &~ (intptr_t)(_cothreads_chunk_size / _cothreads_count - 1));
   *stack += 1;
 #endif
>Release-Note:
>Audit-Trail:
>Unformatted: