harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Elford, Chris L" <chris.l.elf...@intel.com>
Subject RE: DRLVM contribution - try this out!
Date Thu, 04 May 2006 01:21:37 GMT
Hi all,

  Since I shared initial experiences with this package, I thought I
should do the same on Linux.  I have not experienced as much luck there
yet.

A few notes:

1) If you are behind a proxy, make sure to follow the instructions
regarding setting up the svn proxy [~/.subversion/servers].  The proxy
parameters to build.sh are not passed on to svn.

2) Don't try to use gcj as the JAVA_HOME for initial compilation.  I
tried this first but it looks for a tools.jar that gcj doesn't have.  

3) I did not experience much success on Fedora Core 5.  I believe it is
a compiler issue w/ C++ compatibility [FC5 ships with gcc 4.1.0-3].
The errors that I get on Fedora core 5 are:

       [cc]
/usr/local/src/Harmony/build/lnx_ia32_gcc_release/semis/extra/log4cxx/sr
c/include/log4cxx/xml/domconfigurator.h:243: error: extra qualification
'log4cxx::xml::DOMConfigurator::' on member 'subst'
       [cc]
/usr/local/src/Harmony/build/lnx_ia32_gcc_release/semis/extra/log4cxx/sr
c/include/log4cxx/helpers/unicodehelper.h:98: error: extra qualification
'log4cxx::helpers::UnicodeHelper::' on member 'lengthUTF8'
       [cc]
/usr/local/src/Harmony/build/lnx_ia32_gcc_release/semis/extra/log4cxx/sr
c/include/log4cxx/helpers/unicodehelper.h:98: error: extra qualification
'log4cxx::helpers::UnicodeHelper::' on member 'lengthUTF8'
       [cc]
/usr/local/src/Harmony/build/lnx_ia32_gcc_release/semis/extra/log4cxx/sr
c/include/log4cxx/xml/domconfigurator.h:243: error: extra qualification
'log4cxx::xml::DOMConfigurator::' on member 'subst'
       [cc]
/usr/local/src/Harmony/build/lnx_ia32_gcc_release/semis/extra/log4cxx/sr
c/include/log4cxx/helpers/unicodehelper.h:98: error: extra qualification
'log4cxx::helpers::UnicodeHelper::' on member 'lengthUTF8'

4) I switched back to a Fedora Core 4 system in the hopes that this
would resolve the compiler issue.  Fedora Core 4 comes with gcc 4.0.0-8.
That doesn't see the errors above but has numerous warnings then errors
out with some C++ template prototype mismatches.  I can send a log with
the warnings/errors if desired.

The readme indicates that gcc is supported [CXX=gcc].  

Is there a specific version of gcc required to get this to compile on
Fedora Core 4 or Fedora Core 5?

Thanks!

Chris Elford
Intel Middleware Products Division

-----Original Message-----
From: Andrey Chernyshev [mailto:a.y.chernyshev@gmail.com] 
Sent: Wednesday, May 03, 2006 7:16 AM
To: harmony-dev@incubator.apache.org
Subject: DRLVM contribution - try this out!

Dear All,

I'm happy to announce the contribution of the DRL Virtual Machine on
behalf of
Intel.
I have described in the bottom of this message how you can try it for
yourself.

The code is a result of efforts of Intel Middleware Products Division
team. The
archive with the contribution is uploaded to the following location:

http://issues.apache.org/jira/browse/HARMONY-438

The issue contains two zip archives:

    DRLVM_src_20060502_1806_Harmony.zip
        - The DRLVM source code contribution, containing the following
components:
VM (or VM core)
GC
JIT
Bytecode verifier
Kernel classes
OS layer

    DRLVM_src_20060502_1806_Patches_for_Harmony.zip
        - A few patches that should be applied to Harmony class
libraries
     in order to integrate them with DRLVM.

We checked that the JRE combined from the DRLVM and the Harmony class
libraries
is capable of running Eclipse and Ant. It was tested with Harmony
classes taken
at 03/13 (plus some contributions existed to that date, such as
HARMONY-39 and
HARMONY-88) on Windows and Linux IA32.

The building system included with the DRLVM is entirely written on Ant
and is
capable of producing a workable JRE combined from DRLVM and Harmony
class libraries (we have intentionally included the compilation of class
libraries code into the DRLVM building system to give an example how the
native
code for the complex multi-component project can be built with Ant).
Both VM and
Class Libraries can be built with MSVC or Intel C compiler on Windows
and gcc or
Intel C compiler on Linux IA32. Eclipse 3.1.1 compiler is used for
compiling the
Java code.

DRLVM communicates with the Harmony class libraries through the set of
kernel
classes and VMI interface, as described in the Harmony Class Library
Porting
Documentation. We had to add the java.lang.SringBuffer into the kernel
classes
set for now since it is tighten to the java.lang.String in our
implementation.

The DRLVM is not yet a complete full-functional product, there is a
plenty of
things to do such as 1.5 support or missing some of JVMTI/JNI
capabilities.
Please refer to the README.txt and Developers Guide (located in the
'doc'
directory) provided with the contribution. However, we hope that the
existing VM
implementation, in conjunction with the Harmony class libraries and
Eclipse, at
least should be able to provide the self-hosting environment where
developers
can edit, compile and run Java code using Eclipse, execute Ant (you can
try
to rebuild the DRLVM and Harmony class libraries by executing it's Ant
building
system on top of the previously built DRLVM image).

IMPORTANT NOTE: the building system, by default, downloads all the
necessary
software and libraries such as Eclipse, APR, LogCXX or zlib directly
from the
Internet, BY RUNNING THE DRLVM BUILD YOU ARE ACCEPTING THE LICENSE TERMS
for the
software and libraries used for the DRLVM compilation and linking.
Please refer
to the README.txt provided with the contribution for more detailed
information
how to build DRLVM and which software/libraries are used for that.


HOW TO TRY IT:

To build the DRLVM, just extract the both zip archives into the same
directory,
set ANT_HOME and JAVA_HOME, run the "build update" and then "build". See
the
README.txt for more details, including the software required (you'll
need some
JRE, C/C++ compiler, Ant and Svn tool to checkout classlibs).

Note that the DRLVM may not work with the most recent version of Harmony
class
libraries since the latter is constantly changing (the last version of
classes
we were adopting the DRLVM for was taken at 03/13). Some work will still
be
needed to integrate it with the most recent version of the class
libraries.

You are welcome to try it and share your opinion!

Thank you,
Andrey Chernyshev
Intel Middleware Products Division

---------------------------------------------------------------------
Terms of use : http://incubator.apache.org/harmony/mailing.html
To unsubscribe, e-mail: harmony-dev-unsubscribe@incubator.apache.org
For additional commands, e-mail: harmony-dev-help@incubator.apache.org


Mime
View raw message