Bug 230608

Summary: devel/sope2, devel/sope3, devel/sope4: fails to build with LLD 7
Product: Ports & Packages Reporter: Jan Beich <jbeich>
Component: Individual Port(s)Assignee: Ed Maste <emaste>
Status: Closed FIXED    
Severity: Affects Only Me CC: emaste
Priority: --- Keywords: needs-patch
Version: LatestFlags: bugzilla: maintainer-feedback? (acm)
Hardware: Any   
OS: Any   
Bug Depends on:    
Bug Blocks: 214864, 230355    

Description Jan Beich freebsd_committer freebsd_triage 2018-08-13 22:36:57 UTC
$ poudriere jail -cj clang7 -a amd64 -v projects/clang700-import -m svn+https
$ poudriere testport -j clang7 devel/sope2
[...]
ld: error: corrupt input file: version definition index 2 for symbol undleManager.bundleSearchPaths is out of bounds
>>> defined in ./../sope-core/NGExtensions/obj/libNGExtensions.so

ld: error: corrupt input file: version definition index 3 for symbol so.4.9 is out of bounds
>>> defined in ./../sope-core/NGExtensions/obj/libNGExtensions.so

ld: error: corrupt input file: version definition index 2 for symbol Base64 is out of bounds
>>> defined in ./../sope-core/NGExtensions/obj/libNGExtensions.so

ld: error: corrupt input file: version definition index 2 for symbol bjc_sel_nameprovidedResourcesOfType: is out of bounds
>>> defined in ./../sope-core/NGExtensions/obj/libNGExtensions.so

ld: error: corrupt input file: version definition index 4 for symbol .objc_sel_namestringByDeletingLastPathComponent is out of bounds
>>> defined in ./../sope-core/NGExtensions/obj/libNGExtensions.so

ld: error: corrupt input file: version definition index 5 for symbol AddToResultArray: is out of bounds
>>> defined in ./../sope-core/NGExtensions/obj/libNGExtensions.so

ld: error: corrupt input file: version definition index 5 for symbol WithCapacity: is out of bounds
>>> defined in ./../sope-core/NGExtensions/obj/libNGExtensions.so

ld: error: corrupt input file: version definition index 5 for symbol apKeyCallBacks is out of bounds
>>> defined in ./../sope-core/NGExtensions/obj/libNGExtensions.so

ld: error: corrupt input file: version definition index 5 for symbol erator.position is out of bounds
>>> defined in ./../sope-core/NGExtensions/obj/libNGExtensions.so

ld: error: corrupt input file: version definition index 5 for symbol PathToPathArray: is out of bounds
>>> defined in ./../sope-core/NGExtensions/obj/libNGExtensions.so

ld: error: corrupt input file: version definition index 2 for symbol _sel_namemainBundle is out of bounds
>>> defined in ./../sope-core/NGExtensions/obj/libNGExtensions.so

ld: error: corrupt input file: version definition index 2 for symbol c_sel_namefileAttributesAtPath:traverseLink: is out of bounds
>>> defined in ./../sope-core/NGExtensions/obj/libNGExtensions.so

ld: error: corrupt input file: version definition index 2 for symbol ompare: is out of bounds
>>> defined in ./../sope-core/NGExtensions/obj/libNGExtensions.so

ld: error: corrupt input file: version definition index 2 for symbol SS_NGDirEntry is out of bounds
>>> defined in ./../sope-core/NGExtensions/obj/libNGExtensions.so

ld: error: corrupt input file: version definition index 6 for symbol leManager is out of bounds
>>> defined in ./../sope-core/NGExtensions/obj/libNGExtensions.so

ld: error: corrupt input file: version definition index 2 for symbol nager is out of bounds
>>> defined in ./../sope-core/NGExtensions/obj/libNGExtensions.so

ld: error: corrupt input file: version definition index 2 for symbol .objc_sel_namelastPathComponent is out of bounds
>>> defined in ./../sope-core/NGExtensions/obj/libNGExtensions.so

ld: error: corrupt input file: version definition index 2 for symbol ent is out of bounds
>>> defined in ./../sope-core/NGExtensions/obj/libNGExtensions.so

ld: error: corrupt input file: version definition index 3 for symbol ure:atPath: is out of bounds
>>> defined in ./../sope-core/NGExtensions/obj/libNGExtensions.so

ld: error: corrupt input file: version definition index 3 for symbol hFileManager:path: is out of bounds
>>> defined in ./../sope-core/NGExtensions/obj/libNGExtensions.so

ld: error: too many errors emitted, stopping now (use -error-limit=0 to see all errors)
cc: error: linker command failed with exit code 1 (use -v to see invocation)

http://package18.nyi.freebsd.org/data/headamd64PR230355-default/2018-08-11_19h01m06s/logs/errors/sope2-2.3.23_1.log
http://package18.nyi.freebsd.org/data/headamd64PR230355-default/2018-08-11_19h01m06s/logs/errors/sope3-3.2.10_2.log
http://package18.nyi.freebsd.org/data/headamd64PR230355-default/2018-08-11_19h01m06s/logs/errors/sope4-4.0.1.log
Comment 1 Jan Beich freebsd_committer freebsd_triage 2018-08-13 22:46:35 UTC
Can be worked around via LLD_UNSAFE.
Comment 2 Ed Maste freebsd_committer freebsd_triage 2018-09-26 13:16:34 UTC
Related issue, on i386 with lld 6:

