Forum > Other OS
JVM Backend Questions
peter.dell:
Hello,
I'm a new user and I'd like to use the JVM backend to compile [https://github.com/tebe6502/Mad-Assembler/blob/master/mads.pas MADS] for inclusion in my Java project.
I found the documentation at https://wiki.freepascal.org/FPC_JVM and started working trough it. I've registered on the Wiki and update outdated things that I find (e.g. URLs still pointing to SVN/FTP). I've managed to get a new version to compile the example successfully.
The last binary build containing a working ppcjvm appears to be 3.0.4.
When I compile the "trange1.pp" example, that version works fine
I've also managed to compile it with the newly built ppcjvm.exe
Using PPCJVM version
3.3.1
Compiling trange1.pp to trange1.
Generated: .\trange1.class
..
For the following issues I'm seeking advice from you:
Q1) The links to the following files are broken and I cannot find any new locations. Maybe somebody has saves these files?
ftp://ftp.freepascal.org/pub/fpc/contrib/jvm/fpcjvmutilities.zip
ftp://ftp.freepascal.org/pub/fpc/contrib/jvm/jasmin24b.patch
ftp://ftp.freepascal.org/pub/fpc/contrib/jvm/bcel-r1157681-returntype.patch
Q2) What are the steps for me to make the SysUtils & crt units available?
Compiling mads.pas to mads.
mads.pas(27,5) Fatal: Can't find unit crt used by MADS
Fatal: Compilation aborted
Compiling mp.pas to mp.
mp.pas(121,4) Fatal: Can't find unit SysUtils used by MADPASCAL
Fatal: Compilation aborted
Q3) It only work if I use the rtl from the 3.0.4 version. The new build is lacking some .class files, e.g. System.class
Kind regards, Peter
Jonas Maebe:
Q1) I've pinged the maintainer of the server. The contents of jvmutilities.zip is included with any FPC release that includes a JVM cross-compiler (jasmin.jar, javapp.jar)
Q2) there are none. Unfortunately, this part of the wiki is still completely up-to-date: https://wiki.freepascal.org/FPC_JVM/Language
--- Quote ---This is a compiler-only port. That means that except for the system unit and a unit that imports the JDK classes, no other standard RTL or other units are available. Furthermore, even the system unit is quite limited in terms of the functionality that it provides (details are below).
--- End quote ---
peter.dell:
--- Quote from: Jonas Maebe on January 22, 2023, 06:34:41 pm ---Q1) I've pinged the maintainer of the server. The contents of jvmutilities.zip is included with any FPC release that includes a JVM cross-compiler (jasmin.jar, javapp.jar)
Q2) there are none. Unfortunately, this part of the wiki is still completely up-to-date: https://wiki.freepascal.org/FPC_JVM/Language
--- Quote ---This is a compiler-only port. That means that except for the system unit and a unit that imports the JDK classes, no other standard RTL or other units are available. Furthermore, even the system unit is quite limited in terms of the functionality that it provides (details are below).
--- End quote ---
--- End quote ---
Thanks for the replies Jonas.
ad Q2) So are the two mentioned files the only content the jvmutilities.zip had?
ad Q3) Thanks, that the part I haven't read yet. Will do so.
Jonas Maebe:
No, the zifpile also contains an old snapshot of BCEL. The ftp site is up again, so you should be able to download it now.
peter.dell:
Hello Jonas,
I finally got back to the topics. Building FPC completely and ppcjvm was a success.
But the build does not include the rtl/unit/jvm-java PPU/class files.
I tried extracting them from older downloads, but those are too old and partly incomplete, from what I see.
Using PPCJVM version
3.3.1
Unit folder C:\jac\system\Windows\Programming\Repositories\fpc\rtl\units\jvm-java.208
jdk15.ppu
objpas.ppu
org
Package.fpc
system.ppu
uuchar.ppu
Compiling minimal.pp to minimal.
PPU Loading C:\jac\system\Windows\Programming\Repositories\fpc\rtl\units\jvm-java.208\system.ppu
Fatal: Can't find unit system used by minimal
Fatal: Compilation aborted
Using PPCJVM version
3.3.1
Unit folder C:\jac\system\Windows\Programming\Repositories\fpc\rtl\units\jvm-java.173
jdk15.class
jdk15.ppu
objpas.class
objpas.ppu
org
Package.fpc
system.ppu
uuchar.class
uuchar.ppu
Compiling minimal.pp to minimal.
PPU Loading C:\jac\system\Windows\Programming\Repositories\fpc\rtl\units\jvm-java.173\system.ppu
PPU Invalid Version 173
Fatal: Can't find unit system used by minimal
Fatal: Compilation aborted
And from the Wiki, it was unclear how I could build the units for the JVM/Java backend.
Kind regads, Peter
Navigation
[0] Message Index
[#] Next page