Bug 253835 - mkbundle needs libmono.a (not shipped)
mkbundle needs libmono.a (not shipped)
Status: CLOSED NOTABUG
Product: Fedora
Classification: Fedora
Component: mono (Show other bugs)
8
All Linux
low Severity low
: ---
: ---
Assigned To: Alexander Larsson
Fedora Extras Quality Assurance
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2007-08-22 05:52 EDT by Doncho N. Gunchev
Modified: 2007-11-30 17:12 EST (History)
0 users

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2007-11-21 07:35:43 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:


Attachments (Terms of Use)

  None (edit)
Description Doncho N. Gunchev 2007-08-22 05:52:17 EDT
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
Comment 1 Doncho N. Gunchev 2007-11-10 10:59:23 EST
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.
Comment 2 Matthias Clasen 2007-11-11 15:58:55 EST
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
Comment 3 Doncho N. Gunchev 2007-11-11 16:28:54 EST
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.
Comment 4 Paul F. Johnson 2007-11-21 07:35:43 EST
Closed

Note You need to log in before you can comment on or make changes to this bug.