Bug 230116 - lang/gnustep-base: unbreak on aarch64
Summary: lang/gnustep-base: unbreak on aarch64
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: arm64 Any
: --- Affects Only Me
Assignee: David Chisnall
URL:
Keywords:
: 231244 (view as bug list)
Depends on:
Blocks: 201763 231286
  Show dependency treegraph
 
Reported: 2018-07-28 16:47 UTC by mikael.urankar
Modified: 2018-09-26 15:27 UTC (History)
2 users (show)

See Also:


Attachments
patch (475 bytes, patch)
2018-07-28 16:47 UTC, mikael.urankar
no flags Details | Diff
patch (836 bytes, patch)
2018-07-30 16:54 UTC, mikael.urankar
no flags Details | Diff
patch (37.52 KB, patch)
2018-08-01 16:07 UTC, mikael.urankar
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description mikael.urankar 2018-07-28 16:47:00 UTC
Created attachment 195543 [details]
patch

It builds fine on 11.2-RELEASE and 12-CURRENT.
Comment 1 David Chisnall freebsd_committer 2018-07-28 17:43:14 UTC
Looks good to me, if you've tested it.  I think this was because of a clang bug, which is now fixed upstream, and may have been fixed when the GNUstep ports were updated to a newer clang.
Comment 2 mikael.urankar 2018-07-28 17:49:13 UTC
It's broken on 11.1-RELEASE: http://thunderx1.nyi.freebsd.org/data/111arm64-default/472730/logs/errors/gnustep-base-1.25.0_4.log

and it builds fine with newer clang.

