Bug 243484

Summary: editors/emacs: fix build of dependent libraries on powerpc64 elf2
Product: Ports & Packages Reporter: Piotr Kubaj <pkubaj>
Component: Individual Port(s)Assignee: emacs (Nobody) <emacs>
Status: Closed FIXED    
Severity: Affects Only Me CC: emacs, jrm, linimon, powerpc
Priority: --- Flags: jrm: maintainer-feedback+
Version: Latest   
Hardware: powerpc   
OS: Any   
Description Flags
patch pkubaj: maintainer-approval? (emacs)

Description Piotr Kubaj freebsd_committer 2020-01-21 14:56:25 UTC
Created attachment 210915 [details]

All the dependent libraries fail to build on powerpc64 elfv2:
===>  Building for treepy.el-emacs26-0.1.1_3
(cd /wrkdirs/usr/ports/devel/treepy.el/work-full/treepy.el-0.1.1 ; /usr/local/bin/emacs-26.3 -batch -q -f batch-byte-compile treepy.el)
*** Signal 6

Use GCC on powerpc64 to fix this issue.
Comment 1 Joseph Mingrone freebsd_committer 2020-01-21 15:00:19 UTC
Seems fine.  Is this also required for editors/emacs-devel?
Comment 2 Piotr Kubaj freebsd_committer 2020-01-21 15:20:17 UTC
Are there any dependent libraries in ports using emacs-devel? I didn't notice any, but if there are some, let me know and I'll test it.
Comment 3 Joseph Mingrone freebsd_committer 2020-01-21 15:30:54 UTC
The Emacs ports have flavors, so most of the ports with 'USES=emacs' can work with either editors/emacs or editors/emacs-devel.

## poudriere example:

poudriere bulk -j 12amd64 devel/treepy.el @devel_full

## direct installation example:

make -C /usr/ports/devel/treepy.el FLAVOR=devel_full build
Comment 4 Joseph Mingrone freebsd_committer 2020-01-21 15:32:17 UTC
Sorry.  Of course, should not be a space before '@' in the poudriere command.
Comment 5 Piotr Kubaj freebsd_committer 2020-01-21 21:18:27 UTC
=======================<phase: build          >============================
===>  Building for treepy.el-emacs28-0.1.1_3
(cd /wrkdirs/usr/ports/devel/treepy.el/work-devel_full/treepy.el-0.1.1 ; /usr/local/bin/emacs-28.0.50 -batch -q -f batch-byte-compile treepy.el)

Seems fine, only the stable port is affected.
Comment 6 Joseph Mingrone freebsd_committer 2020-01-21 22:10:26 UTC
Looks good.  Thanks for doing this.  FYI, Emacs 27 will be released soon, so this change may be short lived.
Comment 7 Piotr Kubaj freebsd_committer 2020-01-22 08:57:20 UTC
(In reply to Joseph Mingrone from comment #6)
I'm actually not sure whether Emacs 27.0 will need it. Devel is 28 right now.
Comment 8 commit-hook freebsd_committer 2020-01-22 10:48:04 UTC
A commit references this bug:

Author: pkubaj
Date: Wed Jan 22 10:47:24 UTC 2020
New revision: 523801
URL: https://svnweb.freebsd.org/changeset/ports/523801

  editors/emacs: fix miscompilation on powerpc64 elfv2

  Clang currently miscompiles emacs, resulting in broken builds for dependencies:
  ===>  Building for treepy.el-emacs26-0.1.1_3
  (cd /wrkdirs/usr/ports/devel/treepy.el/work-full/treepy.el-0.1.1 ; /usr/local/bin/emacs-26.3 -batch -q -f batch-byte-compile treepy.el)
  *** Signal 6

  Use GCC to workaround it.

  PR:		243484
  Approved by:	jrm (maintainer)