Re: How to compile program from command line on Linux?

Bo Berglund via fpc-pascal <[email protected]>
Newsgroups gmane.comp.compilers.free-pascal.general
Message-ID <[email protected]>
On Mon, 16 Dec 2024 15:06:45 +0100, Bo Berglund via fpc-pascal
<[email protected]> wrote:

>On Mon, 16 Dec 2024 14:19:56 +0100 (CET), Michael Van Canneyt via fpc-pascal
><[email protected]> wrote:
>
>>
>>
>>On Mon, 16 Dec 2024, Bo Berglund via fpc-pascal wrote:
>>
>>> I have written a command line utility program on Linux using Lazarus as the IDE.
>>> This was done a while ago on an Ubuntu Desktop 20.04 machine, which I normally
>>> access using VNC when doing Lazarus work there.
>>>
>>> Now since a few months the TigerVNC server on that machinbe won't start anymore
>>> so I cannot reach Lazarus.
>>> But I can log on just fine using PuTTY from Windows and do whatever on the
>>> command line.
>>>
>>> So what I want to do is to modify the source, which I can do via SSH.
>>> But then I want to build a new version of the program without access to Lazarus
>>> there.
>>>
>>> Can this be done and in that case how?
>>> Last build of the application was using fpc ver 3.2.2 and probably Lazarus 2.2.4
>>>
>>> I have never compiler a FreePascal program from the command line before....
>>
>>If you have a .lpi file (lazarus project file) then you can do simply a
>>
>>lazbuild yourproject.lpi
>>
>>lazbuild is a command-line tool that comes with lazarus, it can be used to
>>compile a project file with the same settings as would be used if you were
>>compiling in the IDE.
>>
>>Michael.
>
>I have now entered the bugfix and tried to use lazbuild, but the command is not
>found...
>
>$ lazbuild videosplitcmb.lpi
>lazbuild: command not found
>
>Seems like it is not on path..
>
>My project sources are in ~/projects/VideoSplitCombine
>
>And Lazarus and lazbuild itself is in  ~/dev/lazarus/2.2.4/
>But not on path...
>
>Should I copy lazbuild to  ~/bin where fpc also is located?
>Or invoke it like this:
>
>~/dev/lazarus/2.2.4/lazbuild videosplitcmb.lpi

I tried to symlink lazbuild into $HOME/bin and then inside the project dir I
tried this:

$ lazbuild videosplitcmb.lpi
Error: (lazarus) invalid Lazarus directory "": directory lcl not found
Error: (lazarus) Building failed: videosplitcmb.lpi

I tried lazbuild --help and found out that there is an option one can enter too:

lazbuild --lazarusdir=/home/bosse/dev/lazarus/2.2.4 videosplitcmb.lpi

And this time it worked fine!
I now have the modified tool and I moved it to the Ubuntu Server where it works
just fine.

Thanks for the instruction on how to do it.


-- 
Bo Berglund
Developer in Sweden

_______________________________________________
fpc-pascal maillist  -  [email protected]
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.