[Bug 190851] New: lang/mono build broken when using binutils from ports
bz-noreply at freebsd.org
bz-noreply at freebsd.org
Tue Jun 10 01:03:22 UTC 2014
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=190851
Bug ID: 190851
Summary: lang/mono build broken when using binutils from ports
Product: Ports Tree
Version: Latest
Hardware: Any
OS: Any
Status: Needs Triage
Severity: Affects Some People
Priority: ---
Component: Individual Port(s)
Assignee: freebsd-ports-bugs at FreeBSD.org
Reporter: truckman at FreeBSD.org
Update r355323 to lang/mono/Makefile broke the mono build on FreeBSD
8.4-STABLE.
FreeBSD scratch.catspoiler.org 8.4-STABLE FreeBSD 8.4-STABLE #80 r266818M: Thu
May 29 02:41:55 PDT 2014
dl at scratch.catspoiler.org:/usr/obj/usr/src/sys/GENERICDDB i386
mono-3.4.0_1
binutils-2.24
clang33-3.3_6
When I attempt to build mono in this environment, it fails like this:
CC libmini_static_la-tramp-x86.lo
CC libmini_static_la-mini-posix.lo
CXXLD libmini.la
CCLD libmonoboehm-2.0.la
CCLD libmonosgen-2.0.la
CXXLD libmini-static.la
CC mono_boehm-main.o
CC mono_sgen-main-sgen.o
CCLD mono-boehm
CCLD mono-sgen
/usr/local/bin/ld: mono-boehm: local symbol `__progname' in /usr/lib/crt1.o is
referenced by DSO
/usr/local/bin/ld: final link failed: Bad value
clang: error: linker command failed with exit code 1 (use -v to see invocation)
gmake[4]: *** [mono-boehm] Error 1
gmake[4]: *** Waiting for unfinished jobs....
/usr/local/bin/ld: mono-sgen: local symbol `__progname' in /usr/lib/crt1.o is
referenced by DSO
/usr/local/bin/ld: final link failed: Bad value
clang: error: linker command failed with exit code 1 (use -v to see invocation)
gmake[4]: *** [mono-sgen] Error 1
gmake[4]: Leaving directory `/usr/ports/lang/mono/work/mono-3.4.0/mono/mini'
gmake[3]: *** [all] Error 2
gmake[3]: Leaving directory `/usr/ports/lang/mono/work/mono-3.4.0/mono/mini'
gmake[2]: *** [all-recursive] Error 1
gmake[2]: Leaving directory `/usr/ports/lang/mono/work/mono-3.4.0/mono'
gmake[1]: *** [all-recursive] Error 1
gmake[1]: Leaving directory `/usr/ports/lang/mono/work/mono-3.4.0'
gmake: *** [all] Error 2
===> Compilation failed unexpectedly.
Try to set MAKE_JOBS_UNSAFE=yes and rebuild before reporting the failure to
the maintainer.
*** Error code 1
One of the changes to lang/mono/Makefile in r355323 was the replacement of
some logic to force the use of clang33 for ${OSVERSION} < 902001 with
USES=compiler:c11. In ports/Mk/Uses/compiler.mk, there is some logic c11
also results in clang33 being chosen for the compiler. There is some
additional logic:
.if ${OSVERSION} < 900033
USE_BINUTILS= yes
LDFLAGS+= -B${LOCALBASE}/bin
.endif
which causes the mono build to use the ports version of binutils instead of
the version in base.
If I hack ports/Mk/Uses/compiler.mk like this:
Index: Mk/Uses/compiler.mk
===================================================================
--- Mk/Uses/compiler.mk (revision 356868)
+++ Mk/Uses/compiler.mk (working copy)
@@ -154,8 +154,8 @@
CXX= ${LOCALBASE}/bin/clang++33
CHOSEN_COMPILER_TYPE= clang
.if ${OSVERSION} < 900033
-USE_BINUTILS= yes
-LDFLAGS+= -B${LOCALBASE}/bin
+#USE_BINUTILS= yes
+#LDFLAGS+= -B${LOCALBASE}/bin
.endif
.endif
.endif
@@ -180,8 +180,8 @@
CC= ${LOCALBASE}/bin/clang33
CXX= ${LOCALBASE}/bin/clang++33
.if ${OSVERSION} < 900033
-USE_BINUTILS= yes
-LDFLAGS+= -B${LOCALBASE}/bin
+#USE_BINUTILS= yes
+#LDFLAGS+= -B${LOCALBASE}/bin
.endif
.endif
.endif
@@ -206,8 +206,8 @@
CC= ${LOCALBASE}/bin/clang33
CXX= ${LOCALBASE}/bin/clang++33
.if ${OSVERSION} < 900033
-USE_BINUTILS= yes
-LDFLAGS+= -B${LOCALBASE}/bin
+#USE_BINUTILS= yes
+#LDFLAGS+= -B${LOCALBASE}/bin
.endif
.endif
.endif
the mono build uses the base version of binutils and succeeds. This is the
opposite of my usual experience with binutils on 8.4-STABLE. Normally the
ports version works better than the base version ...
--
You are receiving this mail because:
You are the assignee for the bug.
More information about the freebsd-ports-bugs
mailing list