I assume we still have to support 11.1 until it's EOL?
Comment 3 David Chisnall freebsd_committer 2018-07-28 18:08:28 UTC
(In reply to mikael.urankar from comment #2)

I think that is due to picking the system clang if it's new enough, only it isn't actually new enough.  I plan on switching the ports over to the v2 ABI soon when clang 7.0 is released, which should involve bumping the minimum clang version.  In the meantime, it looks as if just bumping the minimum clang version to whatever 11.2 needs will work.  Can you try that (ports/Mk/Uses/gnustep.mk or objc.mk, I don't recall which) and see if that fixes it on AArch64?
Comment 4 mikael.urankar 2018-07-30 16:54:28 UTC
Created attachment 195647 [details]
patch

Indeed, bumping OBJC_CLANG_VERSION to 60 fixes the build issue on 11.1-RELEASE.
Thanks for the hint.
Comment 5 David Chisnall freebsd_committer 2018-07-31 06:38:28 UTC
Somewhat annoyingly, you will need to bump the portrevision for every port that uses Objective-C after this change (or you will end up with different packages from the same port depending on when they were built).  I'm happy for the patch to be committed once it includes that change.
Comment 6 mikael.urankar 2018-08-01 16:07:05 UTC
Created attachment 195718 [details]
patch

(In reply to David Chisnall from comment #5)
I've bumped the portrevision to all ports listed in the gnustep CATEGORIES (with Tools/script/bump-revision.sh). I hope it's enough.
Comment 7 David Chisnall freebsd_committer 2018-08-01 16:29:48 UTC
(In reply to mikael.urankar from comment #6)

Normally, I run the script on all ports that depend on libobjc2 and manually bump that.  Is there anything that isn't in the GNUSTEP category that this would catch?

Otherwise, I'm happy for this to be committed.  Do you need me to do it, or do you have access?
Comment 8 mikael.urankar 2018-08-02 17:09:32 UTC
(In reply to David Chisnall from comment #7)
I gave a look and noticed the following "oddities" in some ports (I don't know if it's an error or normal):
 - lang/swift: depends on lang/libobjc2 but is not in the gnustep category and it doesn't use "USES= objc"
 - security/openvpn-auth-ldap: is not in the gnustep category but use "USES= objc"

I also forgot to bump www/sogo2-activesync, www/sogo3-activesync and www/sogo4-activesync, they are slaves ports of www/sogoX. Do I need to bump them (they were not bumped in ports r448472)?

I don't have a ports bit.
Comment 9 Mark Linimon freebsd_committer freebsd_triage 2018-09-11 22:07:43 UTC
*** Bug 231244 has been marked as a duplicate of this bug. ***
Comment 10 commit-hook freebsd_committer 2018-09-26 15:24:29 UTC
A commit references this bug:

Author: brooks
Date: Wed Sep 26 15:23:57 UTC 2018
New revision: 480741
URL: https://svnweb.freebsd.org/changeset/ports/480741

Log:
  Update Objective-C LLVM version to 6.0.

  Fixes aarch64 build.  Reduces depends on obsolete LLVM 4.0.

  PR:		230116
  Submitted by:	mikael.urankar@gmail.com
  Approved by:	theraven (prior version)
  Sponsored by:	DARPA, AFRL

Changes:
  head/Mk/Uses/objc.mk
  head/archivers/freetar/Makefile
  head/archivers/unarchiver/Makefile
  head/archivers/zipper/Makefile
  head/audio/cddb-bundle/Makefile
  head/audio/gnustep-cdplayer/Makefile
  head/audio/mpdcon/Makefile
  head/biology/biococoa/Makefile
  head/databases/fortytwo-bdb/Makefile
  head/databases/sqlclient/Makefile
  head/deskutils/affiche/Makefile
  head/deskutils/appwrapper/Makefile
  head/deskutils/cartotheque/Makefile
  head/deskutils/gnustep-wrapper/Makefile
  head/deskutils/gworkspace/Makefile
  head/deskutils/gworkspace-gwmetadata/Makefile
  head/deskutils/helpviewer/Makefile
  head/deskutils/plopfolio/Makefile
  head/deskutils/preferences/Makefile
  head/deskutils/simpleagenda/Makefile
  head/deskutils/systempreferences/Makefile
  head/deskutils/toolboxkit/Makefile
  head/devel/fortytwo-encore/Makefile
  head/devel/gnustep/Makefile
  head/devel/gnustep-make/Makefile
  head/devel/gorm/Makefile
  head/devel/highlighterkit/Makefile
  head/devel/performance/Makefile
  head/devel/projectcenter/Makefile
  head/devel/sope2/Makefile
  head/devel/sope3/Makefile
  head/devel/sope4/Makefile
  head/devel/wizardkit/Makefile
  head/finance/expense/Makefile
  head/ftp/gnustep-ftp/Makefile
  head/ftp/waiho/Makefile
  head/games/fortunate/Makefile
  head/games/gmastermind/Makefile
  head/games/gmines/Makefile
  head/games/gnustep-ladder/Makefile
  head/games/gnustep-sudoku/Makefile
  head/games/gomoku/Makefile
  head/games/grubik/Makefile
  head/games/gshisen/Makefile
  head/games/jigsaw/Makefile
  head/games/lapispuzzle/Makefile
  head/games/nextgo/Makefile
  head/games/oolite/Makefile
  head/graphics/camera/Makefile
  head/graphics/camerakit/Makefile
  head/graphics/cenon/Makefile
  head/graphics/fortytwo/Makefile
  head/graphics/gnustep-slideshow/Makefile
  head/graphics/gnustep-slideshowkit/Makefile
  head/graphics/graphos/Makefile
  head/graphics/imageviewer/Makefile
  head/graphics/laternamagica/Makefile
  head/graphics/pikopixel/Makefile
  head/graphics/pixen/Makefile
  head/graphics/preview/Makefile
  head/graphics/price/Makefile
  head/japanese/jishyo/Makefile
  head/lang/gnustep-base/Makefile
  head/lang/gscheme/Makefile
  head/lang/libobjc2/Makefile
  head/lang/swift/Makefile
  head/mail/addresses/Makefile
  head/mail/addresses-goodies/Makefile
  head/mail/gnumail/Makefile
  head/mail/pantomime/Makefile
  head/math/edenmath/Makefile
  head/misc/gnustep-examples/Makefile
  head/multimedia/poe/Makefile
  head/net/remotedesk/Makefile
  head/net/zillion/Makefile
  head/news/lusernet/Makefile
  head/print/gspdf/Makefile
  head/science/fisicalab/Makefile
  head/science/gtamsanalyzer/Makefile
  head/science/paje/Makefile
  head/security/openvpn-auth-ldap/Makefile
  head/sysutils/batmon/Makefile
  head/sysutils/timemon/Makefile
  head/textproc/duncan/Makefile
  head/textproc/easydiff/Makefile
  head/textproc/latex-service/Makefile
  head/textproc/localize/Makefile
  head/textproc/popup/Makefile
  head/www/grr/Makefile
  head/www/rsskit/Makefile
  head/www/sogo2/Makefile
  head/www/sogo2-activesync/Makefile
  head/www/sogo3/Makefile
  head/www/sogo3-activesync/Makefile
  head/www/sogo4/Makefile
  head/x11/gnustep-app/Makefile
  head/x11/gskrab/Makefile
  head/x11/innerspace/Makefile
  head/x11/terminal.app/Makefile
  head/x11-clocks/aclock/Makefile
  head/x11-toolkits/gnustep-back/Makefile
  head/x11-toolkits/gnustep-gui/Makefile
Comment 11 Brooks Davis freebsd_committer 2018-09-26 15:27:09 UTC
Committed patch produced by applying the objc.mk patch by hand and then running:
make index
grep libobjc2 INDEX-11 | cut -d\| -f2 | cut -c12-1000 | xargs sh Tools/scripts/bump-revision.sh