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

Reply via email to