cc -shared -Wl,-soname,libNGObjWeb.so.4.9    -L/usr/local/lib -L/usr/local/lib -fstack-protector  -rdynamic -rdynamic -rdynamic -rdynamic -rdynamic  -rdynamic     -L/usr/local/lib -fstack-protector   -pthread  -fexceptions -o ./obj/libNGObjWeb.so.4.9.37 obj/libNGObjWeb.obj/NSObject+WO.m.o obj/libNGObjWeb.obj/WOApplication+defaults.m.o obj/libNGObjWeb.obj/WOApplication.m.o obj/libNGObjWeb.obj/WOCoreApplication.m.o obj/libNGObjWeb.obj/WOComponent.m.o obj/libNGObjWeb.obj/WOComponent+Sync.m.o obj/libNGObjWeb.obj/WOComponentDefinition.m.o obj/libNGObjWeb.obj/WOComponentFault.m.o obj/libNGObjWeb.obj/WOContext.m.o obj/libNGObjWeb.obj/WOElement.m.o obj/libNGObjWeb.obj/WOMessage.m.o obj/libNGObjWeb.obj/WORequest.m.o obj/libNGObjWeb.obj/WOResourceManager.m.o obj/libNGObjWeb.obj/WOResponse.m.o obj/libNGObjWeb.obj/WORunLoop.m.o obj/libNGObjWeb.obj/WOSession.m.o obj/libNGObjWeb.obj/WOSessionStore.m.o obj/libNGObjWeb.obj/WOStatisticsStore.m.o obj/libNGObjWeb.obj/_WOStringTable.m.o obj/libNGObjWeb.obj/WOElementID.m.o obj/libNGObjWeb.obj/NGHttp+WO.m.o obj/libNGObjWeb.obj/NGObjWeb.m.o obj/libNGObjWeb.obj/OWViewRequestHandler.m.o obj/libNGObjWeb.obj/OWResourceManager.m.o obj/libNGObjWeb.obj/WEClientCapabilities.m.o obj/libNGObjWeb.obj/WOAdaptor.m.o obj/libNGObjWeb.obj/WOApplicationMain.m.o obj/libNGObjWeb.obj/WOChildComponentReference.m.o obj/libNGObjWeb.obj/WOComponentRequestHandler.m.o obj/libNGObjWeb.obj/WOCookie.m.o obj/libNGObjWeb.obj/WOCoreApplication+Bundle.m.o obj/libNGObjWeb.obj/WODirectAction.m.o obj/libNGObjWeb.obj/WODirectActionRequestHandler.m.o obj/libNGObjWeb.obj/WODisplayGroup.m.o obj/libNGObjWeb.obj/WODynamicElement.m.o obj/libNGObjWeb.obj/WOFileSessionStore.m.o obj/libNGObjWeb.obj/WOHTTPConnection.m.o obj/libNGObjWeb.obj/WOHTTPURLHandle.m.o obj/libNGObjWeb.obj/WOMailDelivery.m.o obj/libNGObjWeb.obj/WOMessage+XML.m.o obj/libNGObjWeb.obj/WOMessage+Validation.m.o obj/libNGObjWeb.obj/WOPageRequestHandler.m.o obj/libNGObjWeb.obj/WOProxyRequestHandler.m.o obj/libNGObjWeb.obj/WORequestHandler.m.o obj/libNGObjWeb.obj/WOResourceRequestHandler.m.o obj/libNGObjWeb.obj/WOServerSessionStore.m.o obj/libNGObjWeb.obj/WOSimpleHTTPParser.m.o obj/libNGObjWeb.obj/WOStats.m.o obj/libNGObjWeb.obj/NSString+JavaScriptEscaping.m.o obj/libNGObjWeb.obj/WOWatchDogApplicationMain.m.o NGHttp/obj/subproject.o Associations/obj/subproject.o Templates/obj/subproject.o DynamicElements/obj/subproject.o WOHttpAdaptor/obj/subproject.o SoObjects/obj/subproject.o WebDAV/obj/subproject.o      -L././obj -L../../sope-core/EOControl/./obj -L../../sope-core/NGExtensions/./obj -L../../sope-core/NGStreams/./obj -L../../sope-xml/SaxObjC/./obj -L../../sope-xml/DOM/./obj   -L./../../sope-mime/NGMail/obj  -L./../../sope-mime/obj  -L./../../sope-core/NGStreams/obj  -L./../../sope-core/NGExtensions/obj  -L./../../sope-core/EOControl/obj  -L./../../sope-xml/DOM/obj  -L./../../sope-xml/SaxObjC/obj  -F.  -L././obj -L../../sope-core/EOControl/./obj -L../../sope-core/NGExtensions/./obj -L../../sope-core/NGStreams/./obj -L../../sope-xml/SaxObjC/./obj -L../../sope-xml/DOM/./obj   -L./../../sope-mime/NGMail/obj  -L./../../sope-mime/obj  -L./../../sope-core/NGStreams/obj  -L./../../sope-core/NGExtensions/obj  -L./../../sope-core/EOControl/obj  -L./../../sope-xml/DOM/obj  -L./../../sope-xml/SaxObjC/obj  -F.  -L././obj -L../../sope-core/EOControl/./obj -L../../sope-core/NGExtensions/./obj -L../../sope-core/NGStreams/./obj -L../../sope-xml/SaxObjC/./obj -L../../sope-xml/DOM/./obj   -L./../../sope-mime/NGMail/obj  -L./../../sope-mime/obj  -L./../../sope-core/NGStreams/obj  -L./../../sope-core/NGExtensions/obj  -L./../../sope-core/EOControl/obj  -L./../../sope-xml/DOM/obj  -L./../../sope-xml/SaxObjC/obj  -F.   -L././obj -L../../sope-core/EOControl/./obj -L../../sope-core/NGExtensions/./obj -L../../sope-core/NGStreams/./obj -L../../sope-xml/SaxObjC/./obj -L../../sope-xml/DOM/./obj   -L./../../sope-mime/NGMail/obj  -L./../../sope-mime/obj  -L./../../sope-core/NGStreams/obj  -L./../../sope-core/NGExtensions/obj  -L./../../sope-core/EOControl/obj  -L./../../sope-xml/DOM/obj  -L./../../sope-xml/SaxObjC/obj  -F.    -L/wrkdirs/usr/ports/devel/sope4/work/GNUstep/Library/Libraries -L/usr/local/GNUstep/Local/Library/Libraries -L/usr/local/GNUstep/System/Library/Libraries  -L/usr/local/lib -lNGMime -lNGStreams -lNGExtensions -lEOControl -lDOM -lSaxObjC -rdynamic -L/usr/local/lib -fstack-protector -pthread -fexceptions -fobjc-runtime=gnustep-1.8 -fblocks -L/nonexistent/GNUstep/Library/Libraries -L/usr/local/GNUstep/Local/Library/Libraries -L/usr/local/GNUstep/System/Library/Libraries -L/usr/local/lib -lgnustep-base -lobjc -fobjc-nonfragile-abi -lm  && (cd ./obj; rm -f libNGObjWeb.so; if [ "libNGObjWeb.so.4.9" != "libNGObjWeb.so.4.9.37" ]; then rm -f libNGObjWeb.so.4.9; ln -s libNGObjWeb.so.4.9.37 libNGObjWeb.so.4.9; fi; ln -s libNGObjWeb.so.4.9 libNGObjWeb.so)
cc: warning: argument unused during compilation: '-F.' [-Wunused-command-line-argument]
cc: warning: argument unused during compilation: '-F.' [-Wunused-command-line-argument]
cc: warning: argument unused during compilation: '-F.' [-Wunused-command-line-argument]
cc: warning: argument unused during compilation: '-F.' [-Wunused-command-line-argument]
/usr/bin/ld: error: TLS attribute mismatch: _ThreadRuneLocale
>>> defined in obj/libNGObjWeb.obj/NSObject+WO.m.o
>>> defined in ./../../sope-mime/obj/libNGMime.so
cc: error: linker command failed with exit code 1 (use -v to see invocation)
Comment 3 commit-hook freebsd_committer freebsd_triage 2018-09-26 13:41:09 UTC
A commit references this bug:

