Posts

Showing posts from November, 2017

Lazarus IDE on ARM Ubuntu (Raspberry Pi, Ubuntu Touch, etc)

Image
Lazarus IDE runs on plethora of platforms but today we focus on ARM Linux: Embedded Linux, single board computers, smartphones and tablets. Native visual RAD development on ARM Linux.
I wrote this post with the aspiration for it to become the most comprehensive practical guide for Lazarus IDE, and effectively Object Pascal software development on and for ARM Linux, but with focus specifically on Ubuntu.
Table of contentIntroductionFPC compilerMethod 1: installing with apt-getMethod 2: building from sources (recommended)Method 3: copying from another deviceuse-case 1: Raspberry Piuse-case 2: Ubuntu Touchuse-case 3: All Things Ubuntu (true convergence)Switching widgetsetsKnown issues Introduction "Lazarus is a Delphi compatible cross-platform IDE for Free Pascal. It includes LCL which is more or less compatible with Delphi's VCL. Free Pascal is a GPL'ed compiler that runs on Linux, Win32/64, OS/2, 68K and many more. Free Pascal is designed to be able to understand and comp…

Desktop Apps on Ubuntu Phone

Image
Table Of ContentClarificationTutorialApplicationsLimitations *also included in the Tutorial part is my digression about Ubuntu Touch platform (my criticism), and how I explain Canonical's failure at selling the concept. Clarification The label "Desktop Apps on Ubuntu Phone" is ambiguous and can potentially mean many things. For example, it could refer to enabling ARM based phone running Ubuntu Touch OS to execute x86 or x64 binaries, similarily like it is possible the other way around with virtualization or emulation. Especially interesting aspect is emulation. On Intel based Linux (but also on OSX or Windows) one can run qemu-system-arm based chroot container, and ARM instructions will get translated into Intel's on the fly. On Linux systems you can even better use so called architectural chroot, which is even better than qemu-system-arm based container, because it does not limit how much RAM you can assign to it. I mentionned this technique in my other post:  Part.…