Hi,

It appears that x11/gnustep/base is broken in the current macppc bulk:

> checking whether objc really works... no
> I don't seem to be able to use your Objective-C compiler to produce
> working binaries!  Please check your Objective-C compiler
> installation. If you are using gcc-3.x make sure that your compiler's
> libgcc_s and libobjc can be found by the dynamic linker - usually
> that requires you to play with LD_LIBRARY_PATH or /etc/ld.so.conf.

jca@ met the issue already on sparc64, but his fix did not help on
macppc. The diff belows proposes a fix for the above message, that
allows base to build [0].

So i tried to run several objective-c binaries provided by base,
and they all segfault, i'm attaching a backtrace.

Some committed PRs [1] [2] should have fixed the issue, so i also tried
an update to base-1.27.0, to no avail.

I'm proposing here a diff that fixes make and mark base broken.

Comments/feedback are welcome,

Charlène.


[0] https://bin.charlenew.xyz/macppc/paths/x11/gnustep/base.log
[1] https://github.com/gnustep/libs-base/pull/84
[2] https://github.com/gnustep/libs-base/pull/91


Index: base/Makefile
===================================================================
RCS file: /cvs/ports/x11/gnustep/base/Makefile,v
retrieving revision 1.75
diff -u -p -r1.75 Makefile
--- base/Makefile       20 Oct 2019 08:03:00 -0000      1.75
+++ base/Makefile       18 Apr 2020 15:46:55 -0000
@@ -1,5 +1,7 @@
 # $OpenBSD: Makefile,v 1.75 2019/10/20 08:03:00 ajacoutot Exp $
 
+BROKEN-powerpc= consumers segfault at runtime
+
 COMMENT=       GNUstep base library
 
 DISTNAME=      gnustep-base-1.26.0
Index: make/Makefile
===================================================================
RCS file: /cvs/ports/x11/gnustep/make/Makefile,v
retrieving revision 1.56
diff -u -p -r1.56 Makefile
--- make/Makefile       20 Oct 2019 08:03:03 -0000      1.56
+++ make/Makefile       18 Apr 2020 15:46:55 -0000
@@ -36,7 +36,8 @@ CONFIGURE_ARGS=       --with-layout=openbsd \
                --with-objc-lib-flag=-lobjc2 \
                --enable-strict-v2-mode
 
-.if ${MACHINE_ARCH} == "amd64" || ${MACHINE_ARCH} == "i386"
+.if ${MACHINE_ARCH} == "amd64" || ${MACHINE_ARCH} == "i386" || \
+    ${MACHINE_ARCH} == "powerpc"
 WANTLIB =      ${COMPILER_LIBCXX}
 LIBRARY_COMBO =                "ng-gnu-gnu"
 CONFIGURE_ENV +=       GS_WITH_ARC=1 AS=llvm-as

Attachment: gdb.gs_base.txt
Description: Binary data

Reply via email to