Author: emaste
Date: Wed Sep 26 13:40:54 UTC 2018
New revision: 480739
URL: https://svnweb.freebsd.org/changeset/ports/480739

Log:
  devel/sope4: set LLD_UNSAFE

  This port experiences odd failures with lld, so just fall back to
  GNU ld.

  amd64, lld 7.0:

  ld: error: corrupt input file: version definition index 2 for symbol
      undleManager.bundleSearchPaths is out of bounds
  >>> defined in ./../sope-core/NGExtensions/obj/libNGExtensions.so

  i386, lld 6.0:

  /usr/bin/ld: error: TLS attribute mismatch: _ThreadRuneLocale

  PR:		214864, 230608
  Approved by:	portmgr (lld blanket)
  Sponsored by:	The FreeBSD Foundation

Changes:
  head/devel/sope4/Makefile
Comment 4 commit-hook freebsd_committer freebsd_triage 2018-11-03 20:29:58 UTC
A commit references this bug:

Author: emaste
Date: Sat Nov  3 20:29:13 UTC 2018
New revision: 483909
URL: https://svnweb.freebsd.org/changeset/ports/483909

Log:
  devel/sope{2,3}: set LLD_UNSAFE

  This port experiences odd failures with lld, so just fall back to
  GNU ld.

  PR:		214864, 230608
  Submitted by:	jbeich
  Reported by:	jbeich
  Approved by:	portmgr (LLD_UNSAFE blanket)

Changes:
  head/devel/sope2/Makefile
  head/devel/sope3/Makefile