As reported by Landry,
< landry_> Error: /usr/obj/ports/boost_1_66_0/fake-sparc64/usr/local/lib/libboost_locale-mt.a does not exist < landry_> Error: /usr/obj/ports/boost_1_66_0/fake-sparc64/usr/local/lib/libboost_locale-mt.so.9.0 does not exist < landry_> fallout from otto's work ? < landry_> - Boost.Locale needs either iconv or ICU library to be built. < landry_> - iconv (libc) : no (cached) < landry_> - iconv (separate) : no (cached) < landry_> - icu : no (cached) < landry_> - icu (lib64) : no (cached) < landry_> faster bulks \o/ < landry_> strange because the log still says - locale : building (Same failure on macppc.) ICU detection for Boost.Locale fails and libboost_locale.so isn't built. The breakage is due (at least) to char16_t now being used in the public icu headers. This is not supported by base-gcc, and supported by ports-gcc with -std=c++11 or newer. The diff below: - restores the printing of compile commands, "-d+2", lost in the update to boost-1.65.1. It's hard to debug anything without this. - adds -std=gnu++11 to CXXFLAGS on archs using ports-gcc (which defaults tp gnu++98) - force the build to respect PORTS_PATH, so that g++ from ports-gcc is used instead of g++ from base This fixes boost for me on sparc64, landry has put it earlier in sparc64 and macppc bulks. The last hunk is unrelated but puts sparc64 in line with other archs, where no -mcpu/-march flags are used by default. I'm not sure -mcpu=v7 is meaningful and can do harm here, but better safe than sorry. No REVISION bump since boost hasn't built on ports-gcc archs since the last bump, and clang builds shouldn't be affected. I can add a bump if people prefer, though. ok? Index: Makefile =================================================================== RCS file: /cvs/ports/devel/boost/Makefile,v retrieving revision 1.76 diff -u -p -r1.76 Makefile --- Makefile 13 Dec 2018 19:52:46 -0000 1.76 +++ Makefile 24 Dec 2018 13:39:01 -0000 @@ -97,6 +97,7 @@ BUILD_PACKAGES= ${MULTI_PACKAGES:N-md} TOOLSET= clang .else TOOLSET= gcc +CXXFLAGS+= -std=gnu++11 .endif MAKE_ENV= GCC="${CC}" GXX="${CXX}" @@ -105,6 +106,7 @@ BJAM_CONFIG= -sICU_PATH=${LOCALBASE} \ -sBZIP2_INCLUDE=${LOCALBASE}/include \ -sBZIP2_LIBPATH=${LOCALBASE}/lib \ -q \ + -d+2 \ -j${MAKE_JOBS} \ --layout=tagged \ pch=off \ @@ -157,6 +159,7 @@ do-configure: # b2 doesn't seem to respect python parameter, we need to run twice with # separate python environments do-build: + export ${MAKE_ENV}; \ cd ${WRKSRC} && chmod -R a+x ./ && \ /bin/sh ./bootstrap.sh ${BOOTSTRAP} ${PY2_BOOTSTRAP} && \ ./b2 ${BJAM_CONFIG} python=${MODPY_DEFAULT_VERSION_2} && \ Index: patches/patch-tools_build_src_tools_gcc_jam =================================================================== RCS file: /cvs/ports/devel/boost/patches/patch-tools_build_src_tools_gcc_jam,v retrieving revision 1.5 diff -u -p -r1.5 patch-tools_build_src_tools_gcc_jam --- patches/patch-tools_build_src_tools_gcc_jam 31 Jan 2018 21:54:49 -0000 1.5 +++ patches/patch-tools_build_src_tools_gcc_jam 24 Dec 2018 13:39:01 -0000 @@ -41,3 +41,12 @@ Index: tools/build/src/tools/gcc.jam } ### +@@ -1354,7 +1355,7 @@ cpu-flags gcc OPTIONS : x86 : c3-2 : -march=c3-2 ; + ## + cpu-flags gcc OPTIONS : x86 : atom : -march=atom ; + # Sparc +-cpu-flags gcc OPTIONS : sparc : v7 : -mcpu=v7 : default ; ++cpu-flags gcc OPTIONS : sparc : v7 : -mcpu=v7 ; + cpu-flags gcc OPTIONS : sparc : cypress : -mcpu=cypress ; + cpu-flags gcc OPTIONS : sparc : v8 : -mcpu=v8 ; + cpu-flags gcc OPTIONS : sparc : supersparc : -mcpu=supersparc ; -- jca | PGP : 0x1524E7EE / 5135 92C1 AD36 5293 2BDF DDCC 0DFA 74AE 1524 E7EE