Opened 7 years ago

Last modified 5 weeks ago

#54202 new defect

gstreamer1-gst-plugins-bad @1.12.0 : incompatible types casting 'dispatch_queue_t' to 'gpointer' — at Version 2

Reported by: herzog-bernd Owned by:
Priority: Normal Milestone:
Component: ports Version: 2.4.1
Keywords: Cc:
Port: gstreamer1-gst-plugins-bad

Description (last modified by ryandesign (Ryan Carsten Schmidt))

Operating system:Mac OS X 10.11.6
Xcode version: 7.3.1

Problem: The Terminal command

sudo port -svk install gstreamer1-gst-plugins-bad +universal

emits the above error message. More precisely, the complete error messages are:

gstglwindow_cocoa.m:131:28: error: incompatible types casting 'dispatch_queue_t' (aka 'struct dispatch_queue_s *') to 'gpointer' (aka 'void *') with a __bridge_retained cast
  window->priv->gl_queue = (__bridge_retained gpointer)
                           ^                  ~~~~~~~~
gstglwindow_cocoa.m:404:31: error: incompatible types casting 'gpointer' (aka 'void *') to 'dispatch_queue_t' (aka 'struct dispatch_queue_s *') with a __bridge cast
  dispatch_queue_t gl_queue = (__bridge dispatch_queue_t)priv->gl_queue;
                              ^         ~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~

They come from the compiler call:

libtool: compile:  /usr/bin/clang -DHAVE_CONFIG_H -I. -I../../../.. -I/opt/local/include -L/opt/local/lib -I../../../../gst-libs -I../../../../gst-libs -fobjc-arc -D_REENTRANT -I/opt/local/include/gstreamer-1.0 -I/opt/local/include/glib-2.0 -I/opt/local/lib/glib-2.0/include -D_REENTRANT -I/opt/local/include/gstreamer-1.0 -I/opt/local/include/glib-2.0 -I/opt/local/lib/glib-2.0/include -D_REENTRANT -I/opt/local/include/gstreamer-1.0 -I/opt/local/include/glib-2.0 -I/opt/local/lib/glib-2.0/include -DGST_USE_UNSTABLE_API -DG_THREADS_MANDATORY -DG_DISABLE_CAST_CHECKS -Wall -Wmissing-declarations -Wredundant-decls -Wwrite-strings -Wformat-nonliteral -Wformat-security -Winit-self -Wmissing-include-dirs -Wno-multichar -g -pipe -Os -arch i386 -c gstglcontext_cocoa.m  -fno-common -DPIC -o .libs/libgstgl_cocoa_la-gstglcontext_cocoa.o

executed in the folder /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_gnome_gstreamer1-gst-plugins-bad/gstreamer1-gst-plugins-bad/work/gst-plugins-bad-1.12.0-i386/gst-libs/gst/gl/cocoa

The project builds without error, if one replaces the bridged casts by usual casts. One could replace the two problematic statements with conditionals

#if defined(__llvm__) && __clang_major__ == 7
    < the statement without any '__bridge_retained' or '__bridge resp' > 
#else
	< original statement >
#endif

I'm not sure whether this fixes the problem: it should be decided by someone who really knows what's going on.

Change History (3)

Changed 7 years ago by herzog-bernd

Attachment: installLog.txt added

Output of the port -svk install command

comment:1 Changed 7 years ago by mf2k (Frank Schima)

Keywords: bridget cast in clang 7 removed

comment:2 Changed 7 years ago by ryandesign (Ryan Carsten Schmidt)

Description: modified (diff)

Sounds like a problem that is unlikely to be specific to MacPorts, so it should be reported to the developers of this software.

Note: See TracTickets for help on using tickets.