FS#21319 - [kdebindings-csharp] Needs rebuild against mono soname bump

Attached to Project: Arch Linux
Opened by Gerardo Exequiel Pozzi (djgera) - Tuesday, 19 October 2010, 05:39 GMT
Last edited by Andrea Scarpino (BaSh) - Tuesday, 19 October 2010, 18:56 GMT
Task Type Bug Report
Category Upstream Bugs
Status Closed
Assigned To Andrea Scarpino (BaSh)
Architecture All
Severity Medium
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

kdebindings-csharp-4.5.2-6:NEEDED libmono.so.0

mono-2.8-1:SONAME libmono-2.0.so.1
This task depends upon

Closed by  Andrea Scarpino (BaSh)
Tuesday, 19 October 2010, 18:56 GMT
Reason for closing:  Fixed
Additional comments about closing:  kdebindings-csharp 4.5.2-7
Comment by Andrea Scarpino (BaSh) - Tuesday, 19 October 2010, 08:03 GMT
  • Field changed: Category (Packages: Extra → Upstream Bugs)
Comment by Isenmann Daniel (ise) - Tuesday, 19 October 2010, 08:15 GMT
The necessary file from the errro message:
"fatal error: mono/jit/jit.h: No such file or directory"

is now located under /usr/inlcude/mono-2.0/jit/jit.h. This just as small information to this bug.
Comment by Andrea Scarpino (BaSh) - Tuesday, 19 October 2010, 08:19 GMT
yes I noticed that. I cannot find an option to set Mono include dir using CMake
Comment by Isenmann Daniel (ise) - Tuesday, 19 October 2010, 08:30 GMT
Okay, i was wrong. I have tested the following:

$ pkg-config --libs --cflags mono

returns nothing in the new package.
It returned this in the old package:

$ pkg-config --libs --cflags mono
-D_REENTRANT -pthread -I/usr/lib/pkgconfig/../../include/mono-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -pthread -L/usr/lib/pkgconfig/../../lib -lmono -ldl -lpthread -lm -lgthread-2.0 -lrt -lglib-2.0

I think you have to call the new package, which is:
$ pkg-config --libs --cflags mono-2
-D_REENTRANT -I/usr/lib/pkgconfig/../../include/mono-2.0 -L/usr/lib/pkgconfig/../../lib -lmono-2.0 -lm -lrt -ldl -lpthread

But I don't know how cmake makes this.
Comment by Isenmann Daniel (ise) - Tuesday, 19 October 2010, 12:51 GMT
Okay, I have written to the mono ML. This is a behaviour by design. They have changed the embedded API. Related changes are posted here:
http://www.mono-project.com/Embedding_Mono#Updates_for_Mono_version_2.8.2B

My related post on the ML is here:
http://lists.ximian.com/pipermail/mono-list/2010-October/045895.html

So, if an application uses this embedded API, it must call pkg-config with the new mono-2 configuration. Maybe that's all that must be changed, because the API are more or less identical, only some methods were changed.
Comment by Ionut Biru (wonder) - Tuesday, 19 October 2010, 13:05 GMT
i think you need to modify a bit kdebindings-4.5.2/cmake/module/CMakeDetermineCSharpCompiler.cmake

in there is something like:
execute_process(COMMAND ${PKG_CONFIG_EXECUTABLE} mono --variable=libdir OUTPUT_VARIABLE MONO_LIB_DIR OUTPUT_STRIP_TRAILING_WHITESPACE)

change mono to mono-2
Comment by Ionut Biru (wonder) - Tuesday, 19 October 2010, 13:05 GMT
and yes, cmake sucks
Comment by Andrea Scarpino (BaSh) - Tuesday, 19 October 2010, 13:10 GMT

Loading...