package/mono: fixing shared/static handling
PATCH 1/1 package/mono: fixing shared/static handling
Mono should always be compiled with --enable-static, this patch forces --enable-static also in case of shared only libraries.
Fixes:
http://autobuild.buildroot.net/results/e739d64011fb6a24ccbef136d75944f3bd2eba03/
http://autobuild.buildroot.net/results/7ebe6909da859507639f57da2d4fee46efc062d4/
http://autobuild.buildroot.net/results/03c2243080b026b0c6f4bb64e7dc8dc359f0c8c2/
http://autobuild.buildroot.net/results/406bf830ae84cf9ce4afd5a4ddc265197df42b44/
http://autobuild.buildroot.net/results/894a3e0627244b5e1980c3840629b4627999d252/
http://autobuild.buildroot.net/results/2dad2609834564060dc090919c128b45e289102e/
http://autobuild.buildroot.net/results/46de32cbe68b614763a72303490515f80cfe5bfd/
http://autobuild.buildroot.net/results/b167d2660ca37b896ceb8f1372d88eda6d6397d7/
http://autobuild.buildroot.net/results/17b6aee3d0aaf425412f9f5d89de665de9efedb8/
http://autobuild.buildroot.net/results/af9e5203299819085441fb6ee27e027d58f220b3/
http://autobuild.buildroot.net/results/138e5bd9bd0e2ad6de13278b446d1a48a9b64b17/
http://autobuild.buildroot.net/results/b77d52aaa5face5d5b8afe39f9a32a51b1df500f/
--- package/mono/mono.mk | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
package/mono/mono.mk +2 -1
@@ -24,7 +24,8 @@ MONO_CONF_OPTS = --disable-gtk-doc \ --disable-libraries \ --with-ikvm-native=no \ --enable-minimal=aot,profiler,debug \ - --disable-mcs-build + --disable-mcs-build \ + --enable-static # The libraries have been built by the host-mono build. Since they are # architecture-independent, we simply copy them to the target.
Signature · 1 line
1.9.1
PATCH 1/1 package/mono: fixing shared/static handling
Quoted 4 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Angelo" == Angelo Compagnucci <[email protected]> writes:
Mono should always be compiled with --enable-static, this patch forces --enable-static also in case of shared only libraries.
Why? If it is really required, then mono should depend on !BR2_SHARED_LIBS and show a comment to inform the user that it needs static library support.
Quoted 40 lines
Fixes:
http://autobuild.buildroot.net/results/e739d64011fb6a24ccbef136d75944f3bd2eba03/
http://autobuild.buildroot.net/results/7ebe6909da859507639f57da2d4fee46efc062d4/
http://autobuild.buildroot.net/results/03c2243080b026b0c6f4bb64e7dc8dc359f0c8c2/
http://autobuild.buildroot.net/results/406bf830ae84cf9ce4afd5a4ddc265197df42b44/
http://autobuild.buildroot.net/results/894a3e0627244b5e1980c3840629b4627999d252/
http://autobuild.buildroot.net/results/2dad2609834564060dc090919c128b45e289102e/
http://autobuild.buildroot.net/results/46de32cbe68b614763a72303490515f80cfe5bfd/
http://autobuild.buildroot.net/results/b167d2660ca37b896ceb8f1372d88eda6d6397d7/
http://autobuild.buildroot.net/results/17b6aee3d0aaf425412f9f5d89de665de9efedb8/
http://autobuild.buildroot.net/results/af9e5203299819085441fb6ee27e027d58f220b3/
http://autobuild.buildroot.net/results/138e5bd9bd0e2ad6de13278b446d1a48a9b64b17/
http://autobuild.buildroot.net/results/b77d52aaa5face5d5b8afe39f9a32a51b1df500f/Signed-off-by Angelo Compagnucci <[email protected]>--- package/mono/mono.mk | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)package/mono/mono.mk +2
-1@@ -24,7 +24,8 @@ MONO_CONF_OPTS = --disable-gtk-doc \ --disable-libraries \ --with-ikvm-native=no \ --enable-minimal=aot,profiler,debug \ - --disable-mcs-build + --disable-mcs-build \ + --enable-static # The libraries have been built by the host-mono build. Since they are # architecture-independent, we simply copy them to the target.Signature · 6 lines
1.9.1 _______________________________________________ buildroot mailing list buildroot at busybox.net http://lists.busybox.net/mailman/listinfo/buildroot
Signature · 1 line
Bye, Peter Korsgaard
PATCH 1/1 package/mono: fixing shared/static handling
Hi Peter
2014-12-14 0:13 GMT+01:00 Peter Korsgaard <[email protected]>:
Quoted 8 lines
Quoted 4 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Angelo" == Angelo Compagnucci <[email protected]> writes:
Mono should always be compiled with --enable-static, this patch forces --enable-static also in case of shared only libraries.
Why? If it is really required, then mono should depend on !BR2_SHARED_LIBS and show a comment to inform the user that it needs static library support.
Mono doesn't really uses shared libraries at all, it ships its own glibc (eglib) and its own libmono library, It should be compiled statically for this reason, you can find further details here:
http://www.mono-project.com/docs/compiling-mono/unsupported-advanced-compile-options/#static-vs-dynamic-mono
.
Before the new shared/static handling, --enable-static was always passed as a configure option.
Sincerely, Angelo
PATCH 1/1 package/mono: fixing shared/static handling
Quoted 9 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Angelo" == Angelo Compagnucci <[email protected]> writes:
Hi Peter
2014-12-14 0:13 GMT+01:00 Peter Korsgaard <[email protected]>:Quoted 5 lines
Quoted 4 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Angelo" == Angelo Compagnucci <[email protected]> writes:
Mono should always be compiled with --enable-static, this patch forces --enable-static also in case of shared only libraries.
Quoted 6 lines
Quoted 3 lines
Why? If it is really required, then mono should depend on !BR2_SHARED_LIBS and show a comment to inform the user that it needs static library support.
Mono doesn't really uses shared libraries at all, it ships its own glibc (eglib)
I don't know much about mono, but does this 'eglib' refer to the (GNU) C-library or the GNOME glib?
From here it sounds like the latter:
http://www.mono-project.com/archived/eglib/
Quoted 5 lines
and its own libmono library, It should be compiled statically for this reason, you can find further details here:
http://www.mono-project.com/docs/compiling-mono/unsupported-advanced-compile-options/#static-vs-dynamic-mono
Before the new shared/static handling, --enable-static was always passed as a configure option.
As far as I read that, they *RECOMMEND* that you link it statically., but it should also work when linking dynamically.
Quoted 2 lines
Before the new shared/static handling, --enable-static was always passed as a configure option.
Indeed. The point of the new handling is to ensure that only the shared variant is built (so save build time).
With that said, I did a quick test and I couldn't get it to work with --with-static_mono=no, and as it isn't supported by upstream just sticking with static might be the best approach.
Looking at how E.G. Debian does it, it seems like they also link mono(-sgen) statically:
https://packages.debian.org/jessie/mono-runtime-sgen
They do provide a libmono package:
https://packages.debian.org/jessie/libmono-2.0-1
But none of the other mono packages seem to use it, so it's presumably for embedding mono in an application:
apt-cache rdepends libmono-2.0-1
libmono-2.0-1
Reverse Depends:
libmono-2.0-1:i386
mono-complete
Signature · 2 lines
Venlig hilsen, Peter Korsgaard
PATCH 1/1 package/mono: fixing shared/static handling
In reply to Angelo CompagnucciQuoted 29 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Angelo" == Angelo Compagnucci <[email protected]> writes:
Mono should always be compiled with --enable-static, this patch forces --enable-static also in case of shared only libraries.
Fixes:
http://autobuild.buildroot.net/results/e739d64011fb6a24ccbef136d75944f3bd2eba03/
http://autobuild.buildroot.net/results/7ebe6909da859507639f57da2d4fee46efc062d4/
http://autobuild.buildroot.net/results/03c2243080b026b0c6f4bb64e7dc8dc359f0c8c2/
http://autobuild.buildroot.net/results/406bf830ae84cf9ce4afd5a4ddc265197df42b44/
http://autobuild.buildroot.net/results/894a3e0627244b5e1980c3840629b4627999d252/
http://autobuild.buildroot.net/results/2dad2609834564060dc090919c128b45e289102e/
http://autobuild.buildroot.net/results/46de32cbe68b614763a72303490515f80cfe5bfd/
http://autobuild.buildroot.net/results/b167d2660ca37b896ceb8f1372d88eda6d6397d7/
http://autobuild.buildroot.net/results/17b6aee3d0aaf425412f9f5d89de665de9efedb8/
http://autobuild.buildroot.net/results/af9e5203299819085441fb6ee27e027d58f220b3/
http://autobuild.buildroot.net/results/138e5bd9bd0e2ad6de13278b446d1a48a9b64b17/
http://autobuild.buildroot.net/results/b77d52aaa5face5d5b8afe39f9a32a51b1df500f/Signed-off-by Angelo Compagnucci <[email protected]>--- package/mono/mono.mk | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)package/mono/mono.mk +0
-0
package/mono/mono.mk MONO_CONF_OPTS = --disable-gtk-doc \ · line 28
Quoted 6 lines
package/mono/mono.mk +2
-1@@ -24,7 +24,8 @@ MONO_CONF_OPTS = --disable-gtk-doc \ --disable-libraries \ --with-ikvm-native=no \ --enable-minimal=aot,profiler,debug \ - --disable-mcs-build + --disable-mcs-build \ + --enable-static
Committed, thanks.
Signature · 1 line
Bye, Peter Korsgaard