• Welcome to OS2World OLD-STATIC-BACKUP Forum.
 

News:

This is an old OS2World backup forum for reference only. IT IS READ ONLY!!!

If you need help with OS/2 - eComStation visit http://www.os2world.com/forum

Main Menu

OS/2 native port of Java 6

Started by miturbide, 2007.05.17, 04:47:54

Previous topic - Next topic

miturbide


Supporting thread for the OS/2 native port of Java 6 bounty. The original and old bounty thread can be found here.

Martín Itúrbide
OS2World.com NewsMaster
Open Source Advocate

Skype - martiniturbide
Google Talk - martiniturbide@gmail.com

miturbide

Today I just saw this news on OSNews.com.

"GNU Classpath 0.96 "Staying Alive!" and IcedTea 1.4 just got released. GNU Classpath is slowly turning into a bootstrapping platform for IcedTea/OpenJDK by providing the necessary free software plugs that are missing from Sun's OpenJDK to provide various GNU/Linux distributions with the fully free GPLed IcedTea Java platform implementation that will be in the Fedora (Werewolf), Debian, and Ubuntu (Gutsy) releases."

http://www.osnews.com/story.php/18800/GNU-Classpath-0.96-IcedTea-1.4-Released
Martín Itúrbide
OS2World.com NewsMaster
Open Source Advocate

Skype - martiniturbide
Google Talk - martiniturbide@gmail.com

Highlander

 :-XIs there any suggested for getting Java 6 ( or 5? ) working under eCS. It is used for much software nowadays and is a favourite means of software development, so must be considered essential. Would you agree? As for GNU Classpath 0.96 and IcedTea 1.4 - please explain. I am currently forced to develop under Windows, so just went to Sun's Java site and downloaded the latest Java, with Java DB, and Netbeans = no mention of strange code names!


miturbide

Hi Highlander

I agree with you that porting Java 6 to OS/2 is important. And I think many people agreed on that because is one of the highest bounties collected on the system.

About the other projects. Since Sun open sourced just the Java components that they can as GNU GPL, there are another projects that are trying to build Java JRE/JDK replacing the components that Sun was unable to open source.

Since the goal of the bounty will be to have Java 6  applications running under OS/2-eCS, the following projects (that are open source) can also be considered for this bounty.

- OpenJDK - http://openjdk.java.net/
(OpenJDK is the effort by Sun Microsystems to release a fully buildable Java Development Kit based completely on free and open source code.)

- GNU Classpath - http://www.gnu.org/software/classpath
(GNU Classpath, Essential Libraries for Java, is a GNU project to create free core class libraries for use with virtual machines and compilers for the java programming language.)

