After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 378768 - Should use mono-cairo.pc instead of -r:Mono.Cairo
Should use mono-cairo.pc instead of -r:Mono.Cairo
Status: RESOLVED NOTGNOME
Product: f-spot
Classification: Other
Component: General
CVS
Other Linux
: Normal major
: ---
Assigned To: F-spot maintainers
F-spot maintainers
Depends on:
Blocks:
 
 
Reported: 2006-11-24 09:29 UTC by Sebastian Dröge (slomo)
Modified: 2006-11-27 00:10 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Sebastian Dröge (slomo) 2006-11-24 09:29:41 UTC
Hi,
currently f-spot uses -r:Mono.Cairo to link to the Mono.Cairo library. This won't work in some cases, for example if one compiles f-spot with gmcs but does not have Mono.Cairo 2.0 installed, only 1.0 which is completely valid.

gmcs only looks in /usr/lib/mono/2.0, mcs in /usr/lib/mono/1.0 when doing -r:something. So specifying a complete assembly path is needed unless you really want the same version as your runtime is for. But in that case you should check for Mono.Cairo 2.0 in configure and use it's pkg-config file (that is not existant yet, bug filed upstream).

Bye
Comment 1 Stephane Delcroix 2006-11-24 09:42:20 UTC
As far as I know (and grep the code), f-spot uses it's own copy of Cairo. And don't use -r:Mono.Cairo nor mono.cairo.pc...

Can you tell in wich file f-spot uses -r:Mono.Cairo ?
Comment 2 Sebastian Dröge (slomo) 2006-11-27 00:10:23 UTC
Right... this still does fail for some weird reason.

If you build CVS with gtk# 2.8 or higher and without having Mono.Cairo 2.0 installed it will fail with the error pasted below. If you install Mono.Cairo 2.0 it will compile but won't link against it. gmcs complains about 1.0 missing for gtk-sharp.dll but 1.0 is installed. This is probably caused by your own, bundled version of Mono.Cairo that is compiled in at this point.

I believe this is a mono bug though... and will file this at bugzilla.ximian.com and close this bug as invalid for now, feel free to reopen if you disagree :)

Bye



