Hi ports, It already happened with gcc-6, but i've a better fix now.
> http://build-failures.rhaalovely.net/powerpc/2018-11-20/x11/rxvt-unicode.log I wasn't able to get why it happened with ports-gcc-8 and not clang: as they share the same __cplusplus value, they should have the same operator issues. Until i diffed 'make configure' on amd64 and macppc to see the difference. I've found out that when using clang, rxvt-unicode is not built with libsupc++. It's not the case with gcc, so i tried building without libsupc++, and it works. I wonder if there is a eg++ bug here. It appears that FreeBSD did the same exact thing before me for other reasons [0]. It has been tested, with Perl matcher module activated, on: - macppc/ports-gcc-8 - macppc/ports-gcc-4.9 - amd64/base-clang (it's supposed to be harmless there anyway) Comments/feedback are welcome! Charlène. [0] https://svnweb.freebsd.org/ports/head/x11/rxvt-unicode/files/patch-configure?revision=357486&view=markup Index: Makefile =================================================================== RCS file: /cvs/ports/x11/rxvt-unicode/Makefile,v retrieving revision 1.44 diff -u -p -u -p -r1.44 Makefile --- Makefile 24 Oct 2018 14:28:13 -0000 1.44 +++ Makefile 23 Apr 2019 22:07:59 -0000 @@ -3,9 +3,9 @@ COMMENT = clone of rxvt with Unicode and Xft support DISTNAME = rxvt-unicode-9.22 -REVISION = 7 +REVISION = 8 CATEGORIES = x11 -FIX_EXTRACT_PERMISSIONS=Yes +FIX_EXTRACT_PERMISSIONS= Yes EXTRACT_SUFX = .tar.bz2 MASTER_SITES = http://dist.schmorp.de/rxvt-unicode/ \ Index: patches/patch-configure =================================================================== RCS file: patches/patch-configure diff -N patches/patch-configure --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-configure 23 Apr 2019 22:08:00 -0000 @@ -0,0 +1,52 @@ +$OpenBSD$ + +Don't use gcc specific flags, because it causes various undefined +reference errors with ports-gcc>=6 when -lsupc++ is used. + +Index: configure +--- configure.orig ++++ configure +@@ -4493,43 +4493,6 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + + LINKER="$CXX" +-if test x$GCC = xyes && test x$GXX = xyes; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working libsupc++" >&5 +-$as_echo_n "checking for working libsupc++... " >&6; } +- save_CXX="$CXX" +- save_LIBS="$LIBS" +- CXX="$CC" +- LIBS="$LIBS -lsupc++" +- +-cat confdefs.h - <<_ACEOF >conftest.$ac_ext +-/* end confdefs.h. */ +-struct test { }; void f() try { throw new test; } catch (...) { throw; } +-int +-main () +-{ +- +- ; +- return 0; +-} +-_ACEOF +-if ac_fn_cxx_try_link "$LINENO"; then : +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5 +-$as_echo "ok" >&6; } +- LINKER="$CC" +-else +- +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, making everything bigger and slower" >&5 +-$as_echo "no, making everything bigger and slower" >&6; } +- LIBS="$save_LIBS" +- +- +-fi +-rm -f core conftest.err conftest.$ac_objext \ +- conftest$ac_exeext conftest.$ac_ext +- CXX="$save_CXX" +-fi +-LINKER=$LINKER +- + + if test -z "$orig_CXXFLAGS"; then + if test x$GCC = xyes && test "x$GXX" = xyes; then
