[fpc-pascal] fpc code for Java class and Android.

Jon Foster jon-lists at jfpossibilities.com
Thu Apr 20 03:48:03 CEST 2017

On 04/19/2017 06:01 AM, Paul Breneman wrote:
> On 04/18/2017 07:38 AM, Paul Breneman wrote:
>> On 04/17/2017 08:42 PM, Jon Foster wrote:
>> ...
>>> You have to copy the app to "/data/tmp" as that is usually the only
>>> place on Android with a Linux file system that all users have access to.
>>> You can't look in there so you kind of have to fly blind. :-) "Terminal
>>> IDE" makes this easier, assuming you have a compatible Android version,
>>> since it provides the Linux file system space, term emulator and easy
>>> access.
>>> This was what I thought Paul was looking to do. FreeVision might work
>>> depending on a number of variables... but I'm not familiar with it. Most
>>> Android terminal apps would provide some kind of VT100 like emulation so
>>> you may have to force FreeVision to output for that emulation. If it
>>> tries to use a "termcap" through normal means it probably will crash.
>> Thanks Jon *very* much for the details that you shared!  I hope to get
>> time to get back into this soon and I'm sure that your notes will help.
> Well, I tried a bit this morning but have failed so far.
> With GNURoot Debian it comes up as Debian version 8.1 but I upgraded to 
> 8.7 using the instructions near the bottom of this page:
>   http://turbocontrol.com/gnuroot.htm
> The 2.6.0 ppcarm itself fails to run with: Illegal instruction
> I also posted a new zip (not yet on web page) and tried that: 
> HelloWorld-fpc-3.0.2.arm-linux-041917.zip
> The 3.0.2 ppcarm itself fails with: Segmentation fault
> Thanks in advance for *any* suggestions.  As soon as I get this working I 
> hope to create a new wiki page so it is easier for others to share. :)
> Thanks,
> Paul Breneman
> www.ControlPascal.com
I don't know anything about your environment but a few possibilities spring 
to mind:

1. Newer version of Android which requires a PIC/PIE binary and you aren't 
running one or maybe even the inverse. Although I think this normally gives 
an error about "PIE" being needed, at least in the Android 5+ case.

2. An ABI mismatch.

3. Running on an FPU-less device with a compiler that wasn't built with 
emulation. I can't imagine what the compiler would need with an FPU though.

4. The ppcarm binary was built with a set of ARM instructions your device 
doesn't support. They've added many extensions to the core ARM instruction 
set over the years and different chip foundries can choose which they want 
to include or not.

5. Bad RAM?

Since FPC is completely self contained I can't imagine anything in the 
actual Linux install would be a problem. I'm certain they are using the 
Android kernel and not doing something like UML, but I don't know anything 
about the GNUroot project. I used someone else's Linux installer once, 
originally titled "Lil' Debbie". They had to change their name for obvious 
reasons. I couldn't find a VNC client that worked well enough to use it 
though, even though my Iconia tablet sports a standard USB A connector and 
it had no trouble with a stock keyboard and mouse. I don't think the VNC 
clients I tried were expecting real input hardware. :-)

Jon Foster
JF Possibilities, Inc.
jon at jfpossibilities.com

More information about the fpc-pascal mailing list