- IceTea - http://icedtea.classpath.org/wiki/Main_Page
(The IcedTea project provides a harness to build the source code from http://openjdk.java.net using Free Software build tools and provides replacements for the binary plugs with code from the GNU Classpath project.)

Plus the word "Java" as a programming language belongs to Sun. So it can only be ported as "Java for OS/2" if  royalties are paid to Sun to use the name.

I'm not a Developer, but I think this three open source projects can help on having a Java (or Java like) JRE for OS/2-eCS.

Any comments are welcome.
Martín Itúrbide
OS2World.com NewsMaster
Open Source Advocate

Skype - martiniturbide
Google Talk - martiniturbide@gmail.com

miturbide


Ohh. I almost forgot.

There is also the Java Source Code available, but it is under a restrictive license (JRL license) that limit the use of it.

- Java™ Platform, Standard Edition 6u10 Binary Snapshot Releases - http://download.java.net/jdk6/

But I'm not sure about the license issues trying to port this code.
Martín Itúrbide
OS2World.com NewsMaster
Open Source Advocate

Skype - martiniturbide
Google Talk - martiniturbide@gmail.com

El Vato

Quote from: miturbide on 2007.10.22, 05:24:55
Today I just saw this news on OSNews.com.

"GNU Classpath 0.96 "Staying Alive!" and IcedTea 1.4 just got released.[...]

There is also Harmony.  Although at the moment not fully compatible with Sun's implementation, it stands on its own --independent of Sun:

   1.  JRE and HDK snapshots available
   2. Up-to-date code integrity status is tracked automatically on all supported platforms
   3. JRE can run popular programs like Apache Tomcat, Eclipse, Maven, Derby, Ant
   4. More than 97% of Java 5 API complete. (not compatible, just completed)
   5. More than 1.25 Million Lines of Code


Saijin_Naib

How are any of these projects looking as viable means to have native Java under OS/2?

miturbide

From what I sense, it seems that there is more movement with the OpenJDK project. But I'm not sure on how it is going, or how compatible it is with Java 1.6. But for example it seems it had been compiled for Ubuntu and there seems to be developers interested to port OpenJDK to Haiku US (BeOS clone).

Any comments are welcome.
Martín Itúrbide
OS2World.com NewsMaster
Open Source Advocate

Skype - martiniturbide
Google Talk - martiniturbide@gmail.com

Saijin_Naib

"OpenJDK doesn't pass all of the compatibility tests in the Java SE 6 JCK yet, because of the remaining encumberences. They have however been reduced to 1%[18], and OpenJDK can run complex applications such as Netbeans, Eclipse, Glassfish, or JBoss."

It seems like there are still binary "stubs" that you need to download in order to complete a build of the OpenJDK source. These stubs are the remaining code that have no FOSS analogues yet.

It seems to be very much compatible with JRE6 and JRE7 (OpenJDK is based upon JRE7, JDK6 is a seperate project) as the snippet from Wiki suggests. Do we have the tools we need to even compile this under eCS? How big a project would it be for someone to test to see if it can even compile?

miturbide

Had anybody tested OpenJDK on any other platform (Ubuntu, Redhat, Fedora) http://openjdk.java.net/ ?
What can it be said about the compatibility with Java 1.6 ?

It is true that Java now is open source and free software ?
Martín Itúrbide
OS2World.com NewsMaster
Open Source Advocate

Skype - martiniturbide
Google Talk - martiniturbide@gmail.com

myrkraverk

[Apologies if this is a repost, this forum is teasing me]

I have taken a cursory look at OpenJDK 1.7 (or is that just plain 7?) and have managed to compile it on solaris.

Hotspot, the jvm, is divided into common, cpu specific, os specific and cpu+os specific sources, and these will have to be translated.  An added complication is that it requires at least JDK 1.6 to build.  I don't know enough about the build system (yet) to tell if it's possible to bring over pre-compiled class files.

Porting awt is then completely different story, and quite unlikely to be successful (by me) unless there is some sort of xlib between awt and pm.  However, someone familiar with pm programming may be able to make use of the windows code.

The unix api project on netlabs is probably going to help a lot.  Though I don't know how complete it is.  If it has pthreads, things are already looking pretty good.  Though it's probably better, to have real native code for threads, for added confidence of correctness.

Michaelhz

QuotePorting awt is then completely different story, and quite unlikely to be successful (by me) unless there is some sort of xlib between awt and pm.  However, someone familiar with pm programming may be able to make use of the windows code.
.. well, if everything else compiles soomthly on os/2, I'd try pmwinx.dll's win32 api. Supposedly openjdk has a win32 interface for windows-platform.
best regards
Michael

myrkraverk

Well, that is assuming pretty much, and is quite untimely ;)

Step zero: settle on a project name (ecsJ? -- jdk/2 is probably too close to the openjdk and java 2 trademarks) and set up a repository os/2 users can access.  Porting mercury isn't something to spend any effort on (if we have it already -- yay!).

The first step is porting the build system.  This mostly involves copying and renaming files, and modifying make files.  No Java/C++ knowledge is truly necessary, though knowing how to use a compiler is a big plus.  Familiarity with (or willingness to learn) unix scripting and makefiles is a must though.  I am assuming it's possible to modify the build system to use precompiled class files instead of a bootstrap jdk.

The next step is to try to build.  And this is the step where unforeseen dependencies will hit, and hit hard.  I know that to be able to build world, CUPS is required, though I hope it's not for Hotspot.  Smedleys CUPS may or may not work; at least my /opt/csw/include/cups/cups.h wasn't sane enough, so I had to tell the build system to use my /usr/include/cups/cups.h.  (I don't know why it found the former first).  There will certainly be some gaps that must be filled in, by direct porting, and maybe some with additions to the Netlabs libc.  It will take some time and effort to get everything to build.  Then there are the issues when we try to link.  I don't think that will be painless.

At this time, we can try to use the jvm, and will probably run into one segfault after another and/or even worse errors due to thread synchronization (those will be hard to debug).  It is time to try and build javac and the related tools, if that wasn't attempted concurrently.

Independent of all this, is to convert man pages to help files (.inf isn't it?).  Some kind soul with little or no technical background can do this -- particularly if she has translation experience.

By now, it's time to think about publishing, and seeing about java conformance testing.  And of course, to tell the world.


Have fun


Andi

#13
Please excuse my ignorance, but wasn't there another attempt to port java? I think I remember seeing website and a newsgroup about. But maybe this project fall asleep or probably you know about these other project.

Edit: Any contact to https://java7os2.dev.java.net/servlets/ForumMessageList?forumID=3204 ?

Blonde Guy

Quote from: Andi on 2009.02.07, 20:15:13

Edit: Any contact to https://java7os2.dev.java.net/servlets/ForumMessageList?forumID=3204 ?

This project, while it has not started, does have a good list of developers. If you're going to set up a repository for source code and build procedures, this has a ready-made spot to host them.
Expert Consulting for OS/2 and eComStation