<?xml version="1.0"?>
<rss version="2.0">
  <channel>
    <title>Advogato blog for aph</title>
    <link>http://www.advogato.org/person/aph/</link>
    <description>Advogato blog for aph</description>
    <language>en-us</language>
    <generator>mod_virgule</generator>
    <pubDate>Wed, 22 May 2013 13:01:07 GMT</pubDate>
    <item>
      <pubDate>Tue, 23 Oct 2012 16:35:31 GMT</pubDate>
      <title>23 Oct 2012</title>
      <link>http://www.advogato.org/person/aph/diary.html?start=5</link>
      <guid>http://www.advogato.org/person/aph/diary.html?start=5</guid>
      <description>We're doing an ARM64 OpenJDK port!  Article at&lt;br/&gt;
&lt;a href="http://www.advogato.org/article/1067.html" &gt; http://www.advogato.org/article/1067.html&lt;/a&gt;&lt;br/&gt;
</description>
    </item>
    <item>
      <pubDate>Fri, 20 Feb 2009 17:04:27 GMT</pubDate>
      <title>20 Feb 2009</title>
      <link>http://www.advogato.org/person/aph/diary.html?start=4</link>
      <guid>http://www.advogato.org/person/aph/diary.html?start=4</guid>
      <description>I wrote an article: Shark, gcj, and HotSpot: A tale of three&#xD;
code generators.&#xD;
Article at http://www.advogato.org/article/1001.html</description>
    </item>
    <item>
      <pubDate>Thu, 8 Nov 2007 17:25:13 GMT</pubDate>
      <title>8 Nov 2007</title>
      <link>http://www.advogato.org/person/aph/diary.html?start=3</link>
      <guid>http://www.advogato.org/person/aph/diary.html?start=3</guid>
      <description>Boy, do I feel stupid.  As soon as I posted my blog, people&#xD;
pointed out to me that NetBeans 6.0 Beta 2 supports IcedTea&#xD;
out of the box, so all my hackery with NetBeans 5.5 was&#xD;
pointless.&#xD;
&#xD;
&lt;p&gt; However, NetBeans 6.0 Beta 2 doesn't work for me.  It just&#xD;
displays a blank screen.  After a little while, I've found&#xD;
out why.  I always run all my test programs as X clients on&#xD;
a remote mcahine, with the server running on my desktop&#xD;
machine.  It turns out that if you start 6.0 Beta 2 on the&#xD;
same machine as the X server, it displays correctly.&#xD;
&#xD;
&lt;p&gt; I suppose that NetBeans must be doing some of the same weird&#xD;
stuff that we've seen elsewhere, and trying to bypass part&#xD;
of the X protocol somehow.&#xD;
</description>
    </item>
    <item>
      <pubDate>Thu, 8 Nov 2007 16:13:50 GMT</pubDate>
      <title>8 Nov 2007</title>
      <link>http://www.advogato.org/person/aph/diary.html?start=2</link>
      <guid>http://www.advogato.org/person/aph/diary.html?start=2</guid>
      <description>Download netbeans 5.5 from &lt;br&gt;&#xD;
&lt;br&gt;&#xD;
   http://www.netbeans.info/downloads/&lt;br&gt;&#xD;
&lt;br&gt;&#xD;
OK, run the netbeans installer.&lt;br&gt;&#xD;
                                         &lt;br&gt;&#xD;
   No Java Development Kit(JDK) was found on this system.&lt;br&gt;&#xD;
&lt;br&gt;&#xD;
Oh dear.  &lt;br&gt;&#xD;
&lt;br&gt;&#xD;
zorro:~ $ java -version&lt;br&gt;&#xD;
java version "1.7.0"&lt;br&gt;&#xD;
IcedTea Runtime Environment (build&#xD;
1.7.0-kojibuilder_27_sep_2007_14_56-b00)&lt;br&gt;&#xD;
IcedTea Server VM (build 11.0-b05, mixed mode)&lt;br&gt;&#xD;
&lt;br&gt;&#xD;
OK, so it is there.  Looks like the netbeans installer&#xD;
really doesn't&#xD;
like IcedTea.&lt;br&gt;&#xD;
&lt;br&gt;&#xD;
Try with an old JDK 1.5 version.&lt;br&gt;&#xD;
Run the netbeans installer.  Ah, that's much better!&lt;br&gt;&#xD;
&lt;br&gt;&#xD;
         Initializing InstallShield Wizard........&lt;br&gt;&#xD;
          Launching InstallShield Wizard........&lt;br&gt;&#xD;
