Main menu:

Sponsoring

Please consider a small donation:

 

 

Or you can donate bitcoin:

 

Thanks to TekLinks in Birmingham, AL, for providing colocation and bandwidth.

Page Rank

Fame

FOSS Force Best Blog--2013 Award

Recent posts

Recent comments

About this blog

I am Eric Hameleers, and this is where I think out loud.
More about me.

Search

My Favourites

Slackware

Calendar

October 2014
M T W T F S S
« Sep    
 12345
6789101112
13141516171819
20212223242526
2728293031  

RSS Alien's Slackware packages

RSS Alien's unofficial KDE Slackware packages

RSS Alien's multilib packages

Meta

Update 5 for OpenJDK 7 available

OpenJDK 7u5

Quite by accident I noticed that a newer version of Oracle’s Java 7 SE was available on my son’s Windows computer. I checked my Linux sources and indeed I was running behind.

Soon after icedtea 2.2 there has been a new release: 2.2.1. This version of the “icedtea build framework” creates binaries for update 5 to the Java 7 platform. The resulting OpenJDK binaries will have additional patches compared to the original OpenJDK sources. Using icedtea is also the only way to get a Java web browser plugin: icedtea-web (Oracle did not release the source code of their browser Java plugin under an open license). Icedtea-web requires an “icedtea build” of OpenJDK (or OpenJRE if you only require a Java Runtime).

The new package for OpenJDK identifies itself as “7u5_b21-icedtea” which is at the same level as Oracle’s official binaries..

Note: you will have noticed that Slackware has not seen an update to the Oracle Java packages for a long time. This is the result of a new license policy by Oracle (who currently “owns” Java), whereby it is no longer allowed to re-distribute the official Oracle binaries of the JDK and JRE. These new license terms were added after large parts of Oracle’s Java code had been open-sourced as “OpenJDK”. You can update your Java using my native (i.e. compiled on Slackware) packages, or download Oracle’s official binaries yourself (which is allowed by their license). In that case, you can adapt Slackware’s “jdk.SlackBuild” build script to wrap those binaries into a Slackware package. The choice is yours!

Note: you will see two packages on my download server: a JRE (java runtime engine) and a JDK (java development kit) package. You should only install one of those! The JRE is sufficient if you just want to run Java based applications. You need the JDK if you want to be able to compile Java code. Also, do not use “upgradepkg” when upgrading from Oracle’s binaries to my own OpenJDK package or vice versa. Nor should you use “upgradepkg” when switching from a JRE to a JDK or vice versa. This will mess with the symbolic links used by the packages. Instead, use “removepkg” to get rid of the installed version and “installpkg” to get the new package.

You can test the installed packages here for instance:

Upgrade to my OpenJDK package now! In that case, you’ll need rhino too (the JavaScript engine for OpenJDK). If you want the mozilla compatible browser plugin, get icedtea-web.

Please consider using one of the mirrors. When we got the slackware.com web server up and running again, we applied a download cap to the core team’s pages which will slow down your retrievals. For instance, you could use my mirror taper.alienbase.nl or else one of the other mirrors likeĀ slackware.org.uk or alien.slackbook.org.

Have fun! Eric

 

Comments

Comment from Mike Langdon (mlangdn)
Posted: June 24, 2012 at 13:10

Thanks, Eric! I hope you have time for a normal life as well – you seem awful busy.

This time, I removed openjre and installed openjdk. I’m not a developer, but I do compile some software at times, modifying or using a base template Slackbuild. Didn’t really know if i needed to use openjdk or not, but it sure won’t hurt anything. :)

Comment from LoneStar
Posted: June 24, 2012 at 14:10

You know that a new JRE is out when Chrome begins complaining that you’re running an old java plugin and asks if you really want to start it :-D

Comment from alienbob
Posted: June 24, 2012 at 14:38

I do not use Chrome :-)

Comment from LoneStar
Posted: June 24, 2012 at 20:40

haha I use Firefox as default and Chrome as second browser for other things ;)

Comment from escaflown
Posted: June 25, 2012 at 02:25

Thanks Eric!

Comment from Brad
Posted: June 29, 2012 at 16:54

Working great here. Thanks Eric!

Pingback from Offical Java package in 14.0?
Posted: July 5, 2012 at 05:38

[...] here you go: http://alien.slackbook.org/blog/upda…k-7-available/ [...]

Comment from StreamThreader
Posted: July 5, 2012 at 13:47

Hello, and thanks you for support slackware users!
Why don’t install two packages at same time?
If need compile java software, need change packages, and if run java soft i need again change package?

Comment from alienbob
Posted: July 5, 2012 at 14:18

@StreamThreader,

It is quite simple: the JDK package also contains the JRE, so that you do not have to install the separate JRE package. In fact, this is exactly the reason that you must only install one of the two – the JRE and JDK packages conflict.

