Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / fpc-pascal / 2015-08

Different idea

18 messages · 6 people · –

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

Chris Moody

Having issues getting cross compiling to work, so here's another idea:

What files would I need to move from Lazarus on my computer to the Pi, so it will be able to find all of the libraries? Or perhaps even better, how can I get the command Lazarus sends to FPC from my computer so I can issue it on the Pi?

Thanks,

Chris

Reply by email

Graeme Geldenhuys
to Chris Moody
Chris Moody wrote
Or perhaps even better, how can I get the command Lazarus sends to FPC from my computer so I can issue it on the Pi?

"Project -> Project Options -> Show Options"

'Show Options' is a button at the bottom of the dialog.

Regards,
- Graeme -

Reply by email

Chris Moody
to Graeme Geldenhuys
Graeme Geldenhuys wrote 13 lines
On 2015-08-18 21:03, Chris Moody wrote: > Or perhaps even better, > how can I get the command Lazarus sends to FPC from my computer so I can > issue it on the Pi? "Project -> Project Options -> Show Options" 'Show Options' is a button at the bottom of the dialog. Regards, - Graeme -

thanks, so I see the following:

-MObjFPC -Scghi -Cg -O1 -g -gl -l -vewnhibq -Filib/x86_64-linux -Fusynapse
-Fu/usr/share/lazarus/1.4.2/components/lazutils/lib/x86_64-linux -Fu/usr/share/lazarus/1.4.2/packager/units/x86_64-linux -Fu. -FUlib/x86_64-linux

So I would just need to change x86_64-linux to something like arm-linux?

Chris

Reply by email

Chris Moody
to Chris Moody
Chris Moody wrote 28 lines
On 08/18/2015 02:29 PM, Graeme Geldenhuys wrote: > On 2015-08-18 21:03, Chris Moody wrote: >> Or perhaps even better, >> how can I get the command Lazarus sends to FPC from my computer so I >> can >> issue it on the Pi? > > "Project -> Project Options -> Show Options" > > 'Show Options' is a button at the bottom of the dialog. > > Regards, > - Graeme - > > thanks, so I see the following: -MObjFPC -Scghi -Cg -O1 -g -gl -l -vewnhibq -Filib/x86_64-linux -Fusynapse -Fu/usr/share/lazarus/1.4.2/components/lazutils/lib/x86_64-linux -Fu/usr/share/lazarus/1.4.2/packager/units/x86_64-linux -Fu. -FUlib/x86_64-linux So I would just need to change x86_64-linux to something like arm-linux? Chris _______________________________________________

I'm back, with more questions, I tried to compile Lazarus on the Pi and it got to this point:

make bigide
make -C packager/registration
make[1]: Entering directory '/home/pi/lazarus/packager/registration' /bin/rm -f ../units/arm-linux/fcllaz.ppu
/usr/bin/ppcarm -MObjFPC -Scghi -O1 -g -gl -l -vewnhibq -Fu. -Fu/usr/lib/fpc/2.6.4/units/arm-linux/rtl -FE. -FU../units/arm-linux -darm fcllaz.pas
Hint: (11030) Start of reading config file /home/pi/.fpc.cfg Hint: (11031) End of reading config file /home/pi/.fpc.cfg Free Pascal Compiler version 2.6.4 [2014/03/21] for arm Copyright (c) 1993-2014 by Florian Klaempfl and others (1002) Target OS: Linux for ARMEL
(3104) Compiling fcllaz.pas
(3104) Compiling registerfcl.pas
/home/pi/lazarus/packager/registration/registerfcl.pas(45,22) Fatal: (10022) Can't find unit process used by RegisterFCL Fatal: (1018) Compilation aborted
Makefile:2299: recipe for target 'fcllaz.ppu' failed make[1]: *** [fcllaz.ppu] Error 1
make[1]: Leaving directory '/home/pi/lazarus/packager/registration' Makefile:3050: recipe for target 'registration' failed make: *** [registration] Error 2

Any suggestions on how to fix this? Or does anyone have a current version of Lazarus compiled for the Pi? Or can I compile and install just the units of Lazarus without full installing of it?

Thanks once again,

Chris

Reply by email

Michael Ring
to Chris Moody

Try this link for instructions on how to compile:

http://michellcomputing.co.uk/blog/2014/05/freepascal-2-7-1-on-raspberry-pi/

Von meinem iPad gesendet

