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

Reply via email to