If you do not need to compile java programs then installing the much smaller JRE package is enough. Some people do not want to install the bigger JDK package if they don’t have to.

Eric

Comment from StreamThreader
Posted: July 5, 2012 at 14:33

Thanks!

Comment from David Spencer
Posted: July 9, 2012 at 18:27

FYI, the boostrap build of icedtea didn’t work for me on -current. It happens right at the beginning. It’s the dreaded DSO linking problem.

/usr/lib64/gcc/x86_64-slackware-linux/4.7.1/../../../../x86_64-slackware-linux/bin/ld: /tmp/ccuFS2pi.o: undefined reference to symbol ‘_Jv_MonitorEnter’
/usr/lib64/gcc/x86_64-slackware-linux/4.7.1/../../../../x86_64-slackware-linux/bin/ld: note: ‘_Jv_MonitorEnter’ is defined in DSO /usr/lib64/libgcj.so.13 so try adding it to the linker command line

Let us pause for a moment to meditate on the chutzpah of gcj not linking libgcj unless you demand it.

(… pause …)

Ok, anyway, I fixed it with an ugly sed on the Makefile before “make VERBOSE=TRUE || exit 1″ (I tried various LDFLAGS fixes, but looking at the Makefile, that was never going to be possible!)

sed -i -e ‘s/-o native-ecj/-lgcj -o native-ecj/’ Makefile

Hope this is useful to someone. I could cry when I think how many of these problems Eric must have fixed in the last six months to get openjdk working!

Comment from alienbob
Posted: July 10, 2012 at 00:28

I started with OpenJDK6. I then discovered that Slackware was not yet ready for building OpenJDK from scratch.
It meant that I had to find out how to expand Slackware’s gcc and seamonkey packages to allow me to bootstrap OpenJDK. That alone probably cost me over 100 hours. It’s hard to put an hour value on that… it was a very frustrating time, and it felt like eternity. Out of frustration I tossed the whole idea aside at some point in december.
I then discovered roughly a month later that IcedTea was required to add a web browser plugin, and I started from scratch on an OpenJDK7 package using the IcedTea framework. Which must have cost me at least another 100 hours of trial and error. Not counting the compilation time, because instead of waiting for the build I could do other things.

I had two ulterior goals with this.
First of all: my promise to Pat Volkerding to come up with a re-distributable Java package after Oracle changed its license. And second, to ensure that I would be able to repeat the process on an ARM architecture. Back in december I had decided I would order my first ARM based work horse using the donation money that had accumulated: the TrimSlite. ARMedslack did not have any Java – I think it still does not.

So yeah, it cost me an arm and a leg, but Slackware improved as a result, even if OpenJDK may not get added in the end.

Eric

Comment from Mol_bolom
Posted: July 17, 2012 at 17:29

