[kaffe] Eclipse 3.0M4 on kaffe

Mark Wielaard mark@klomp.org
Thu Oct 30 13:39:01 2003


--=-n+DbmPsTXqRgVFxZlHbs
Content-Type: multipart/mixed; boundary="=-ixOWYoWNrMsbhrEyyduz"


--=-ixOWYoWNrMsbhrEyyduz
Content-Type: text/plain
Content-Transfer-Encoding: quoted-printable

Hi,

The following quick whacky hacks make Eclipse 3.0M4 work on my Debian
GNU/Linux machine with gtk+ 2.2 installed.

You will need eclipse-SDK-3.0M4-linux-gtk.zip from:
http://download2.eclipse.org/downloads/drops/S-3.0M4-200310101454/

First replace java/net/URLen/decode.java with the versions from GNU
Classpath.

The apply the attached quick hack that implements provides two (fake)
implementations for Get/ReleasePrimitiveArrayCritical JNI functions.

Create a kaffe build which is configured with
--with-threads=3Dunix-pthreads

After installation replace the kaffe/bin/java and kaffe/jre/bin/java
scripts with the attached versions.
(Eclipse needs some extra memory, doesn't like the default
java.vm.version=3D1.3 and uses some strange system property to get at the
bootstrap classes, finally our FileLock isn't implemented yet and throws
an Error but Eclipse looks at the last system property to know whether
or not to use it.)

The unzip the eclipse build you downloaded above.
And start it with something like:
PATH=3D/usr/local/kaffe/bin:$PATH LD_LIBRARY_PATH=3D/usr/local/kaffe/lib:/t=
mp/eclipse/plugins/org.eclipse.swt.gtk_3.0.0/os/linux/x86 ./eclipse

Lots of things work and with the File->New Project and File->New Class
you get some wizard which should guide you through a simple "Hello
World" type program which you should be able to run with the menu
Run->Run As->Java Application to give you something like:
http://www.klomp.org/mark/classpath/Screenshot-Kaffe-Eclipse3.png

When you are finished playing look into workspace/.metadata/.log to see
what breaks. And then fix it :)

Cheers,

Mark

--=-ixOWYoWNrMsbhrEyyduz
Content-Disposition: inline; filename=PrimitiveArrayCritical.patch
Content-Type: text/x-patch; name=PrimitiveArrayCritical.patch; charset=ISO-8859-1
Content-Transfer-Encoding: base64