/usr/lib/mono/gac/gtk-sharp/2.10.0.0__35e10195dab3c99f/gtk-sharp.dll: `Gtk.Widget.InputShapeCombineMask(Gdk.Pixmap, int, int)', name of symbol related to previous warning
./CDExport.cs(90,11): warning CS0219: The variable `changed' is assigned but its value is never used
./ColorDialog.cs(384,32): warning CS0168: The variable `e' is declared but never used
./Core.cs(91,32): warning CS0168: The variable `e' is declared but never used
./Exif.cs(699,32): warning CS0168: The variable `e' is declared but never used
./FileImportBackend.cs(62,47): warning CS0168: The variable `e' is declared but never used
./FileImportBackend.cs(226,31): warning CS0168: The variable `e' is declared but never used
./FindBar.cs(196,20): warning CS0219: The variable `indent' is assigned but its value is never used
./GalleryRemote.cs(300,39): warning CS0168: The variable `e2' is declared but never used
./GalleryRemote.cs(294,38): warning CS0168: The variable `e' is declared but never used
./GalleryRemote.cs(457,39): warning CS0168: The variable `e' is declared but never used
./GalleryRemote.cs(801,39): warning CS0168: The variable `e' is declared but never used
./GalleryRemote.cs(1037,39): warning CS0168: The variable `e' is declared but never used

** (/usr/lib/mono/2.0/gmcs.exe:29619): WARNING **: The following assembly referenced from /usr/lib/mono/gac/gdk-sharp/2.10.0.0__35e10195dab3c99f/gdk-sharp.dll could not be loaded:
     Assembly: Mono.Cairo (assemblyref_index=2)
     Version: 1.0.5000.0
     Public Key: 0738eb9f132ed756
The assembly was not found in the Global Assembly Cache, a path listed in the MONO_PATH environment variable, or in the location of the executing assembly (/usr/lib/pkgconfig/../../lib/mono/gtk-sharp-2.0).

** (/usr/lib/mono/2.0/gmcs.exe:29619): WARNING **: Could not load file or assembly 'Mono.Cairo, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756' or one of its dependencies.

=================================================================
Got a SIGSEGV while executing native code. This usually indicates
a fatal error in the mono runtime or one of the native libraries
used by your application.
=================================================================

Stacktrace:

  at (wrapper managed-to-native) System.Reflection.MonoMethodInfo.get_method_info (intptr,System.Reflection.MonoMethodInfo&) <0xffffffff>
  at (wrapper managed-to-native) System.Reflection.MonoMethodInfo.get_method_info (intptr,System.Reflection.MonoMethodInfo&) <0x00088>
  at System.Reflection.MonoMethod.get_Attributes () <0x00038>
  at System.Reflection.MethodBase.get_IsVirtual () <0x00028>
  at Mono.CSharp.MemberCache.AddMethods (System.Reflection.BindingFlags,System.Type) <0x00284>
  at Mono.CSharp.MemberCache.AddMethods (System.Type) <0x00048>
  at Mono.CSharp.MemberCache..ctor (Mono.CSharp.IMemberContainer) <0x001fc>
  at Mono.CSharp.TypeHandle..ctor (System.Type) <0x001e8>
  at Mono.CSharp.TypeHandle.GetTypeHandle (System.Type) <0x00090>
  at Mono.CSharp.TypeHandle.GetMemberCache (System.Type) <0x00018>
  at Mono.CSharp.TypeManager.MemberLookup_FindMembers (System.Type,System.Reflection.MemberTypes,System.Reflection.BindingFlags,string,bool&) <0x003dc>
  at Mono.CSharp.TypeManager.RealMemberLookup (System.Type,System.Type,System.Type,System.Reflection.MemberTypes,System.Reflection.BindingFlags,string,System.Collections.IList) <0x00260>
  at Mono.CSharp.TypeManager.MemberLookup (System.Type,System.Type,System.Type,System.Reflection.MemberTypes,System.Reflection.BindingFlags,string,System.Collections.IList) <0x0004c>
  at Mono.CSharp.Expression.MemberLookup (System.Type,System.Type,System.Type,string,System.Reflection.MemberTypes,System.Reflection.BindingFlags,Mono.CSharp.Location) <0x000c4>
  at Mono.CSharp.Expression.MemberLookup (System.Type,System.Type,System.Type,string,Mono.CSharp.Location) <0x0003c>
  at Mono.CSharp.MemberAccess.DoResolve (Mono.CSharp.EmitContext,Mono.CSharp.Expression) <0x00340>
  at Mono.CSharp.MemberAccess.DoResolve (Mono.CSharp.EmitContext) <0x00020>
  at Mono.CSharp.Expression.Resolve (Mono.CSharp.EmitContext,Mono.CSharp.ResolveFlags) <0x00254>
  at Mono.CSharp.Expression.Resolve (Mono.CSharp.EmitContext) <0x00028>
  at Mono.CSharp.Binary.DoResolve (Mono.CSharp.EmitContext) <0x0017c>
  at Mono.CSharp.Expression.Resolve (Mono.CSharp.EmitContext,Mono.CSharp.ResolveFlags) <0x00254>
  at Mono.CSharp.Expression.Resolve (Mono.CSharp.EmitContext) <0x00028>
  at Mono.CSharp.Argument.Resolve (Mono.CSharp.EmitContext,Mono.CSharp.Location) <0x00094>
  at Mono.CSharp.Invocation.DoResolve (Mono.CSharp.EmitContext) <0x002fc>
  at Mono.CSharp.Expression.Resolve (Mono.CSharp.EmitContext,Mono.CSharp.ResolveFlags) <0x00254>
  at Mono.CSharp.Expression.Resolve (Mono.CSharp.EmitContext) <0x00028>
  at Mono.CSharp.Assign.DoResolve (Mono.CSharp.EmitContext) <0x00138>
  at Mono.CSharp.Expression.Resolve (Mono.CSharp.EmitContext,Mono.CSharp.ResolveFlags) <0x00254>
  at Mono.CSharp.Expression.Resolve (Mono.CSharp.EmitContext) <0x00028>
  at Mono.CSharp.ExpressionStatement.ResolveStatement (Mono.CSharp.EmitContext) <0x0002c>
  at Mono.CSharp.StatementExpression.Resolve (Mono.CSharp.EmitContext) <0x00044>
  at Mono.CSharp.Block.Resolve (Mono.CSharp.EmitContext) <0x00318>
  at Mono.CSharp.Block.Resolve (Mono.CSharp.EmitContext) <0x00318>
  at Mono.CSharp.Block.Resolve (Mono.CSharp.EmitContext) <0x00318>
  at Mono.CSharp.EmitContext.ResolveTopBlock (Mono.CSharp.EmitContext,Mono.CSharp.ToplevelBlock,Mono.CSharp.Parameters,Mono.CSharp.IMethodData,bool&) <0x00214>
  at Mono.CSharp.EmitContext.EmitTopBlock (Mono.CSharp.IMethodData,Mono.CSharp.ToplevelBlock) <0x00074>
  at Mono.CSharp.MethodData.Emit (Mono.CSharp.DeclSpace) <0x00210>
  at Mono.CSharp.Method.Emit () <0x00028>
  at Mono.CSharp.TypeContainer.EmitType () <0x00394>
  at Mono.CSharp.RootContext.EmitCode () <0x002f4>
  at Mono.CSharp.Driver.MainDriver (string[]) <0x00e28>
  at Mono.CSharp.Driver.Main (string[]) <0x00068>
  at (wrapper runtime-invoke) System.Object.runtime_invoke_int_string[] (object,intptr,intptr,intptr) <0x00068>

Native stacktrace:

        /usr/bin/mono(mono_handle_native_sigsegv+0xec) [0x1012308c]
        /usr/bin/mono [0x100eca20]
        [0x100380]
        /usr/bin/mono [0x10051788]
        [0x30f71058]
        [0x32326b9c]
        [0x32360b9c]
        [0x32360288]
        [0x3234be64]
        [0x323524e0]
        [0x3234bd4c]
        [0x3234badc]
        [0x3234b90c]
        [0x3236a848]
        [0x3236989c]
        [0x323695f0]
        [0x32368e38]
        [0x323caab0]
        [0x323ca484]
        [0x323ca104]
        [0x32367c00]
        [0x323678bc]
        [0x337cc2a0]
        [0x32367c00]
        [0x323678bc]
        [0x32367458]
        [0x337d0c20]
        [0x32367c00]
        [0x323678bc]
        [0x337c713c]
        [0x32367c00]
        [0x323678bc]
        [0x323cb678]
        [0x3381a380]
        [0x33811c4c]
        [0x33811c4c]
        [0x33811c4c]
        [0x33811568]
        [0x33809a80]
        [0x338090bc]
        [0x33808dd4]
        [0x33807398]
        [0x337fe960]
        [0x30ca0384]
        [0x30c9a80c]
        [0x3095a1b4]
        /usr/bin/mono [0x1010bba8]
        /usr/bin/mono(mono_runtime_invoke+0x28) [0x10044c58]
        /usr/bin/mono(mono_runtime_exec_main+0xd4) [0x1004a264]
        /usr/bin/mono(mono_runtime_run_main+0x1e4) [0x1004a554]
        /usr/bin/mono(mono_jit_exec+0xa0) [0x10013f40]
        /usr/bin/mono(mono_main+0x1094) [0x10015014]
        /usr/bin/mono [0x10013900]
        /lib/libc.so.6 [0xfc1b728]
        /lib/libc.so.6 [0xfc1b978]
make[2]: *** [f-spot.exe] Aborted (core dumped)
make[2]: Leaving directory `/home/digger/src/CVS/f-spot/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/digger/src/CVS/f-spot'
make: *** [all] Error 2