Bug 234792 - java/openjdk6: fails to link on i386 with lld as system linker
Summary: java/openjdk6: fails to link on i386 with lld as system linker
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: Greg Lewis
URL:
Keywords:
Depends on:
Blocks: 214864
  Show dependency treegraph
 
Reported: 2019-01-09 16:14 UTC by Ed Maste
Modified: 2019-09-23 18:29 UTC (History)
3 users (show)

See Also:
bugzilla: maintainer-feedback? (java)


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Ed Maste freebsd_committer 2019-01-09 16:14:30 UTC
http://package18.nyi.freebsd.org/build.html?mastername=headi386PR214864-default&build=2019-01-05_21h00m02s
http://package18.nyi.freebsd.org/data/headi386PR214864-default/2019-01-05_21h00m02s/logs/errors/openjdk6-b45,1.log

Linking vm...
ld: error: can't create dynamic relocation R_386_32 against symbol: vtable for AdaptiveSizePolicy in readonly segment; recompile object files with -fPIC or pass '-Wl,-z,notext' to allow text relocations in the output
>>> defined in adaptiveSizePolicy.o
>>> referenced by adaptiveSizePolicy.cpp
>>>               adaptiveSizePolicy.o:(AdaptiveSizePolicy::AdaptiveSizePolicy(unsigned int, unsigned int, unsigned int, double, unsigned int))

ld: error: can't create dynamic relocation R_386_32 against symbol: ThresholdTolerance in readonly segment; recompile object files with -fPIC or pass '-Wl,-z,notext' to allow text relocations in the output
>>> defined in globals.o
>>> referenced by adaptiveSizePolicy.cpp
>>>               adaptiveSizePolicy.o:(AdaptiveSizePolicy::AdaptiveSizePolicy(unsigned int, unsigned int, unsigned int, double, unsigned int))

ld: error: can't create dynamic relocation R_386_32 against symbol: .LCPI0_0 in readonly segment; recompile object files with -fPIC or pass '-Wl,-z,notext' to allow text relocations in the output
>>> defined in adaptiveSizePolicy.o
>>> referenced by adaptiveSizePolicy.cpp
>>>               adaptiveSizePolicy.o:(AdaptiveSizePolicy::AdaptiveSizePolicy(unsigned int, unsigned int, unsigned int, double, unsigned int))
...
Comment 2 Ed Maste freebsd_committer 2019-07-24 19:33:36 UTC
lld has been enabled as system linker for i386 on stable/12 in advance of 12.1 (base svn r350297, a few minutes ago)
Comment 3 Greg Lewis freebsd_committer 2019-07-26 19:07:45 UTC
IMO openjdk6 and openjdk7 should be deleted.  That probably requires an RFC first though.  I think we have time to do that prior to 12.1, although I need to check on the release schedule.
Comment 4 Michael Osipov 2019-07-26 19:40:22 UTC
(In reply to Greg Lewis from comment #3)

I'd retain Java 7 because OpenJDK 7 still receives updates.
Comment 5 Greg Lewis freebsd_committer 2019-07-26 21:08:23 UTC
That's IMO only relevant if

1) There is still a sufficiently large group of people who explicitly use JDK 7 (unknown, the RFC would help answer this)
2) Those updates were being included in the FreeBSD port (they are not)

If the first one is true, then someone in the first group will need to provide updates for JDK 7, otherwise the version in the tree will continue to have security vulnerabilities.

As things stand at the moment, there are downsides to openjdk6 and openjdk7 continuing to exist in the tree given their current state, which includes maintenance (for problems like this) and security vulnerabilities.
Comment 6 Michael Osipov 2019-07-27 18:40:09 UTC
(In reply to Greg Lewis from comment #5)

I see your point, but then you should have deprecated them long time ago. I'd deprecate it, at least update 7 once in three months and then remove it by 2020-03-31 or earlier.
Comment 7 Greg Lewis freebsd_committer 2019-08-12 04:07:36 UTC
Plan to address this is to remove openjdk6.  I'll start the burn sequence tomorrow if all goes well.  We need to change at least one other port that depends explicitly on it though (IIRC).
Comment 8 commit-hook freebsd_committer 2019-08-20 07:48:08 UTC
A commit references this bug:

Author: glewis
Date: Tue Aug 20 07:47:25 UTC 2019
New revision: 509411
URL: https://svnweb.freebsd.org/changeset/ports/509411

Log:
  Set an expiration date

  * Java 6 public releases ended April 2013, and extended support on
    December 2018.  With upstream support ending, this is marked as
    deprecated and users are encouraged to upgrade to openjdk8.
  * Provide an expiration date set one month from now (2019-09-20).

  PR:	234792

Changes:
  head/java/openjdk6/Makefile
Comment 9 Greg Lewis freebsd_committer 2019-08-20 07:49:23 UTC
De-orbit burn sequence initiated for openjdk6.  This currently depends on updating jakarta-commons-dbcp, but I have a patch out for that, which should get committed in a couple of weeks at most.
Comment 10 Michael Osipov 2019-08-20 07:52:00 UTC
(In reply to Greg Lewis from comment #9)

jakarta-commons-dbcp shall be removed altogether, we, the Apache Commons commiters, do not support it anymore. One shall use Commons DBCP 2.
Comment 11 Greg Lewis freebsd_committer 2019-08-20 17:14:14 UTC
The update I mentioned is to DBCP 2.7.0
Comment 12 commit-hook freebsd_committer 2019-09-23 18:20:40 UTC
A commit references this bug:

Author: glewis
Date: Mon Sep 23 18:19:58 UTC 2019
New revision: 512662
URL: https://svnweb.freebsd.org/changeset/ports/512662

Log:
  Remove references to openjdk6

  * Remove references to "6" in comments and examples
  * Remove java/openjdk6 from the list of Java ports that are considered to
    satisfy a dependency
  * Don't yet remove "6" as a valid version since many ports have "1.6+" as
    a version specifier (although none have just 1.6).  Instead force this
    to mean "1.7+".

  PR:		234792
  Sponsored by:	The FreeBSD Foundation

Changes:
  head/Mk/bsd.java.mk
Comment 13 commit-hook freebsd_committer 2019-09-23 18:27:41 UTC
A commit references this bug:

Author: glewis
Date: Mon Sep 23 18:27:38 UTC 2019
New revision: 512664
URL: https://svnweb.freebsd.org/changeset/ports/512664

Log:
  Remove reference to java/openjdk6

  PR:		234792
  Sponsored by:	The FreeBSD Foundation

Changes:
  head/java/openjdk7/Makefile
Comment 14 Greg Lewis freebsd_committer 2019-09-23 18:29:27 UTC
I've removed java/openjdk6 and java/openjdk6-jre