Show quoted text 57 lines
Am 19.08.2015 um 06:11 schrieb Chris Moody : > On 08/18/2015 02:34 PM, Chris Moody wrote: >> On 08/18/2015 02:29 PM, Graeme Geldenhuys wrote: >>> On 2015-08-18 21:03, Chris Moody wrote: >>> Or perhaps even better, >>> how can I get the command Lazarus sends to FPC from my computer so I can >>> issue it on the Pi? >> >> "Project -> Project Options -> Show Options" >> >> 'Show Options' is a button at the bottom of the dialog. >> >> Regards, >> - Graeme - > > thanks, so I see the following: > > -MObjFPC -Scghi -Cg -O1 -g -gl -l -vewnhibq -Filib/x86_64-linux -Fusynapse -Fu/usr/share/lazarus/1.4.2/components/lazutils/lib/x86_64-linux -Fu/usr/share/lazarus/1.4.2/packager/units/x86_64-linux -Fu. -FUlib/x86_64-linux > > So I would just need to change x86_64-linux to something like arm-linux? > > Chris > _______________________________________________ I'm back, with more questions, I tried to compile Lazarus on the Pi and it got to this point: make bigide make -C packager/registration make[1]: Entering directory '/home/pi/lazarus/packager/registration' /bin/rm -f ../units/arm-linux/fcllaz.ppu /usr/bin/ppcarm -MObjFPC -Scghi -O1 -g -gl -l -vewnhibq -Fu. -Fu/usr/lib/fpc/2.6.4/units/arm-linux/rtl -FE. -FU../units/arm-linux -darm fcllaz.pas Hint: (11030) Start of reading config file /home/pi/.fpc.cfg Hint: (11031) End of reading config file /home/pi/.fpc.cfg Free Pascal Compiler version 2.6.4 [2014/03/21] for arm Copyright (c) 1993-2014 by Florian Klaempfl and others (1002) Target OS: Linux for ARMEL (3104) Compiling fcllaz.pas (3104) Compiling registerfcl.pas /home/pi/lazarus/packager/registration/registerfcl.pas(45,22) Fatal: (10022) Can't find unit process used by RegisterFCL Fatal: (1018) Compilation aborted Makefile:2299: recipe for target 'fcllaz.ppu' failed make[1]: *** [fcllaz.ppu] Error 1 make[1]: Leaving directory '/home/pi/lazarus/packager/registration' Makefile:3050: recipe for target 'registration' failed make: *** [registration] Error 2 Any suggestions on how to fix this? Or does anyone have a current version of Lazarus compiled for the Pi? Or can I compile and install just the units of Lazarus without full installing of it? Thanks once again, Chris _______________________________________________ fpc-pascal maillist - http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal

Reply by email

Graeme Geldenhuys
to Chris Moody: I'm back, with more questions, I tried to compile Lazarus on the Pi and it got to this…
Chris Moody wrote
I tried to compile Lazarus on the Pi and it got to this point:

Personally, I think Lazarus is a bit "heavy" for the RPi and would opt for something lighter and faster. The RPi is not a very fast system and will little memory. Lazarus likes both CPU and memory.

I haven't following all your posts... Do you have a working FPC installed? Can you compile and link some basic console applications? After that I would suggest trying to compile and link fpGUI and one of its demos. That will at least confirm Xlib and Xft libraries are in place for GUI apps. If this can't link, then you are missing basic X11 development packages for the RPi. See the fpGUI INSTALL.txt file for details of what you need to install (normally only 2 packages).

Suggestions for lighter development environments. My first choice would be MSEide. I believe it can now finally run on the RPi - I haven't tried personally. It is much faster and memory efficient than Lazarus. You could also try Maximus - a sample IDE included with fpGUI - I know that works fine on the RPi. Others have used Geany with good success too.

Regards,
- Graeme -

fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal http://fpgui.sourceforge.net/

Reply by email

Michael Schnell
to Chris Moody: Having issues getting cross compiling to work, so here's another idea: What files would I…
Chris Moody wrote 7 lines
Having issues getting cross compiling to work, so here's another idea: What files would I need to move from Lazarus on my computer to the Pi, so it will be able to find all of the libraries? Or perhaps even better, how can I get the command Lazarus sends to FPC from my computer so I can issue it on the Pi?

On a headless ARM system that hence can't run Lazarus, I completely did and tested the application on a Linux PC, with everything that is not available on the target (in that case among other stuff everything GUI related including timers) in a "simulation" unit that provides Stimuli and Debug outputs is appropriate classes. That can nicely be done in a completely Object oriented way using Events (callbacks), properties and functions.

So the complex "business logic" could be decently tested. Only a rather simple dedicated "embedded" unit replacing the "simulation" unit (providing the same classes) was done to have it compile and run on the ARM.
On the GUI-less target this could be tested with some simple "writeline" Debug outputs.

-Michael

Reply by email