SW5kZXg6IGluY2x1ZGUvam5pLmgNCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NClJDUyBmaWxlOiAvY3ZzL2thZmZlL2th
ZmZlL2luY2x1ZGUvam5pLmgsdg0KcmV0cmlldmluZyByZXZpc2lvbiAxLjIzDQpkaWZmIC11IC1y
MS4yMyBqbmkuaA0KLS0tIGluY2x1ZGUvam5pLmgJMjUgT2N0IDIwMDMgMTI6NTI6MzkgLTAwMDAJ
MS4yMw0KKysrIGluY2x1ZGUvam5pLmgJMzAgT2N0IDIwMDMgMjE6MjU6MTMgLTAwMDANCkBAIC0y
OTQsOCArMjk0LDggQEANCiAJDQogCXZvaWQqIHJlc2VydmVkMTI7IC8vIEdldFN0cmluZ1JlZ2lv
bg0KIAl2b2lkKiByZXNlcnZlZDEzOyAvLyBHZXRTdHJpbmdVVEZSZWdpb24NCi0Jdm9pZCogcmVz
ZXJ2ZWQxNDsgLy8gR2V0UHJpbWl0aXZlQXJyYXlDcml0aWNhbA0KLQl2b2lkKiByZXNlcnZlZDE1
OyAvLyBSZWxlYXNlUHJvbWl0aXZlQXJyYXlDcml0aWNhbA0KKwl2b2lkKiAoKkdldFByaW1pdGl2
ZUFycmF5Q3JpdGljYWwpCShKTklFbnYqLCBqYXJyYXksIGpib29sZWFuKTsNCisJdm9pZCAgKCpS
ZWxlYXNlUHJpbWl0aXZlQXJyYXlDcml0aWNhbCkJKEpOSUVudiosIGphcnJheSwgdm9pZCosIGpp
bnQpOw0KIAl2b2lkKiByZXNlcnZlZDE2OyAvLyBHZXRTdHJpbmdDcml0aWNhbA0KIAl2b2lkKiBy
ZXNlcnZlZDE3OyAvLyBSZWxlYXNlU3RyaW5nQ3JpdGljYWwNCiAJdm9pZCogcmVzZXJ2ZWQxODsg
Ly8gTmV3V2Vha0dsb2JhbFJlZg0KSW5kZXg6IGthZmZlL2thZmZldm0vam5pLmMNCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0NClJDUyBmaWxlOiAvY3ZzL2thZmZlL2thZmZlL2thZmZlL2thZmZldm0vam5pLmMsdg0KcmV0
cmlldmluZyByZXZpc2lvbiAxLjk1DQpkaWZmIC11IC1yMS45NSBqbmkuYw0KLS0tIGthZmZlL2th
ZmZldm0vam5pLmMJMjUgU2VwIDIwMDMgMTA6MDY6MTUgLTAwMDAJMS45NQ0KKysrIGthZmZlL2th
ZmZldm0vam5pLmMJMzAgT2N0IDIwMDMgMjE6MjU6MTQgLTAwMDANCkBAIC0zMDI0LDYgKzMwMjQs
MTIgQEANCiAJcmV0dXJuIChyZXQpOw0KIH0NCiANCitzdGF0aWMgdm9pZCoNCitLYWZmZV9HZXRQ
cmltaXRpdmVBcnJheUNyaXRpY2FsKEpOSUVudiogZW52LCBqYXJyYXkgYXJyLCBqYm9vbCogaXNj
b3B5KQ0KK3sNCisgIHJldHVybiAoS2FmZmVfR2V0Qnl0ZUFycmF5RWxlbWVudHMoZW52LCAoamJ5
dGVBcnJheSlhcnIsIGlzY29weSkpOw0KK30NCisNCiBzdGF0aWMgamNoYXIqDQogS2FmZmVfR2V0
Q2hhckFycmF5RWxlbWVudHMoSk5JRW52KiBlbnYsIGpjaGFyQXJyYXkgYXJyLCBqYm9vbCogaXNj
b3B5KQ0KIHsNCkBAIC0zMTU5LDYgKzMxNjUsMTIgQEANCiB9DQogDQogc3RhdGljIHZvaWQNCitL
YWZmZV9SZWxlYXNlUHJpbWl0aXZlQXJyYXlDcml0aWNhbChKTklFbnYqIGVudiwgamJ5dGVBcnJh
eSBhcnIsIGpieXRlKiBlbGVtcywgamludCBtb2RlKQ0KK3sNCisgIEthZmZlX1JlbGVhc2VCeXRl
QXJyYXlFbGVtZW50cyhlbnYsIChqYnl0ZUFycmF5KWFyciwgKGpieXRlKillbGVtcywgbW9kZSk7
DQorfQ0KKw0KK3N0YXRpYyB2b2lkDQogS2FmZmVfUmVsZWFzZUNoYXJBcnJheUVsZW1lbnRzKEpO
SUVudiogZW52LCBqY2hhckFycmF5IGFyciwgamNoYXIqIGVsZW1zLCBqaW50IG1vZGUpDQogew0K
IAlCRUdJTl9FWENFUFRJT05fSEFORExJTkdfVk9JRCgpOw0KQEAgLTQ0MjUsOCArNDQzNyw4IEBA
DQogCUthZmZlX0dldEphdmFWTSwNCiAJTlVMTCwNCiAJTlVMTCwNCi0JTlVMTCwNCi0JTlVMTCwN
CisJS2FmZmVfR2V0UHJpbWl0aXZlQXJyYXlDcml0aWNhbCwNCisJS2FmZmVfUmVsZWFzZVByaW1p
dGl2ZUFycmF5Q3JpdGljYWwsDQogCU5VTEwsDQogCU5VTEwsDQogCU5VTEwsDQo=

--=-ixOWYoWNrMsbhrEyyduz
Content-Disposition: inline; filename=java
Content-Type: text/x-sh; name=java; charset=ISO-8859-1
Content-Transfer-Encoding: base64

IyEgL2Jpbi9zaA0KIyBQcmV0ZW5kIEthZmZlIGlzIEphdmENCnByZWZpeD0vdXNyL2xvY2FsL2th
ZmZlDQpleGVjX3ByZWZpeD0ke3ByZWZpeH0NCmV4ZWMgJHtleGVjX3ByZWZpeH0vYmluL2thZmZl
IC1teCAyNTZNIC1EamF2YS52bS52ZXJzaW9uPTEuMyAtRHN1bi5ib290LmNsYXNzLnBhdGg9L3Vz
ci9sb2NhbC9rYWZmZS9qcmUvbGliL3J0LmphciAtRG9yZy5lY2xpcHNlLmNvcmUucnVudGltZS5p
Z25vcmVMb2NrRmlsZT10cnVlICR7MSsiJEAifQ0KDQo=

--=-ixOWYoWNrMsbhrEyyduz--

--=-n+DbmPsTXqRgVFxZlHbs
Content-Type: application/pgp-signature; name=signature.asc
Content-Description: This is a digitally signed message part

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.3 (GNU/Linux)

iD8DBQA/oYP5xVhZCJWr9QwRAsK9AJ9djut2W9z9dofsKC92dMjJmjOhXwCfX/NG
SmvfNstqaxzzTHU/34+bWB0=
=zDM3
-----END PGP SIGNATURE-----

--=-n+DbmPsTXqRgVFxZlHbs--