compilation errors, or me being stupid

Hi all

I just downloaded the JNode source, as i wanted to build the OS, and potentially contribute if it is within my abilities.

I am having a bit of a battle though, and not being familiar with the project, i don't know if its something i am doing incorrectly or not.

I read through the readme.txt and tried to compile the first sub project (Jnode-Core) and
I'm getting a massive amount of compilation errors

Most of them along the long of the below statement. Does that mean there is something invalid inside my build.xml file..?

/home/tim/NetBeansProjects/JNode-Sources/jnodesources-0.2.6/core/src/openjdk/vm/java/io/JNodeFileSystem.java:3: package gnu.classpath does not exist
import gnu.classpath.SystemProperties;

any help would be appreciated

cheers
Tim

only build JNode with all/build.xml

The main project of JNode is JNode-All : other projects (core, fs, net, ...) are not intented to be called directly.
So, you should only build JNode by using the file all/build.xml : you can also call the build.sh/build.bat file at the root directory of all projects.

Note that 'all' is named JNode-All under eclipse.

Fabien

my blog : en français, in english or both

Oh well...

Some of us do call those directly though. I've often wondered if there is an easy way to speed up things if I only need to compile enough to get partitions and fs plus dependencies.

angle of attack

Ahh ok that makes sense in one of those duh why didn't i think of that ways!

Will try again
thanks for the speedy reply

VirtualBox

Will Jnode work under VirtualBox?

I'm not tryin to be obtuse, its just tha vmware got grumpy with me recently and i doesn't wont to work properly, so i've been using virtualbox.

It works

JNode mainly works on virtualbox but GUI doesn't work well.

Fabien L.

village idiot...

Ok i know i'm starting to sound like the village idiot here, but i'm needing some more advice from the experts Eye-wink

If i download the source from your website (or the subversion repository for that matter) i should just be able to run the
build file directly from the unzipped source directory
ie sh ./build.sh x86

would that be correct, or is there something extra that i need to do here?

Here is the ouput that i get from running the following command

[email protected]:/extra/downloads/JNode/jnodesources-0.2.6$ sh ./build.sh x86

Buildfile: ./all/build.xml

prepare:
[mkdir] Created dir: /extra/downloads/JNode/jnodesources-0.2.6/all/build
[mkdir] Created dir: /extra/downloads/JNode/jnodesources-0.2.6/all/build/reports
[mkdir] Created dir: /extra/downloads/JNode/jnodesources-0.2.6/all/build/cdroms
[mkdir] Created dir: /extra/downloads/JNode/jnodesources-0.2.6/all/build/descriptors
[mkdir] Created dir: /extra/downloads/JNode/jnodesources-0.2.6/all/build/plugins
[mkdir] Created dir: /extra/downloads/JNode/jnodesources-0.2.6/all/build/initjars

assemble-projects:

prepare:
[mkdir] Created dir: /extra/downloads/JNode/jnodesources-0.2.6/core/build/classes
[mkdir] Created dir: /extra/downloads/JNode/jnodesources-0.2.6/core/build/gen
[jnode.copy-descriptors] Copying 81 files to /extra/downloads/JNode/jnodesources-0.2.6/all/build/descriptors
[copy] Copying 273 files to /extra/downloads/JNode/jnodesources-0.2.6/core/build/classes
[copy] Copying 1 file to /extra/downloads/JNode/jnodesources-0.2.6/core/build/gen/org/jnode/test
[copy] Copying 1 file to /extra/downloads/JNode/jnodesources-0.2.6/core/build/gen/org/jnode/test
[copy] Copying 1 file to /extra/downloads/JNode/jnodesources-0.2.6/core/build/gen/org/jnode/test
[copy] Copying 1 file to /extra/downloads/JNode/jnodesources-0.2.6/core/build/gen/org/jnode/test

compile:
[jnode.compile] Compiling 14417 source files to /extra/downloads/JNode/jnodesources-0.2.6/core/build/classes
[jnode.compile] incorrect classpath: /extra/downloads/JNode/jnodesources-0.2.6/core/${classpath-sources}
[jnode.compile] ----------
[jnode.compile] 1. WARNING in /extra/downloads/JNode/jnodesources-0.2.6/core/src/classpath/gnu/gnu/java/lang/InstrumentationImpl.java (at line 151)
[jnode.compile] public void redefineClasses(ClassDefinition[] definitions)
[jnode.compile] throws ClassNotFoundException,
[jnode.compile] UnmodifiableClassException
[jnode.compile] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[jnode.compile] Varargs methods should only override or be overridden by other varargs methods unlike InstrumentationImpl.redefineClasses(ClassDefinition[]) and Instrumentation.redefineClasses(ClassDefinition...)
[jnode.compile] ----------
[jnode.compile] ----------
[jnode.compile] 2. ERROR in /extra/downloads/JNode/jnodesources-0.2.6/core/src/openjdk/java/java/beans/MetaData.java (at line 1474)
[jnode.compile] ConstructorProperties annotation = constructor.getAnnotation(ConstructorProperties.class);
[jnode.compile] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[jnode.compile] Type mismatch: cannot convert from Annotation to ConstructorProperties
[jnode.compile] ----------
[jnode.compile] 2 problems (1 error, 1 warning)

BUILD FAILED
/extra/downloads/JNode/jnodesources-0.2.6/all/build.xml:192: The following error occurred while executing this line:
/extra/downloads/JNode/jnodesources-0.2.6/all/lib/jnode.xml:65: The following error occurred while executing this line:
/extra/downloads/JNode/jnodesources-0.2.6/core/build.xml:116: java.lang.NullPointerException

Total time: 5 minutes 11 seconds

feel free to insult me if i'm doing something stupid here, i just feel like i'm missing something somewhere!

thanks
Tim

Java 6 is required for

Java 6 is required for building JNode.
cd-x86-lite is the prefered build target, it builds a CD image that you can use for booting JNode.

Check version in all/build.xml

Why not put something like this in the build.xml file:

<fail message="Wrong Java Runtime version.">
<condition>
<not>
<contains string="${java.runtime.version}" substring="1.6" casesensitive="false" />
</not>
</condition>
</fail>

/Jacob

This is maybe a little better

<fail message="Java Runtime version 1.6 needed. You version is ${java.runtime.version}">
<condition>
<not>
<contains string="${java.runtime.version}" substring="1.6" casesensitive="false" />
</not>
</condition>
</fail>

This is a good idea, I've

This is a good idea, I've committed it. Thanks!

kaffe 1.4.2

thanks... couldn't quite understand why i managed to build it once or twice, then it stopped working!

Something that i installed must have overridden my default java version... I must admit i've never heard of the Kaffe virtual machine

This would also explain why none of my projects where compiling either!