Chris Moody
to Graeme Geldenhuys: Personally, I think Lazarus is a bit "heavy" for the RPi and would opt for something…
Graeme Geldenhuys wrote 24 lines
On 2015-08-19 05:11, Chris Moody wrote: > I tried to compile Lazarus on the Pi and > it got to this point: Personally, I think Lazarus is a bit "heavy" for the RPi and would opt for something lighter and faster. The RPi is not a very fast system and will little memory. Lazarus likes both CPU and memory. I haven't following all your posts... Do you have a working FPC installed? Can you compile and link some basic console applications? After that I would suggest trying to compile and link fpGUI and one of its demos. That will at least confirm Xlib and Xft libraries are in place for GUI apps. If this can't link, then you are missing basic X11 development packages for the RPi. See the fpGUI INSTALL.txt file for details of what you need to install (normally only 2 packages). Suggestions for lighter development environments. My first choice would be MSEide. I believe it can now finally run on the RPi - I haven't tried personally. It is much faster and memory efficient than Lazarus. You could also try Maximus - a sample IDE included with fpGUI - I know that works fine on the RPi. Others have used Geany with good success too. Regards, - Graeme -

Hi Graeme,

I don't actually need Lazarus, I don't think. I just need to be able to compile a console app which I wrote in Lazarus on my desktop. I'll have to look to see where all of the compiled units are stored on the Pi, as they are not same location as they are on my desktop.

Chris

Reply by email

Graeme Geldenhuys
to Chris Moody
Chris Moody wrote
I'll have to look to see where all of the compiled units are stored on the Pi, as they are not same location as they are on my desktop.

Developers should learn not to use package managers for everything - especially development tools. The Free Pascal project releases very good text based installers for all supported platforms. Those work brilliantly, and you can install without root access.

Take a look at my post from a few days ago, and the suggeste install method and location. You will NEVER be confused again, and the suggested layout also allows you to easily have multiple version of FPC installed side-by-side.

http://lists.freepascal.org/pipermail/fpc-pascal/2015-August/044922.html

Regards,
- Graeme -

fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal http://fpgui.sourceforge.net/

Reply by email

Graeme Geldenhuys
to Graeme Geldenhuys
Graeme Geldenhuys wrote
The Free Pascal project releases very good text based installers for all supported platforms. Those work brilliantly,

This took me 10 minutes to get a working FPC installed on my RPi and compile fpGUI and some of its demos.

Regards,
- Graeme -

fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal http://fpgui.sourceforge.net/

Reply by email

Mark Morgan Lloyd
to Michael Schnell: On a headless ARM system that hence can't run Lazarus, I completely did and tested the…
Michael Schnell wrote 15 lines
On 08/18/2015 10:03 PM, Chris Moody wrote: > Having issues getting cross compiling to work, so here's another idea: > > What files would I need to move from Lazarus on my computer to the Pi, > so it will be able to find all of the libraries? Or perhaps even > better, how can I get the command Lazarus sends to FPC from my > computer so I can issue it on the Pi? > On a headless ARM system that hence can't run Lazarus, I completely did and tested the application on a Linux PC, with everything that is not available on the target (in that case among other stuff everything GUI related including timers) in a "simulation" unit that provides Stimuli and Debug outputs is appropriate classes. That can nicely be done in a completely Object oriented way using Events (callbacks), properties and functions.

A (physically) headless system can run Lazarus etc. without any problems, provided that you can login using X11 (XDMCP), VNC, or SSH. Obviously appropriate underlying libraries are needed (gtk2 or whatever), but apart from that the only caveat is that building Lazarus or programs of any significant size tends to be memory-intensive- but generally within the scope of an Rpi.

