mono port fails to build with clang: ./.libs/libmini-static.a(libmini_static_la-mini.o): In function `mono_get_jit_tls_offset': /usr/ports/lang/mono/work/mono-3.2.3/mono/mini/mini.c:2568: undefined reference to `mono_jit_tls' /usr/ports/lang/mono/work/mono-3.2.3/mono/mini/mini.c:2568: undefined reference to `mono_jit_tls' /usr/ports/lang/mono/work/mono-3.2.3/mono/mini/mini.c:2568: undefined reference to `mono_jit_tls' /usr/ports/lang/mono/work/mono-3.2.3/mono/mini/mini.c:2568: undefined reference to `mono_jit_tls' clang: error: linker command failed with exit code 1 (use -v to see invocation) gmake[4]: *** [mono-boehm] Error 1 gmake[4]: Leaving directory `/usr/ports/lang/mono/work/mono-3.2.3/mono/mini' gmake[3]: *** [all] Error 2 gmake[3]: Leaving directory `/usr/ports/lang/mono/work/mono-3.2.3/mono/mini' gmake[2]: *** [all-recursive] Error 1 gmake[2]: Leaving directory `/usr/ports/lang/mono/work/mono-3.2.3/mono' gmake[1]: *** [all-recursive] Error 1 gmake[1]: Leaving directory `/usr/ports/lang/mono/work/mono-3.2.3' gmake: *** [all] Error 2 *** [do-build] Error code 1 Stop in /usr/ports/lang/mono. However, after commenting out clang stuff from Makefile (gcc is being used instead) - compilation succeeds. Fix: Use gcc - comment out following block in the Makefile: .if ${OSVERSION} >= 900014 && exists(/usr/bin/clang) CC= /usr/bin/clang CXX= /usr/bin/clang++ CPP= /usr/bin/clang-cpp .else BUILD_DEPENDS+= clang33:${PORTSDIR}/lang/clang33 CC= clang33 CXX= clang33 CPP= clang-cpp33 .endif How-To-Repeat: cd /usr/ports/lang/mono make install
Responsible Changed From-To: freebsd-ports-bugs->mono Over to maintainer (via the GNATS Auto Assign Tool)
State Changed From-To: open->feedback Can you please provide me the config.log file generated at the configure stage?
After reviewing the config.log sent me by private mail, the main difference is that FreeBSD 9.1-RELEASE has clang version 3.1 while FreeBSD 9.2-STABLE has clang version 3.3 in base. Robert, can you please try to change OSVERSION from 900014 to 902001 in the Makefile and tell me if it helps ? Base GCC on i386 fails to compile mono (while it works on amd64), and more recent GCC releases cause various problems, so as clang seems to be causing less pain (as far as I can see), it might be good to force using it to compile mono... -- Romain Tartière <romain@blogreen.org> http://romain.blogreen.org/ pgp: 8234 9A78 E7C0 B807 0B59 80FF BA4D 1D95 5112 336F (ID: 0x5112336F) (plain text =non-HTML= PGP/GPG encrypted/signed e-mail much appreciated)
Hi. Awesome, .if ${OSVERSION} >= 902001 ... did the trick - mono was compiled successfully! On 11/15/2013, 9:56:16 AM, Romain Tartière wrote: > After reviewing the config.log sent me by private mail, the main > difference is that FreeBSD 9.1-RELEASE has clang version 3.1 while > FreeBSD 9.2-STABLE has clang version 3.3 in base. > > Robert, can you please try to change OSVERSION from 900014 to 902001 in > the Makefile and tell me if it helps ? > > Base GCC on i386 fails to compile mono (while it works on amd64), and > more recent GCC releases cause various problems, so as clang seems to be > causing less pain (as far as I can see), it might be good to force using > it to compile mono... >
Author: romain Date: Sat Nov 16 12:47:59 2013 New Revision: 333989 URL: http://svnweb.freebsd.org/changeset/ports/333989 Log: Fix build using clang from ports on FreeBSD < 9.2. PR: ports/183943 Submitted by: Robert <robert.ayrapetyan@gmail.com> Modified: head/lang/mono/Makefile Modified: head/lang/mono/Makefile ============================================================================== --- head/lang/mono/Makefile Sat Nov 16 12:33:15 2013 (r333988) +++ head/lang/mono/Makefile Sat Nov 16 12:47:59 2013 (r333989) @@ -42,7 +42,7 @@ ONLY_FOR_ARCHS= i386 amd64 powerpc .include <bsd.port.pre.mk> -.if ${OSVERSION} >= 900014 && exists(/usr/bin/clang) +.if ${OSVERSION} >= 902001 && exists(/usr/bin/clang) CC= /usr/bin/clang CXX= /usr/bin/clang++ CPP= /usr/bin/clang-cpp _______________________________________________ svn-ports-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-ports-all To unsubscribe, send any mail to "svn-ports-all-unsubscribe@freebsd.org"
State Changed From-To: feedback->closed Fix committed in FreeBSD ports.