&lt;br&gt;&#xD;
Right, so we have netbeans installed.&lt;br&gt;&#xD;
&lt;br&gt;&#xD;
zorro:~ $ ./netbeans-5.5.1/bin/netbeans &lt;br&gt;&#xD;
&lt;br&gt;&#xD;
That works fine.  Okay, so let's try running that with&#xD;
IcedTea in&#xD;
--jdkhome rather than Java 1.5:&lt;br&gt;&#xD;
&lt;br&gt;&#xD;
zorro:~ $ sh -x ./netbeans-5.5.1/bin/netbeans --jdkhome&#xD;
/usr/lib/jvm/java-1.7.0-icedtea-1.7.0.0.x86_64&lt;br&gt;&#xD;
&lt;br&gt;&#xD;
Alright!  That seems to work perfectly.  Let's try "Hello,&#xD;
World"&lt;br&gt;&#xD;
&lt;br&gt;&#xD;
init:&lt;br&gt;&#xD;
deps-jar:&lt;br&gt;&#xD;
compile:&lt;br&gt;&#xD;
run:&lt;br&gt;&#xD;
Exception in thread "main"&#xD;
java.lang.UnsupportedClassVersionError:&#xD;
javaapplication1/Main : Unsupported major.minor version 51.0&lt;br&gt;&#xD;
        at java.lang.ClassLoader.defineClass1(Native Method)&lt;br&gt;&#xD;
        at&#xD;
java.lang.ClassLoader.defineClass(ClassLoader.java:638)&lt;br&gt;&#xD;
        at&#xD;
java.security.SecureClassLoader.defineClass(SecureClassLoader.java:143)&lt;br&gt;&#xD;
        at&#xD;
java.net.URLClassLoader.defineClass(URLClassLoader.java:281)&lt;br&gt;&#xD;
        at&#xD;
java.net.URLClassLoader.access$000(URLClassLoader.java:74)&lt;br&gt;&#xD;
        at&#xD;
java.net.URLClassLoader$1.run(URLClassLoader.java:216)&lt;br&gt;&#xD;
        at&#xD;
java.security.AccessController.doPrivileged(Native Method)&lt;br&gt;&#xD;
        at&#xD;
java.net.URLClassLoader.findClass(URLClassLoader.java:209)&lt;br&gt;&#xD;
        at&#xD;
java.lang.ClassLoader.loadClass(ClassLoader.java:324)&lt;br&gt;&#xD;
        at&#xD;
sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)&lt;br&gt;&#xD;
        at&#xD;
java.lang.ClassLoader.loadClass(ClassLoader.java:269)&lt;br&gt;&#xD;
        at&#xD;
java.lang.ClassLoader.loadClassInternal(ClassLoader.java:337)&lt;br&gt;&#xD;
Java Result: 1&lt;br&gt;&#xD;
BUILD SUCCESSFUL (total time: 0 seconds)&lt;br&gt;&#xD;
&lt;br&gt;&#xD;
Excuse me?  What is *that* all about?  I'm running on a Java&#xD;
1.7 VM&#xD;
and compiling on a Java 1.7 VM, but the class file version&#xD;
is wrong.&#xD;
Bizarre.&lt;br&gt;&#xD;
&lt;br&gt;&#xD;
Let's try that from the command line, so we can see what's&#xD;
going on:&lt;br&gt;&#xD;
&lt;br&gt;&#xD;
zorro:src $&#xD;
/usr/lib/jvm/java-1.7.0-icedtea-1.7.0.0.x86_64/bin/javac&#xD;
javaapplication1/Main.java &lt;br&gt;&#xD;
zorro:src $ java javaapplication1.Main&lt;br&gt;&#xD;
Hello, world!&lt;br&gt;&#xD;
&lt;br&gt;&#xD;
So, that works.  Let's have a look at the class file&#xD;
version:&lt;br&gt;&#xD;
&lt;br&gt;&#xD;
zorro:src $ jcf-dump javaapplication1/Main&lt;br&gt;&#xD;
Reading .class from ./javaapplication1/Main.class.&lt;br&gt;&#xD;
Magic number: 0xcafebabe, minor_version: 0, major_version:&#xD;
50.&lt;br&gt;&#xD;
&lt;br&gt;&#xD;
Hey, it looks like IcedTea's javac defaults to emitting&#xD;
.class files&#xD;
with the Java 1.6 major version.  What happens with Java 1.7&#xD;
and IcedTea's VM?&lt;br&gt;&#xD;
&lt;br&gt;&#xD;
zorro:src $&#xD;
/usr/lib/jvm/java-1.7.0-icedtea-1.7.0.0.x86_64/bin/javac&#xD;
-source 1.7 javaapplication1/Main.java &lt;br&gt;&#xD;
zorro:src $&#xD;
/usr/lib/jvm/java-1.7.0-icedtea-1.7.0.0.x86_64/bin/java&#xD;
javaapplication1/Main &lt;br&gt;&#xD;
Exception in thread "main"&#xD;
java.lang.UnsupportedClassVersionError:&#xD;
javaapplication1/Main : Unsupported major.minor version 51.0&lt;br&gt;&#xD;
&lt;br&gt;&#xD;
Ouch!  So, although IcedTea is in theory Java 1.7 its VM&#xD;
will refuse&#xD;
to run .class files in the 1.7 format.  Netbeans must be&#xD;
forcing Version 1.7.&lt;br&gt;&#xD;
&lt;br&gt;&#xD;
OK, right-clock on Project/Properties, and there it is:&lt;br&gt;&#xD;
&lt;br&gt;&#xD;
   Source Level: 1.7&lt;br&gt;&#xD;
