Description of problem: mkbundle and mkbundle2 have --static option to "Statically link to mono libs", which clearly needs libmono.a Version-Release number of selected component (if applicable): mono-1.2.3-3.fc7 and mono-1.2.4-2.fc8 (rebuilt on FC7). How reproducible: Always Steps to Reproduce: 1. rpm -ql mono-devel | grep libmono\\\. Actual results: /usr/lib/libmono.so Expected results: /usr/lib/libmono.so /usr/lib/libmono.a
same with mono-core-1.2.5.1-2.fc8. Test case: $ cat hi.cs public class MainClass { public static void Main(string[] args) { System.Console.WriteLine("hi!"); } } $ gmcs hi.cs $ mono hi.exe hi! $ mkbundle2 --deps --static hi.exe -o hi OS is: Linux Note that statically linking the LGPL Mono runtime has more licensing restrictions than dynamically linking. See http://www.mono-project.com/Licensing for details on licensing. Sources: 1 Auto-dependencies: True embedding: /home/mr700/hi.exe embedding: /usr/lib/mono/2.0/mscorlib.dll Compiling: as -o temp.o temp.s cc -o hi -Wall `pkg-config --cflags mono` temp.c `pkg-config --libs-only-L mono` -Wl,-Bstatic -lmono -Wl,-Bdynamic `pkg-config --libs-only-l mono | sed -e "s/\-lmono //"` temp.o /usr/bin/ld: cannot find -lmono collect2: ld returned 1 exit status [Fail] recompiling mono-core to include libmono.a solves the problem.
This is a bit like saying that because the linker supports static linking, we must include static libraries in all package. Shipping static libraries is strongly discourages within Fedora, see http://fedoraproject.org/wiki/Packaging/Guidelines#head-2302ec1e1f44202c9cc4bcce24cb711266557ad7
True, I did not think of it so much. I need this at work at least for now (not my decision), but I can rebuild the package myself. Feel free to close it if a separate mono-*-static package is not appropriate here. Thanks for the clarification.
Closed