GNOME Bugzilla – Bug 594127
gstreamer-sharp does not build
Last modified: 2009-09-11 08:49:13 UTC
This is on Mandriva Cooker with latest released versions of gstreamer, mono and glib-sharp on Gnome 2.27: make[3]: Entering directory `/home/goetz/gstreamer-sharp-0.9.0/gstreamer-sharp' /usr/bin/gmcs -nowarn:0612 -debug -unsafe -out:gstreamer-sharp.dll -target:library ./DynamicSignal.cs ./Application.cs ./Version.cs ./AssemblyInfo.cs ./GError.cs ./Value.cs ./PropertyInfo.cs ./EnumInfo.cs ./MiniObject.cs ./Marshaller.cs ./GstSharp.PadQueryTypeFunctionNative.cs ./PadQueryTypeFunction.cs ./TypeFindDelegates.cs ./PresetDefault.cs ./MixerMessage.cs ./NavigationMessage.cs ./NavigationEvent.cs ./NavigationQuery.cs ./coreplugins/*.cs ./glib-sharp/*.cs generated/*.cs ./coreplugins/generated/*.cs ./baseplugins/generated/*.cs generated/AppSink.cs(127,50): error CS0102: The type `Gst.App.AppSink' already contains a definition for `Eos' generated/AppSink.cs(39,29): (Location of the symbol related to previous error) generated/AppSink.cs(449,35): error CS0102: The type `Gst.App.AppSink' already contains a definition for `PullPreroll' generated/AppSink.cs(103,57): (Location of the symbol related to previous error) generated/AppSink.cs(458,35): error CS0102: The type `Gst.App.AppSink' already contains a definition for `PullBuffer' generated/AppSink.cs(115,56): (Location of the symbol related to previous error) generated/AppSrc.cs(543,39): error CS0102: The type `Gst.App.AppSrc' already contains a definition for `EndOfStream' generated/AppSrc.cs(234,57): (Location of the symbol related to previous error) generated/AppSrc.cs(552,39): error CS0102: The type `Gst.App.AppSrc' already contains a definition for `PushBuffer' [...]
Could you attach gstreamer-sharp/generated/AppSink.cs and AppSrc.cs to this bug? Also, please attach a complete build log
Nevermind, I have managed to make it build like this: ./configure; make MONO=mono My previous build failed like this: make[3]: Entering directory `/home/goetz/gstreamer-sharp-0.9.0/gstreamer-sharp' ../generator/gst-gapi_codegen.exe --generate ./gstreamer-api.xml \ --outdir=./generated --customdir=. --assembly-name=gstreamer-sharp \ --gluelib-name=gstreamersharpglue-0.10.dll --glue-filename=./glue/generated.c \ --glue-includes="gst/gst.h gst/interfaces/colorbalance.h gst/interfaces/colorbalancechannel.h gst/interfaces/tuner.h gst/interfaces/tunerchannel.h gst/interfaces/tunernorm.h gst/cdda/gstcddabasesrc.h" \ && cp ./override/URIHandlerAdapter.cs ./override/ColorBalanceAdapter.cs ./override/ColorBalance.cs ./override/Mixer.cs ./override/MixerAdapter.cs ./override/PropertyProbe.cs ./override/PropertyProbeAdapter.cs ./override/ProbeNeededHandler.cs ./override/NavigationAdapter.cs ./generated \ && sed 's;public class ObjectManager;internal class ObjectManager;g' ./generated/ObjectManager.cs > ./generated/ObjectManager.cs.tmp \ && mv ./generated/ObjectManager.cs.tmp ./generated/ObjectManager.cs \ && touch generated-stamp /bin/sh: ../generator/gst-gapi_codegen.exe: cannot execute binary file make[3]: *** [generated-stamp] Error 126 So once the variable MONO is set, everything builds fine.
Created attachment 142476 [details] build log
Created attachment 142477 [details] requested source
Created attachment 142479 [details] requested source
Created attachment 142480 [details] [review] use the right macro for mono This little patch fixes the problem for me.
Ah, that's fixed already in GIT. Sorry for this stupid bug. commit 41af404c11df89814819169d0ab9a18ca8cd19dc Author: Sebastian Dröge <sebastian.droege@collabora.co.uk> Date: Fri Sep 4 06:57:03 2009 +0200 Only check for mono and set $(MONO) if we're building with mono For MS .NET $(MONO) will be set to nothing because .exe files can be executed directly there. commit aa9a44aef70706048e1a504a2e15878dc3967fc3 Author: Gabriel Burt <gabriel.burt@gmail.com> Date: Thu Sep 3 15:47:27 2009 -0700 Fix build on SUSE by finding Mono runtime