Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 341195 - app-misc/beagle-0.3.9-r3 fails to compile with mono-2.8-r1
Summary: app-misc/beagle-0.3.9-r3 fails to compile with mono-2.8-r1
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: dotnet project
URL: https://bugzilla.gnome.org/show_bug.c...
Whiteboard:
Keywords:
: 353535 (view as bug list)
Depends on:
Blocks: mono-2.8
  Show dependency tree
 
Reported: 2010-10-16 02:51 UTC by Alexandre Rostovtsev (RETIRED)
Modified: 2011-02-02 17:17 UTC (History)
3 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
complete build log (beagle-0.3.9-r3-build.log.gz,5.87 KB, application/x-gzip)
2010-10-16 02:55 UTC, Alexandre Rostovtsev (RETIRED)
Details
beagle-0.3.9-mono2.8.patch (beagle-0.3.9-mono2.8.patch,6.27 KB, patch)
2010-10-16 06:31 UTC, Alexandre Rostovtsev (RETIRED)
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Alexandre Rostovtsev (RETIRED) gentoo-dev 2010-10-16 02:51:41 UTC
app-misc/beagle-0.3.9-r3 fails to compile with mono-2.8-r1 because starting with 2.8, mono cflags are defined in mono-2.pc instead of mono.pc (mono.pc is now relegated purely to probing mono version and directories); beagle tries to look for cflags from mono.pc to set its include path, and therefore cannot find jit.h when it tries to compile mono-glue.c

See mono commits http://github.com/mono/mono/commit/9e1f34dd2d7be45b2a3a6b1c133a4a1de8c3d864 and http://github.com/mono/mono/commit/d48630accf73bebc00d9b4b43f8812c0106ba4be for details.

# USE="avahi chm doc eds firefox galago google gtk inotify ole pdf xscreensaver" emerge mono
[...]
/bin/sh ../libtool --tag=CC   --mode=compile x86_64-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I..  -pthread -DQT_SHARED -I/usr/include/gtk-2.0 -I/usr/lib64/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng14 -I/usr/include/qt4 -I/usr/include/qt4/QtGui -I/usr/include/libdrm -I/usr/include/qt4/QtCore -I/usr/include/librsvg-2.0   -pthread -I/usr/include/wv -I/usr/include/freetype2 -I/usr/include/libgsf-1 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/libxml2      -march=native -O2 -pipe -c -o mono-glue.lo mono-glue.c
libtool: compile:  x86_64-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I.. -pthread -DQT_SHARED -I/usr/include/gtk-2.0 -I/usr/lib64/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng14 -I/usr/include/qt4 -I/usr/include/qt4/QtGui -I/usr/include/libdrm -I/usr/include/qt4/QtCore -I/usr/include/librsvg-2.0 -pthread -I/usr/include/wv -I/usr/include/freetype2 -I/usr/include/libgsf-1 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/libxml2 -march=native -O2 -pipe -c mono-glue.c  -fPIC -DPIC -o .libs/mono-glue.o
mono-glue.c:29:26: fatal error: mono/jit/jit.h: No such file or directory
compilation terminated.
make[2]: *** [mono-glue.lo] Error 1
make[2]: Leaving directory `/var/tmp/portage/app-misc/beagle-0.3.9-r3/work/beagle-0.3.9/glue'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/var/tmp/portage/app-misc/beagle-0.3.9-r3/work/beagle-0.3.9'
make: *** [all] Error 2
emake failed
 * ERROR: app-misc/beagle-0.3.9-r3 failed:
 *   died running emake, base_src_make
Comment 1 Alexandre Rostovtsev (RETIRED) gentoo-dev 2010-10-16 02:55:16 UTC
Created attachment 250799 [details]
complete build log
Comment 2 Alexandre Rostovtsev (RETIRED) gentoo-dev 2010-10-16 06:31:39 UTC
Created attachment 250801 [details, diff]
beagle-0.3.9-mono2.8.patch

This patch allows beagle to compile with mono-2.8

* mono-2.8 uses mono-2.pc instead of mono.pc for setting cflags and libs; need to modify configure.in accordingly.
* mono-2.8 disables direct access to struct MonoType fields; use accessors instead (mono_type_get_type and mono_field_get_flags have been present in the API since at least mono-1.2, so we do not need any version ifdefs).
* Cast FSpot.MetadataStore to IEnumerable in foreach() to prevent CS1640 errors (non-unique enumeration of the type) with mono-2.8's gmcs.
Comment 3 Alexandre Rostovtsev (RETIRED) gentoo-dev 2010-10-16 08:07:12 UTC
I have reported the issue upstream (with a slightly different patch, since upstream git master suffers from one additional issue) at https://bugzilla.gnome.org/show_bug.cgi?id=632282
Comment 4 Pacho Ramos gentoo-dev 2010-10-16 15:38:14 UTC
Thanks for your investigation
Comment 5 Arun Raghavan (RETIRED) gentoo-dev 2010-11-08 19:13:18 UTC
Pacho, since we don't ship mono 2.4 or lower, please feel free to add this patch to the ebuild. If there's no complaints on the upstream bug, I'll commit this upstream as well.
Comment 6 Pacho Ramos gentoo-dev 2010-11-08 21:40:43 UTC
+*beagle-0.3.9-r4 (08 Nov 2010)
+
+  08 Nov 2010; Pacho Ramos <pacho@gentoo.org> +beagle-0.3.9-r4.ebuild,
+  +files/beagle-0.3.9-mono2.8.patch:
+  Fix building against mono-2.8 (bug #341195 with a patch created by
+  Alexandre Rostovtsev (and with Arun Raghavan approval). Remove .la files.
+
Comment 7 Pacho Ramos gentoo-dev 2011-02-02 17:17:03 UTC
*** Bug 353535 has been marked as a duplicate of this bug. ***