devel/binutils installed $PREFIX/include/ansidecl.h which is an older version of this file. New versions of GCC including lang/gcc49 bring a newer flavor of that file, and actually require that, but may use $LOCALBASE/include. ansidecl.h is an internal file to _build_ the GNU toolchain and should not be installed into such a general location. Fix: Do not install ansidecl.h as part of binutils. How-To-Repeat: Try to build lang/gcc49, svn revision 334991 and watch the fallout.
Responsible Changed From-To: freebsd-ports-bugs->zeising Over to maintainer (via the GNATS Auto Assign Tool)
Author: gerald Date: Wed Nov 27 15:45:40 2013 New Revision: 335026 URL: http://svnweb.freebsd.org/changeset/ports/335026 Log: No longer add -I${LOCALBASE}/include to CFLAGS. Since we now configure with --with-gmp=${LOCALBASE} this is no longer necessary, and due to bugs in binutils (which should not install ansidecl.h into ${PREFIX}/include) and GCC (which should search its own include directories with higher priority) can lead to build failures. PR: 184327 Reported by: mat, Andrzej Tobola <ato@iem.pw.edu.pl> Modified: head/lang/gcc49/Makefile Modified: head/lang/gcc49/Makefile ============================================================================== --- head/lang/gcc49/Makefile Wed Nov 27 15:24:16 2013 (r335025) +++ head/lang/gcc49/Makefile Wed Nov 27 15:45:40 2013 (r335026) @@ -64,7 +64,6 @@ WRKSRC= ${WRKDIR}/build TARGLIB= ${PREFIX}/lib/gcc${SUFFIX} LIBEXEC= ${PREFIX}/libexec/gcc${SUFFIX} GNU_CONFIGURE= yes -CFLAGS+= -I${LOCALBASE}/include .if empty(PORT_OPTIONS:MBOOTSTRAP) CONFIGURE_ARGS+=--disable-bootstrap .else _______________________________________________ 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"
This is a multi-part message in MIME format.
On Fri, 13 Dec 2013, Niclas Zeising wrote: > Can you please try the attached patch, it updates binutils to 2.24 and > should not install ansidecl.h any longer. Thanks, Niclas! You may want to move to USES=gmake instead of USE_GMAKE=yes. And on a 10.0-BETA4 system with clang as the system compiler I am getting a number of warnings and one error: In file included from attributes.cc:24: In file included from ./gold.h:35: In file included from ./system.h:92: /usr/include/c++/v1/ext/hash_map:209:2: warning: Use of the header <ext/hash_map> is deprecated. Migrate to <unordered_map> In file included from attributes.cc:24: In file included from ./gold.h:35: ./system.h:108:12: error: use of undeclared identifier '__stl_hash_string' { return __stl_hash_string(s.c_str()); } ^ Gerald
Author: zeising Date: Mon Dec 16 14:52:26 2013 New Revision: 336642 URL: http://svnweb.freebsd.org/changeset/ports/336642 Log: Update to 2.24 Do not install libiberty.a to aviod conflicts with devel/gnulibiberty [0] Do not install include/ansidecl.h, to avoid conflicts with gcc49 [1] Fix gold usage when linking c++ code, related to ctors [2] Thanks to dim for help with getting gold to build with libc++! PR: ports/176406 [0], ports/184327 [1] Submitted by: Craig Leres <leres@ee.lbl.gov> [0] Gerald Pfeifer <gerald@pfeifer.com> [1] Requested by: rdivacky [2] Added: head/devel/binutils/files/patch-gold_config.in (contents, props changed) head/devel/binutils/files/patch-gold_configure (contents, props changed) head/devel/binutils/files/patch-gold_options.h (contents, props changed) head/devel/binutils/files/patch-gold_stringpool.cc (contents, props changed) head/devel/binutils/files/patch-gold_system.h (contents, props changed) Deleted: head/devel/binutils/files/patch-bfd_Makefile.in head/devel/binutils/files/patch-gold_gold.h head/devel/binutils/files/patch-src_gas_config_tc-sparc.h Modified: head/devel/binutils/Makefile head/devel/binutils/distinfo head/devel/binutils/files/patch-gold_Makefile.in (contents, props changed) head/devel/binutils/files/patch-gold_script.cc (contents, props changed) head/devel/binutils/pkg-plist Modified: head/devel/binutils/Makefile ============================================================================== --- head/devel/binutils/Makefile Mon Dec 16 14:45:39 2013 (r336641) +++ head/devel/binutils/Makefile Mon Dec 16 14:52:26 2013 (r336642) @@ -2,7 +2,7 @@ # $FreeBSD$ PORTNAME= binutils -PORTVERSION= 2.23.2 +PORTVERSION= 2.24 CATEGORIES= devel MASTER_SITES= ${MASTER_SITE_SOURCEWARE} MASTER_SITE_SUBDIR= binutils/releases @@ -36,26 +36,6 @@ CONFIGURE_ARGS+= --with-system-zlib \ --with-gmp=${LOCALBASE} \ --with-mpfr=${LOCALBASE} -MAN1= addr2line.1 \ - ar.1 \ - as.1 \ - c++filt.1 \ - gprof.1 \ - dlltool.1 \ - elfedit.1 \ - ld.1 \ - nlmconv.1 \ - nm.1 \ - objcopy.1 \ - objdump.1 \ - ranlib.1 \ - readelf.1 \ - size.1 \ - strings.1 \ - strip.1 \ - windmc.1 \ - windres.1 - INFO= as \ binutils \ standards \ @@ -64,7 +44,6 @@ INFO= as \ configure \ ld -NO_STAGE= yes .include <bsd.port.options.mk> # Actual earliest version may differ slightly @@ -91,11 +70,11 @@ CONFIGURE_TARGET= ${ARCH}-portbld-freebs post-install: .if ${OSVERSION} >= 900044 - ${INSTALL_DATA} ${WRKSRC}/include/plugin-api.h ${PREFIX}/include/ + ${INSTALL_DATA} ${WRKSRC}/include/plugin-api.h ${STAGEDIR}${PREFIX}/include/ .endif - @${FIND} -ds ${PREFIX}/${CONFIGURE_TARGET} ! -type d | \ - ${SED} -e 's,^${PREFIX}/,,' >> ${TMPPLIST} - @${FIND} -ds ${PREFIX}/${CONFIGURE_TARGET} -type d | \ - ${SED} -e 's,^${PREFIX}/,@dirrm ,' >> ${TMPPLIST} + @${FIND} -ds ${STAGEDIR}${PREFIX}/${CONFIGURE_TARGET} ! -type d | \ + ${SED} -e 's,^${STAGEDIR}${PREFIX}/,,' >> ${TMPPLIST} + @${FIND} -ds ${STAGEDIR}${PREFIX}/${CONFIGURE_TARGET} -type d | \ + ${SED} -e 's,^${STAGEDIR}${PREFIX}/,@dirrm ,' >> ${TMPPLIST} .include <bsd.port.mk> Modified: head/devel/binutils/distinfo ============================================================================== --- head/devel/binutils/distinfo Mon Dec 16 14:45:39 2013 (r336641) +++ head/devel/binutils/distinfo Mon Dec 16 14:52:26 2013 (r336642) @@ -1,2 +1,2 @@ -SHA256 (binutils-2.23.2.tar.bz2) = fe914e56fed7a9ec2eb45274b1f2e14b0d8b4f41906a5194eac6883cfe5c1097 -SIZE (binutils-2.23.2.tar.bz2) = 21440347 +SHA256 (binutils-2.24.tar.bz2) = e5e8c5be9664e7f7f96e0d09919110ab5ad597794f5b1809871177a0f0f14137 +SIZE (binutils-2.24.tar.bz2) = 22716802 Modified: head/devel/binutils/files/patch-gold_Makefile.in ============================================================================== --- head/devel/binutils/files/patch-gold_Makefile.in Mon Dec 16 14:45:39 2013 (r336641) +++ head/devel/binutils/files/patch-gold_Makefile.in Mon Dec 16 14:52:26 2013 (r336642) @@ -1,12 +1,11 @@ - -$FreeBSD$ - ---- gold/Makefile.in.orig -+++ gold/Makefile.in -@@ -368,7 +368,6 @@ - @INCINTL@ +--- gold/Makefile.in.orig 2013-11-04 16:33:39.000000000 +0100 ++++ gold/Makefile.in 2013-12-13 17:15:03.279391312 +0100 +@@ -419,7 +419,7 @@ + -DTOOLLIBDIR="\"$(tooldir)/lib\"" @INCINTL@ LIBIBERTY = ../libiberty/libiberty.a --@PLUGINS_TRUE@LIBDL = -ldl +-@PLUGINS_TRUE@LIBDL = @DLOPEN_LIBS@ ++@PLUGINS_TRUE@LIBDL = @THREADS_TRUE@THREADSLIB = -lpthread AM_YFLAGS = -d + Added: head/devel/binutils/files/patch-gold_config.in ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/devel/binutils/files/patch-gold_config.in Mon Dec 16 14:52:26 2013 (r336642) @@ -0,0 +1,15 @@ +--- gold/config.in.orig 2012-09-11 11:20:40.000000000 +0200 ++++ gold/config.in 2013-06-22 20:44:46.000000000 +0200 +@@ -190,6 +190,12 @@ + /* Define to 1 if you have the <windows.h> header file. */ + #undef HAVE_WINDOWS_H + ++/* Define to 1 if you have the <unordered_map> header file. */ ++#undef HAVE_UNORDERED_MAP ++ ++/* Define to 1 if you have the <unordered_set> header file. */ ++#undef HAVE_UNORDERED_SET ++ + /* Define to 1 if you have the <zlib.h> header file. */ + #undef HAVE_ZLIB_H + Added: head/devel/binutils/files/patch-gold_configure ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/devel/binutils/files/patch-gold_configure Mon Dec 16 14:52:26 2013 (r336642) @@ -0,0 +1,23 @@ +--- gold/configure.orig 2013-11-08 11:13:48.000000000 +0100 ++++ gold/configure 2013-12-14 13:03:48.000000000 +0100 +@@ -7133,6 +7133,20 @@ + ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + ++for ac_header in unordered_set unordered_map ++do : ++ as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` ++ac_fn_cxx_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" ++eval as_val=\$$as_ac_Header ++ if test "x$as_val" = x""yes; then : ++ cat >>confdefs.h <<_ACEOF ++#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 ++_ACEOF ++ ++fi ++ ++done ++ + for ac_header in tr1/unordered_set tr1/unordered_map + do : + as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` Added: head/devel/binutils/files/patch-gold_options.h ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/devel/binutils/files/patch-gold_options.h Mon Dec 16 14:52:26 2013 (r336642) @@ -0,0 +1,15 @@ +--- gold/options.h.orig 2013-12-13 18:39:11.252052912 +0100 ++++ gold/options.h 2013-12-13 18:41:04.363051429 +0100 +@@ -716,9 +716,9 @@ + N_("Output cross reference table"), + N_("Do not output cross reference table")); + +- DEFINE_bool(ctors_in_init_array, options::TWO_DASHES, '\0', true, +- N_("Use DT_INIT_ARRAY for all constructors (default)"), +- N_("Handle constructors as directed by compiler")); ++ DEFINE_bool(ctors_in_init_array, options::TWO_DASHES, '\0', false, ++ N_("Use DT_INIT_ARRAY for all constructors"), ++ N_("Handle constructors as directed by compiler (default)")); + + DEFINE_bool(define_common, options::TWO_DASHES, 'd', false, + N_("Define common symbols"), Modified: head/devel/binutils/files/patch-gold_script.cc ============================================================================== --- head/devel/binutils/files/patch-gold_script.cc Mon Dec 16 14:45:39 2013 (r336641) +++ head/devel/binutils/files/patch-gold_script.cc Mon Dec 16 14:52:26 2013 (r336642) @@ -1,6 +1,3 @@ - -$FreeBSD$ - --- gold/script.cc.dist 2012-09-01 19:52:34.000000000 -0500 +++ gold/script.cc 2012-09-01 19:53:22.000000000 -0500 @@ -2534,8 +2534,6 @@ Added: head/devel/binutils/files/patch-gold_stringpool.cc ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/devel/binutils/files/patch-gold_stringpool.cc Mon Dec 16 14:52:26 2013 (r336642) @@ -0,0 +1,23 @@ +--- gold/stringpool.cc.orig 2010-08-25 10:36:54.000000000 +0200 ++++ gold/stringpool.cc 2013-06-22 21:09:24.000000000 +0200 +@@ -73,7 +73,10 @@ Stringpool_template<Stringpool_char>::re + { + this->key_to_offset_.reserve(n); + +-#if defined(HAVE_TR1_UNORDERED_MAP) ++#if defined(HAVE_UNORDERED_MAP) ++ this->string_set_.rehash(this->string_set_.size() + n); ++ return; ++#elif defined(HAVE_TR1_UNORDERED_MAP) + // rehash() implementation is broken in gcc 4.0.3's stl + //this->string_set_.rehash(this->string_set_.size() + n); + //return; +@@ -503,7 +506,7 @@ template<typename Stringpool_char> + void + Stringpool_template<Stringpool_char>::print_stats(const char* name) const + { +-#if defined(HAVE_TR1_UNORDERED_MAP) || defined(HAVE_EXT_HASH_MAP) ++#if defined(HAVE_UNORDERED_MAP) || defined(HAVE_TR1_UNORDERED_MAP) || defined(HAVE_EXT_HASH_MAP) + fprintf(stderr, _("%s: %s entries: %zu; buckets: %zu\n"), + program_name, name, this->string_set_.size(), + this->string_set_.bucket_count()); Added: head/devel/binutils/files/patch-gold_system.h ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/devel/binutils/files/patch-gold_system.h Mon Dec 16 14:52:26 2013 (r336642) @@ -0,0 +1,24 @@ +--- gold/system.h.orig 2013-11-04 16:33:39.000000000 +0100 ++++ gold/system.h 2013-12-14 12:51:17.000000000 +0100 +@@ -57,7 +57,20 @@ + + // Figure out how to get a hash set and a hash map. + +-#if defined(HAVE_TR1_UNORDERED_SET) && defined(HAVE_TR1_UNORDERED_MAP) \ ++#if defined(HAVE_UNORDERED_SET) && defined(HAVE_UNORDERED_MAP) ++ ++#include <unordered_set> ++#include <unordered_map> ++ ++// We need a template typedef here. ++ ++#define Unordered_set std::unordered_set ++#define Unordered_map std::unordered_map ++#define Unordered_multimap std::unordered_multimap ++ ++#define reserve_unordered_map(map, n) ((map)->rehash(n)) ++ ++#elif defined(HAVE_TR1_UNORDERED_SET) && defined(HAVE_TR1_UNORDERED_MAP) \ + && defined(HAVE_TR1_UNORDERED_MAP_REHASH) + + #include <tr1/unordered_set> Modified: head/devel/binutils/pkg-plist ============================================================================== --- head/devel/binutils/pkg-plist Mon Dec 16 14:45:39 2013 (r336641) +++ head/devel/binutils/pkg-plist Mon Dec 16 14:52:26 2013 (r336642) @@ -2,6 +2,7 @@ bin/addr2line bin/ar bin/as bin/c++filt +%%GOLD%%bin/dwp bin/elfedit bin/gprof bin/ld @@ -15,7 +16,6 @@ bin/readelf bin/size bin/strings bin/strip -include/ansidecl.h include/bfd.h include/bfdlink.h include/dis-asm.h @@ -23,9 +23,27 @@ include/dis-asm.h include/symcat.h lib/libbfd.a lib/libbfd.la -lib/libiberty.a lib/libopcodes.a lib/libopcodes.la +man/man1/addr2line.1.gz +man/man1/ar.1.gz +man/man1/as.1.gz +man/man1/c++filt.1.gz +man/man1/gprof.1.gz +man/man1/dlltool.1.gz +man/man1/elfedit.1.gz +man/man1/ld.1.gz +man/man1/nlmconv.1.gz +man/man1/nm.1.gz +man/man1/objcopy.1.gz +man/man1/objdump.1.gz +man/man1/ranlib.1.gz +man/man1/readelf.1.gz +man/man1/size.1.gz +man/man1/strings.1.gz +man/man1/strip.1.gz +man/man1/windmc.1.gz +man/man1/windres.1.gz %%NLS%%share/locale/bg/LC_MESSAGES/binutils.mo %%NLS%%share/locale/bg/LC_MESSAGES/gprof.mo %%NLS%%share/locale/bg/LC_MESSAGES/ld.mo @@ -60,6 +78,7 @@ lib/libopcodes.la %%NLS%%share/locale/ga/LC_MESSAGES/gprof.mo %%NLS%%share/locale/ga/LC_MESSAGES/ld.mo %%NLS%%share/locale/ga/LC_MESSAGES/opcodes.mo +%%NLS%%share/locale/hr/LC_MESSAGES/binutils.mo %%NLS%%share/locale/id/LC_MESSAGES/gprof.mo %%NLS%%share/locale/id/LC_MESSAGES/opcodes.mo %%NLS%%share/locale/id/LC_MESSAGES/bfd.mo _______________________________________________ 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: open->closed Fixed in the binutils update, thanks for the report!
Author: gerald Date: Sat Feb 15 19:18:01 2014 New Revision: 344478 URL: http://svnweb.freebsd.org/changeset/ports/344478 QAT: https://qat.redports.org/buildarchive/r344478/ Log: No longer add -I${LOCALBASE}/include to CFLAGS. Since we now configure with --with-gmp=${LOCALBASE} this is no longer necessary, and due to bugs in binutils (which should not install ansidecl.h into ${PREFIX}/include, fixed with revision 336642 [1]) and GCC (which should search its own include directories with higher priority) could lead to build failures. PR: 184327 [1] Modified: head/lang/gcc/Makefile Modified: head/lang/gcc/Makefile ============================================================================== --- head/lang/gcc/Makefile Sat Feb 15 19:16:24 2014 (r344477) +++ head/lang/gcc/Makefile Sat Feb 15 19:18:01 2014 (r344478) @@ -58,7 +58,6 @@ WRKSRC= ${WRKDIR}/build TARGLIB= ${PREFIX}/lib/gcc${SUFFIX} LIBEXEC= ${PREFIX}/libexec/gcc${SUFFIX} GNU_CONFIGURE= yes -CFLAGS+= -I${LOCALBASE}/include .if empty(PORT_OPTIONS:MBOOTSTRAP) CONFIGURE_ARGS+=--disable-bootstrap .else _______________________________________________ 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"
Author: gerald Date: Sat Feb 22 18:01:22 2014 New Revision: 345671 URL: http://svnweb.freebsd.org/changeset/ports/345671 QAT: https://qat.redports.org/buildarchive/r345671/ Log: No longer add -I${LOCALBASE}/include to CFLAGS. Since we now configure with --with-gmp=${LOCALBASE} this is no longer necessary, and due to bugs in binutils (which should not install ansidecl.h into ${PREFIX}/include, fixed with revision 336642 [1]) and GCC (which should search its own include directories with higher priority) could lead to build failures. Set the license to a combination of GPLv3 (for the compiler itself) and GPLv3 with GCC Runtime Library Exception (for the runtime). PR: 184327 [1] Modified: head/lang/gcc46/Makefile Modified: head/lang/gcc46/Makefile ============================================================================== --- head/lang/gcc46/Makefile Sat Feb 22 17:29:26 2014 (r345670) +++ head/lang/gcc46/Makefile Sat Feb 22 18:01:22 2014 (r345671) @@ -13,6 +13,9 @@ DISTNAME= gcc-${DISTVERSION} MAINTAINER= gerald@FreeBSD.org COMMENT= GNU Compiler Collection 4.6 +LICENSE= GPLv3 GPLv3RLE +LICENSE_COMB= multi + LIB_DEPENDS= libgmp.so:${PORTSDIR}/math/gmp \ libmpfr.so:${PORTSDIR}/math/mpfr \ libmpc.so:${PORTSDIR}/math/mpc @@ -61,7 +64,6 @@ WRKSRC= ${WRKDIR}/build TARGLIB= ${PREFIX}/lib/gcc${SUFFIX} LIBEXEC= ${PREFIX}/libexec/gcc${SUFFIX} GNU_CONFIGURE= yes -CFLAGS+= -I${LOCALBASE}/include .if empty(PORT_OPTIONS:MBOOTSTRAP) CONFIGURE_ARGS+=--disable-bootstrap .else _______________________________________________ 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"
This change breaks using devel/binutils to provide bfd for use by other 3rd party software - see PR 188924
I also confirm that this breaks the use of <bfd.h> in other packages. You can't remove <ansidecl.h> because it defines various macros that are required and used by <bfd.h>.