For the Minecraft players out there who happen to experiment with upgrading to Openjdk/jre 7u5. Minecraft works well with lwjgl 2.8.1, but not with the later versions. So you will need to upgrade lwjgl (http://lwjgl.org/) over Minecraft’s installed version. (Note: this is on Slackware 13.37)

The following is for web search queries to help people find this comment.

Exception in thread “Minecraft main thread” java.lang.UnsatisfiedLinkError: /home/user/.minecraft/bin/natives/liblwjgl.so: libjawt.so: cannot open shared object file: No such file or directory

lwjgl 2.8.3 Minecraft gets stuck at the pause screen / menu screen

Pingback from How to install the latest Java in Slackware | It's like my RATTATA is in the top percentage
Posted: July 17, 2012 at 19:07

[...] obsolete now that Java has gone away from Slackware due to licensing restrictions. Consider using OpenJDK or the SlackBuild scripts from [...]

Comment from jenchi
Posted: July 19, 2012 at 00:48

Hi Eric,
first of all, thanks for all the hard work you do for us!

I wanted to try out this OpenJDK as a replacement for Oracle JDK, but I can’t compile it on current64 multilib with your slackbuild.
Required packages apache-ant, rhino, xalan and xerces are installed.

First problem was the missing linking of libgcj, fixed with the tip of David Spencer (thanks David!).

Now it starts compiling, but it exit with this error:

Linking vm…
collect2: error: ld returned 1 exit status
ln: accessing ‘libjvm.so.1′: Too many levels of symbolic links
[ -f libjvm.debuginfo ] || ln -s libjvm.debuginfo libjvm.debuginfo
make[7]: stat: libjvm.so: Too many levels of symbolic links
echo Linking launcher…
Linking launcher…
gcc -m64 -Xlinker -O1 -Xlinker -z -Xlinker noexecstack -m64 -Xlinker -export-dynamic -L pwd -o gamma launcher/java_md.o launcher/java.o launcher/jli_util.o launcher/wildcard.o -ljvm -lm -ldl -lpthread
/usr/lib64/gcc/x86_64-slackware-linux/4.7.1/../../../../x86_64-slackware-linux/bin/ld: cannot find -ljvm
collect2: error: ld returned 1 exit status

Really don’t know how to fix it.. Any ideas?

Comment from Bob Zowaki
Posted: July 19, 2012 at 13:09

Thank you for this,it made installing the latest version of Java easy, im going to use the open source one from now on instead of the Oracle version.

It’s just a shame that Oracle is slowly turning Java closed source.

Comment from jenchi
Posted: July 20, 2012 at 02:23

After 1 hour of compiling and 7GB of disk space, I finally compiled OpenJDK. I still don’t know what exactly was broken, but reinstall gcc-java fixed it.

So, again, thanks Eric! \o/

Pingback from Installing Java 7
Posted: July 22, 2012 at 22:57

[...] You might also want to read the blog post that went with the stuff Mr Trotter linked to: http://alien.slackbook.org/blog/upda…k-7-available/ [...]

Pingback from [BUG?] alienbob openjdk.SlackBuild
Posted: August 2, 2012 at 22:52

[...] "sed" fix was mentioned in a comment by David Spencer on my blog post for the Update5: http://alien.slackbook.org/blog/upda…k-7-available/ . It will be present in the openjdk.SlackBuild when I compile the next JDK release. [...]

Comment from alienbob
Posted: August 8, 2012 at 10:26

It’s remarkable how closely the openjdk.SlackBuild of slacky.eu resembles my own openjdk.SlackBuild on which I spent an *insane* amount of time to get it right… See http://repository.slacky.eu/slackware64-13.37/development/openjdk/7u5_b21/src/openjdk.SlackBuild – the bootstrap code was removed but there are lots of literal copy/paste. However, my name is not mentioned anywhere and a guy called miklos < ardutu at gmail dot com > takes all the credit.
That’s not what the license header states, folks!
# Redistribution and use of this script, with or without modification, is
# permitted provided that the following conditions are met:
#
# 1. Redistributions of this script must retain the above copyright
# notice, this list of conditions and the following disclaimer.

I really dislike it when I see this happen. This is not the spirit of Open Source.

Eric

Comment from Mike Langdon (mlangdn)
Posted: August 8, 2012 at 11:14

Right or wrong, I fired off an email to miklos with a corrected version. You are on the bcc. I hope I’m not too far off the wall with this one, but it irritated the sh** out of me.

Comment from Athol
Posted: August 28, 2012 at 08:36

I was reading about a zero day exploit in the Oracle version of Java 7 on all supported platforms. That got me wondering if the exploit is likely to also apply to icedtea?

http://nakedsecurity.sophos.com/2012/08/28/unpatched-java-exploit-spreads-like-wildfire/

Comment from alienbob
Posted: August 28, 2012 at 11:26

According to this Redhat bug report, OpenJDK is affected too: https://bugzilla.redhat.com/show_bug.cgi?id=852051 however I do not know yet if the icedtea build of OpenJDK is (icedtea adds additional patches).

Eric

Comment from Athol
Posted: August 28, 2012 at 14:39

Good news. At that bugzilla link, comment 9 from David Jorm specifically says that the IcedTea-Web browser plugin doesn’t have the flaw, which sounds like using java within a web browser is safe.

I’m not certain but I get the impression that java programs run outside the browser still have the potential for the exploit.

Comment from Jean-Francois Blavier
Posted: August 28, 2012 at 22:41

There was an update to icedtea-web-1.2.1 released on 31-Jul-2012 but not announced on the icedtea blog.

Many, many, thanks for these java packages!!

Comment from alienbob
Posted: August 29, 2012 at 22:06

Hi Jean-Francois

I’ll think of you if ever I visit the US and pass the Jet Propulsion Laboratory :-) Do you actually use Slackware over there?

Glad to be able to offer a secure Java browser plugin package for Slackware in days like this…

Cheers, Eric

Pingback from [ASK] Android development on Slackware64
Posted: August 30, 2012 at 08:38

[...] I'm using it here with alien's multilib packages and a jdk (64bit, the one from extra/source or alien's openjdk). [...]

Comment from alienbob
Posted: August 30, 2012 at 12:21

A new icedtea is out which resolves the 0-day in OpenJDK. it will also update the reported Java version to update6:

$ java -version
java version “1.7.0_06″
OpenJDK Runtime Environment (IcedTea7 2.3.1) (Slackware)
OpenJDK 64-Bit Server VM (build 23.2-b09, mixed mode)

Once I have the 32-bit JDK/JRE and new icedtea-web built I will upload the lot.

Eric

Comment from Jean-Francois Blavier
Posted: August 30, 2012 at 17:40

Hi Eric,

Thanks for the new OpenJDK and icedtea-web packages: installed them this morning without problems!

And, yes, I use Slackware at work and at home. Do drop me a line, if you visit the area.

Thanks again!

Jean-Francois

Write a comment