&lt;br&gt;&#xD;
Change that to 1.6, Clean and Build Main Project:&lt;br&gt;&#xD;
&lt;br&gt;&#xD;
init:&lt;br&gt;&#xD;
deps-jar:&lt;br&gt;&#xD;
compile:&lt;br&gt;&#xD;
run:&lt;br&gt;&#xD;
Hello, world!&lt;br&gt;&#xD;
BUILD SUCCESSFUL (total time: 0 seconds)&lt;br&gt;&#xD;
&lt;br&gt;&#xD;
Alright, so that works.  IcedTea is now running netbeans.&lt;br&gt;&#xD;
&lt;br&gt;&#xD;
As far as I can see everything works perfectly, except for&#xD;
some small&#xD;
font rendering issues.  The only real problem is that the&#xD;
netbeans&#xD;
installer won't recognized IcedTea as a valid Java VM, so&#xD;
you have to&#xD;
have Java 1.5 (an unfree VM) installed somewhere to install.&#xD;
 Once&#xD;
netbeans is installed you can delete Java 1.5.&lt;br&gt;&#xD;
&lt;br&gt;&#xD;
We really need to fix this; you shouldn't have to install an&#xD;
unfree&#xD;
JDK to run netbeans on IcedTea.&lt;br&gt;&#xD;
&lt;br&gt;&#xD;
OK, now I'll try the NetBeans 6.0 beta.&lt;br&gt;&#xD;
</description>
    </item>
    <item>
      <pubDate>Fri, 30 Sep 2005 15:07:44 GMT</pubDate>
      <title>30 Sep 2005</title>
      <link>http://www.advogato.org/person/aph/diary.html?start=1</link>
      <guid>http://www.advogato.org/person/aph/diary.html?start=1</guid>
      <description>Umm, beaten by Dalibor on both the economic _and_ social liberal scale!  I got a mere 80%/20% split.  I'm not sure how Dalibor managed to beat me on the social scale.  Must try to improve...
</description>
    </item>
    <item>
      <pubDate>Mon, 26 Sep 2005 10:42:06 GMT</pubDate>
      <title>26 Sep 2005</title>
      <link>http://www.advogato.org/person/aph/diary.html?start=0</link>
      <guid>http://www.advogato.org/person/aph/diary.html?start=0</guid>
      <description>Well, DevJam was a blast.

&lt;p&gt; The idea was to talk with Debian developers about packaging components
written in the Java language, and I went along as gcj maintainer.  I
was a little worried that the Debians wouldn't like the packaging we
do with gcj in Fedora, or that they'd want to do it entirely
differently.  I needn't have worried, however.  They were very
receptive to suggestions and seem in general to be a smart and
enthusiastic bunch of people.

&lt;p&gt; Friday began with mjw's thing.  Summary: we're 90ish percent done, but
it doesn't work.  Or something like that...

&lt;p&gt; I can't remember what else happened on Friday.

&lt;p&gt; I kicked off the proceedings on Saturday by talking about gcj and how
it works on GNU/Linux systems, with particular regard to the whole
precompiled database thing.  Then Jeroen van Wolffelaar spoke about
Debian packaging and how it works, which was very useful for me.  My
impression -- which might of course be incorrect -- was that Debian
packaging is nicer in some ways than RPM, worse in others, and just
different enough to be totally incompatible.  Sigh.

&lt;p&gt; We agreed, I think, to concentrate on the packages at jpackage.org.
This is easy for Fedora (jpackage and Fedora are RPM based
distributions) but hard for Debian.  I don't know if this is going to
work, but I think it's worth a try.

&lt;p&gt; I'm a little worried that Fedora and Debian might be duplicating
effort, particularly with regard to sanitizing packages.  This
sanitization is necessary because we have to be very sure that there
are no unfree packages shipped by mistake.  Hopefully, where one
distro has sanitized a package the other will be able to use that as a
base.

&lt;p&gt; gbenson talked for a little while about how the rebuild-gcj-db and
aot-compile-rpm scripts work, so that they can easily be used in a
Debian-based system.  That should work well, I think.

&lt;p&gt; DevJam itself was interesting.  The idea is that people turn up with
computers and lock themselves in a room with a ton of food for a
couple of days, hacking and talking together.  There's plenty of room
for people to sleep.  All rather like a Scout camp, but minus the
healthy outdoor activity and the singing.  As a weakling I didn't do
the sleeping on the floor thing, instead staying in hotel in the
centre of Oldenburg.  (The Hermes: very good, 60 Euros per night.
Next to the railway station.  Recommended.)

&lt;p&gt; One thing I really got from this is how lucky I am to work on free
software full time -- the attendees at DevJam were smart and
enthusiastic and quite inspiring.  It was an opportunity to recharge
my batteries.

&lt;p&gt; So, I'm glad I went and I hope to meet the Debians again.  Until
then, we have plenty of things to be getting on with!
</description>
    </item>
  </channel>
</rss>