Mark Morgan Lloyd markMLl .AT. telemetry.co .DOT. uk [Opinions above are the author's, not those of his employers or colleagues]

Reply by email

Michael Van Canneyt
to Mark Morgan Lloyd
Mark Morgan Lloyd wrote 22 lines
Michael Schnell wrote: > On 08/18/2015 10:03 PM, Chris Moody wrote: >> Having issues getting cross compiling to work, so here's another idea: >> >> What files would I need to move from Lazarus on my computer to the Pi, so >> it will be able to find all of the libraries? Or perhaps even better, how >> can I get the command Lazarus sends to FPC from my computer so I can issue >> it on the Pi? >> > On a headless ARM system that hence can't run Lazarus, I completely did and > tested the application on a Linux PC, with everything that is not available > on the target (in that case among other stuff everything GUI related > including timers) in a "simulation" unit that provides Stimuli and Debug > outputs is appropriate classes. That can nicely be done in a completely > Object oriented way using Events (callbacks), properties and functions. A (physically) headless system can run Lazarus etc. without any problems, provided that you can login using X11 (XDMCP), VNC, or SSH. Obviously appropriate underlying libraries are needed (gtk2 or whatever), but apart from that the only caveat is that building Lazarus or programs of any significant size tends to be memory-intensive- but generally within the scope of an Rpi.

I use lazbuild succesfully on a machine without any X library installed. Works perfectly for automated final builds of website software.

Michael.

Reply by email

Mark Morgan Lloyd
to Michael Schnell
Michael Schnell wrote 6 lines
On 08/19/2015 10:11 AM, Mark Morgan Lloyd wrote: > A (physically) headless system can run Lazarus etc. without any > problems, provided that you can login using X11 (XDMCP), VNC, or SSH. Additionally you need a GUI Libray (QT or whatever) I do know that, but running an X server and a GUI Libray takes a lot of RAM

Remember that the X server runs on your desktop system if you're using remote X11 (XDMCP etc.) or tunneling over SSH. The most demanding thing on the machine running Lazarus/Lazbuild is when it links.

Mark Morgan Lloyd markMLl .AT. telemetry.co .DOT. uk [Opinions above are the author's, not those of his employers or colleagues]

Reply by email

Mark Morgan Lloyd
to Michael Van Canneyt: I use lazbuild succesfully on a machine without any X library installed. Works perfectly…
Michael Van Canneyt wrote 28 lines
On Wed, 19 Aug 2015, Mark Morgan Lloyd wrote: > Michael Schnell wrote: >> On 08/18/2015 10:03 PM, Chris Moody wrote: >>> Having issues getting cross compiling to work, so here's another idea: >>> >>> What files would I need to move from Lazarus on my computer to the >>> Pi, so it will be able to find all of the libraries? Or perhaps even >>> better, how can I get the command Lazarus sends to FPC from my >>> computer so I can issue it on the Pi? >>> >> On a headless ARM system that hence can't run Lazarus, I completely >> did and tested the application on a Linux PC, with everything that is >> not available on the target (in that case among other stuff >> everything GUI related including timers) in a "simulation" unit that >> provides Stimuli and Debug outputs is appropriate classes. That can >> nicely be done in a completely Object oriented way using Events >> (callbacks), properties and functions. > > A (physically) headless system can run Lazarus etc. without any > problems, provided that you can login using X11 (XDMCP), VNC, or SSH. > Obviously appropriate underlying libraries are needed (gtk2 or > whatever), but apart from that the only caveat is that building > Lazarus or programs of any significant size tends to be > memory-intensive- but generally within the scope of an Rpi. I use lazbuild succesfully on a machine without any X library installed. Works perfectly for automated final builds of website software.

With the caveat that you need to run Lazarus at least once to get the paths etc. set up (i.e. settings stored in ~/.lazarus or as determined by -pcp).

Mark Morgan Lloyd markMLl .AT. telemetry.co .DOT. uk [Opinions above are the author's, not those of his employers or colleagues]

Reply by email

Michael Van Canneyt
to Graeme Geldenhuys
Graeme Geldenhuys wrote 5 lines
On 2015-08-19 09:52, Michael Van Canneyt wrote: > I use lazbuild succesfully on a machine without any X library installed. Does that still use the LCL-NoGUI "kludge" widgetset? For is lazbuild now a truly console-only application.

Still LCL-Nogui, afaik.

The the big question is.... Why are you not using fpmake on your build server. ;-)

Historical reasons mainly.
Switching is possible, but a lot of work.

Michael.

Reply by email

Michael Van Canneyt
to Mark Morgan Lloyd: With the caveat that you need to run Lazarus at least once to get the paths etc. set up…
Mark Morgan Lloyd wrote 32 lines
Michael Van Canneyt wrote: > On Wed, 19 Aug 2015, Mark Morgan Lloyd wrote: > >> Michael Schnell wrote: >>> On 08/18/2015 10:03 PM, Chris Moody wrote: >>>> Having issues getting cross compiling to work, so here's another idea: >>>> >>>> What files would I need to move from Lazarus on my computer to the Pi, >>>> so it will be able to find all of the libraries? Or perhaps even better, >>>> how can I get the command Lazarus sends to FPC from my computer so I can >>>> issue it on the Pi? >>>> >>> On a headless ARM system that hence can't run Lazarus, I completely did >>> and tested the application on a Linux PC, with everything that is not >>> available on the target (in that case among other stuff everything GUI >>> related including timers) in a "simulation" unit that provides Stimuli >>> and Debug outputs is appropriate classes. That can nicely be done in a >>> completely Object oriented way using Events (callbacks), properties and >>> functions. >> >> A (physically) headless system can run Lazarus etc. without any problems, >> provided that you can login using X11 (XDMCP), VNC, or SSH. Obviously >> appropriate underlying libraries are needed (gtk2 or whatever), but apart >> from that the only caveat is that building Lazarus or programs of any >> significant size tends to be memory-intensive- but generally within the >> scope of an Rpi. > > I use lazbuild succesfully on a machine without any X library installed. > Works perfectly for automated final builds of website software. With the caveat that you need to run Lazarus at least once to get the paths etc. set up (i.e. settings stored in ~/.lazarus or as determined by -pcp).

No, I copied those from a development machine.
A couple of search-and-replace operations got everything sorted out.

Michael.

Reply by email