{"id":254,"date":"2022-01-07T18:06:55","date_gmt":"2022-01-07T21:06:55","guid":{"rendered":"https:\/\/gladiston.net.br\/?page_id=254"},"modified":"2025-07-03T11:05:46","modified_gmt":"2025-07-03T14:05:46","slug":"usando-git-nivel-medio1","status":"publish","type":"page","link":"https:\/\/gladiston.net.br\/en\/programacao\/lazarus-ide\/usando-git-nivel-medio1\/","title":{"rendered":"Using GIT as installer (medium level+1)"},"content":{"rendered":"<p>After installing FPC from the repositories, you can follow the instructions on this page to proceed with the installation of Lazarus-IDE.<\/p>\n\n\n\n<p>If you haven&#039;t already installed FreePascal Compiler(FPC, hereafter), then follow this link:<\/p>\n\n\n\n<p><a href=\"https:\/\/gladiston.github.io\/hello_lazarus\/instalacao_linux_instalador.html\" target=\"_blank\" rel=\"noreferrer noopener\" title=\"https:\/\/gladiston.github.io\/hello_lazarus\/instalacao_linux_instalador.html\">Installation on Linux: Installing FPC from the repositories<\/a><\/p>\n\n\n\n<p>Before proceeding, we need to make an important adjustment in our Linux environment, when running programs built in Lazarus in the Linux environment, the following dependency message may appear in the terminal:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>Gtk-Message: 00:00:00.000: Failed to load module &#8220;pk-gtk-module&#8221;<\/p>\n<\/blockquote>\n\n\n\n<p>The program runs normally, but the lack of this dependency may indicate that some visual aspect is not as it should be, to correct the problem, run:<\/p>\n\n\n\n<pre class=\"wp-block-code alignwide\"><code>sudo -i echo &quot;\/usr\/lib64\/gtk-3.0\/modules&quot; &gt;&gt; \/etc\/ld.so.conf.d\/pk-gtk.conf echo &quot;\/usr\/lib64\/gtk-2.0\/modules&quot; &gt;&gt; \/ etc\/ld.so.conf.d\/gtk2.conf ldconfig exit<\/code><\/pre>\n\n\n\n<p>And the dependency message in the terminal will be gone.<\/p>\n\n\n\n<p>Outra mensagem de erro que pode ocorrer \u00e9 essa:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>Gtk-Message: 11:27:33.649: Failed to load module &#8220;canberra-gtk-module&#8221;<\/p>\n<\/blockquote>\n\n\n\n<p>Isso n\u00e3o \u00e9 um erro fatal, apenas um aviso visual de que o m\u00f3dulo de sons do GTK (canberra-gtk-module) n\u00e3o est\u00e1 instalado. Ele \u00e9 usado, por exemplo, para sons de cliques ou alertas em interfaces gr\u00e1ficas, para remover este aviso, execute:<\/p>\n\n\n\n<p>Num debian-like (debian, ubuntu, mint\u2026):<\/p>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre class=\"CodeMirror\" data-setting=\"{&quot;showPanel&quot;:true,&quot;languageLabel&quot;:false,&quot;fullScreenButton&quot;:true,&quot;copyButton&quot;:true,&quot;mode&quot;:&quot;pascal&quot;,&quot;mime&quot;:&quot;text\/x-pascal&quot;,&quot;theme&quot;:&quot;default&quot;,&quot;lineNumbers&quot;:true,&quot;styleActiveLine&quot;:true,&quot;lineWrapping&quot;:false,&quot;readOnly&quot;:true,&quot;fileName&quot;:&quot;&quot;,&quot;TrpContentRestriction&quot;:{&quot;restriction_type&quot;:&quot;exclude&quot;,&quot;selected_languages&quot;:[],&quot;panel_open&quot;:true},&quot;language&quot;:&quot;Pascal&quot;,&quot;maxHeight&quot;:&quot;400px&quot;,&quot;modeName&quot;:&quot;pascal&quot;}\">sudo apt install -y qtbase5-dev # caso use KDE\nsudo apt install -y libcanberra-gtk-module libcanberra-gtk3-module # caso use GNOME<\/pre><\/div>\n\n\n\n<p>Num sistema redhat-like (fedora):<\/p>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre class=\"CodeMirror\" data-setting=\"{&quot;showPanel&quot;:true,&quot;languageLabel&quot;:false,&quot;fullScreenButton&quot;:true,&quot;copyButton&quot;:true,&quot;mode&quot;:&quot;pascal&quot;,&quot;mime&quot;:&quot;text\/x-pascal&quot;,&quot;theme&quot;:&quot;default&quot;,&quot;lineNumbers&quot;:true,&quot;styleActiveLine&quot;:true,&quot;lineWrapping&quot;:false,&quot;readOnly&quot;:true,&quot;fileName&quot;:&quot;&quot;,&quot;TrpContentRestriction&quot;:{&quot;restriction_type&quot;:&quot;exclude&quot;,&quot;selected_languages&quot;:[],&quot;panel_open&quot;:true},&quot;language&quot;:&quot;Pascal&quot;,&quot;maxHeight&quot;:&quot;400px&quot;,&quot;modeName&quot;:&quot;pascal&quot;}\">sudo dnf install -y qt5pas-devel qt5-qtbase-devel # caso use KDE\nsudo dnf install -y libcanberra-gtk2 libcanberra-gtk3 # caso use GNOME\n<\/pre><\/div>\n\n\n\n<p>Most of you reading these instructions will prefer to use the&nbsp;<strong>Lazarus installer<\/strong>&nbsp;or the&nbsp;<strong>fpcupdeluge<\/strong>. But there is a third way that works for Windows and Linux, installing directly from the Lazarus source code, sounds complicated, but it is not if you have downloaded or compiled programs via GIT before. There are some advantages to this, the self-compiled binary version will be specific to your hardware and therefore faster than the installer version. It will be similar to fpcupdeluge, but more economical and faster because we will use FreePascal(FPC from now on) pre-installed.<\/p>\n\n\n\n<p>As Lazarus is in a GIT repository, we have another advantage &gt;: version upgrade.<\/p>\n\n\n\n<p>Follow the instructions below, although they are for Linux, the principles are the same for Windows. All references to <strong>~ (tilda)<\/strong> you see in file edits you can exchange for <strong>\/home\/yourlogin<\/strong>, this will ensure that scripts and configuration files work.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">1. Precisar\u00e1 dos fontes do Free Pascal Compiler(FPC)<\/h2>\n\n\n\n<p>Se voc\u00ea instalou o FPC (incluindo os fontes) a partir do reposit\u00f3rio oficial, ent\u00e3o precisamos anotar onde est\u00e3o os fontes do FPC, execute o comando:<\/p>\n\n\n\n<pre class=\"wp-block-code alignwide\"><code><strong>(se seu sistema for Redhat-like como o Fedora)<\/strong>\nrpm -ql fpc-src\n<strong>(se seu sistema for Debian-like como o Ubuntu)<\/strong>\ndpkg -L fpc-source<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code alignwide\"><code>(...)\n<strong>\/usr\/share\/fpcsrc<\/strong>\/rtl\/x86_64\/set.inc\n<strong>\/usr\/share\/fpcsrc<\/strong>\/rtl\/x86_64\/setjump.inc\n<strong>\/usr\/share\/fpcsrc<\/strong>\/rtl\/x86_64\/setjumph.inc\n<strong>\/usr\/share\/fpcsrc<\/strong>\/rtl\/x86_64\/strings.inc\n<strong>\/usr\/share\/fpcsrc<\/strong>\/rtl\/x86_64\/stringss.inc\n<strong>\/usr\/share\/fpcsrc<\/strong>\/rtl\/x86_64\/x86_64.inc (...)<\/code><\/pre>\n\n\n\n<p>You will discover and notice that they have been installed in&nbsp;<strong>\/usr\/share\/fpcsrc<\/strong>, make note of this path because we&#039;ll need it later.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">2. Apague a configura\u00e7\u00e3o anterior em seu perfil<\/h2>\n\n\n\n<p>Apague a pasta&nbsp;<strong>~\/.lazarus<\/strong>&nbsp;if it exists:<\/p>\n\n\n\n<pre class=\"wp-block-code alignwide\"><code>rm -fR ~\/.lazarus<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">3. Clonando o c\u00f3digo fonte do Lazarus<\/h2>\n\n\n\n<p>Ainda no terminal, indique onde deseja que o lazarus seja baixado, por exemplo, se desejar diretamente na raiz de sua $HOME ent\u00e3o:<\/p>\n\n\n\n<pre class=\"wp-block-code alignwide\"><code>cd ~\ngit clone https:\/\/gitlab.com\/freepascal.org\/lazarus\/lazarus.git\ncd lazarus <\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">4. Git  <\/h2>\n\n\n\n<p>H\u00e1 duas formas de selecionar dentro do reposit\u00f3rio o que queremos, atrav\u00e9s de &#8216;branch&#8217; ou &#8216;tag&#8217;. Vamos usar a op\u00e7\u00e3o &#8216;tag&#8217; que \u00e9 a que funciona melhor no lazarus.<\/p>\n\n\n\n<p>Para listar as vers\u00f5es existentes, voc\u00ea primeiro deve abandonar a branch atual caso tenha escolhido alguma:<\/p>\n\n\n\n<pre class=\"wp-block-code alignwide\"><code>git switch -<\/code><\/pre>\n\n\n\n<p>E depois usar um comando abaixo para listar todas as vers\u00f5es<em> <\/em>dispon\u00edveis:<\/p>\n\n\n\n<pre class=\"wp-block-code alignwide\"><code>git tag (ou git branch -r, se preferir usar branches)<\/code><\/pre>\n\n\n\n<p>E ent\u00e3o todos os &#8220;tags&#8221;, isto \u00e9, vers\u00f5es ser\u00e3o listadas, nossa inten\u00e7\u00e3o aqui \u00e9 selecionar uma vers\u00e3o mais recente:<\/p>\n\n\n\n<pre class=\"wp-block-code alignwide\"><code>(...)\n<strong>lazarus_3_6<\/strong>\nlazarus_3_0_RC1\nlazarus_3_0_RC2\n(...)<\/code><\/pre>\n\n\n\n<p>E finalmente vamos escolh\u00ea-la:<\/p>\n\n\n\n<pre class=\"wp-block-code alignwide\"><code>git checkout lazarus_3_6<\/code><\/pre>\n\n\n\n<p><strong>Aten\u00e7\u00e3o<\/strong>: As vezes voc\u00ea pode encontrar o sufixo &#8220;fixes_&#8221;, por exemplo, ao listar os branches e encontrar &#8220;lazarus_3_6&#8221; e &#8220;fixes_3_6&#8221;, nessa situa\u00e7\u00e3o d\u00ea prefer\u00eancia a \u00faltima porque j\u00e1 cont\u00eam as corre\u00e7\u00f5es.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">5. Vamos compilar<\/h2>\n\n\n\n<p>Finalmente ap\u00f3s ter escolhido o branch ou tag adequado, poderemos compilar. Ainda no terminal, execute:<\/p>\n\n\n\n<pre class=\"wp-block-code alignwide\"><code>make clean make bigide (takes a while, but will compile everything)<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">6. Criando um script para execut\u00e1-lo no terminal<\/h2>\n\n\n\n<p>Note where Lazarus was installed, namely,&nbsp;<strong>~\/lazarus<\/strong>&nbsp;and then create a bash script for it:<\/p>\n\n\n\n<pre class=\"wp-block-code alignwide\"><code><strong>(certifique-se que a pasta abaixo exista)<\/strong>\nmkdir -p ~\/.local\/bin\ngnome-text-editor ~\/.local\/bin\/runlazarus.sh<\/code><\/pre>\n\n\n\n<p>Paste this content:<\/p>\n\n\n\n<pre class=\"wp-block-code alignwide\"><code>#!\/bin\/sh\n# Lazarus \ncd ~\/lazarus\n.\/lazarus \"$@\"<\/code><\/pre>\n\n\n\n<p>Save the above script and then run it in terminal:<\/p>\n\n\n\n<pre class=\"wp-block-code alignwide\"><code>chmod a+x ~\/.local\/bin\/runlazarus.sh<\/code><\/pre>\n\n\n\n<p>Em qualquer lugar que tivermos do terminal, se digitarmos <strong>runlazarus.sh<\/strong>&nbsp;ent\u00e3o estaremos executando o <strong>lazarus<\/strong>&nbsp;pelo terminal, mas isso pode falhar porque em algumas distribui\u00e7\u00f5es Linux o caminho ~\/.local\/bin n\u00e3o est\u00e1 no &#8216;<em>search path<\/em>&#8216; do sistema, se este for o seu caso, edite o arquivo ~\/.basrh e acrescente no final deste arquivo:<\/p>\n\n\n\n<pre class=\"wp-block-code alignwide\"><code>chmod a+x ~\/.local\/bin\/runlazarus.sh<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">7. Criando um atalho para o ambiente gr\u00e1fico<\/h2>\n\n\n\n<p>Crie um atalho para ele em sua \u00e1rea de trabalho:<\/p>\n\n\n\n<pre class=\"wp-block-code alignwide\"><code>gnome-text-editor ~\/.local\/share\/applications\/lazarus.desktop<\/code><\/pre>\n\n\n\n<p>and then paste the instructions below:<\/p>\n\n\n\n<pre class=\"wp-block-code alignwide\"><code>&#91;Desktop Entry]\nVersion=1.0\nType=Application\nName=Lazarus IDE with Free Pascal Compiler\nExec=\/home\/$USER\/lazarus\/lazarus %f\nPath=\/home\/$USER\/lazarus\nIcon=\/home\/$USER\/lazarus\/images\/icons\/lazarus.ico\nGenericName=Lazarus IDE with Free Pascal Compiler\nCategories=Application;IDE;Development;GUIDesigner;Programming;\nKeywords=editor;Pascal;IDE;FreePascal;fpc;Design;Designer;<\/code><\/pre>\n\n\n\n<p><strong>ALERT:<\/strong> Substitua &#8220;$USER&#8221; pelo seu login ou local onde seu Lazarus esta instalado.<\/p>\n\n\n\n<p>Salve o arquivo, a partir de agora, o Lazarus aparecer\u00e1 no menu de seu sistema se procurar pelo nome como mostra a figura abaixo. Contudo, se o \u00edcone n\u00e3o aparecer, talvez voc\u00ea tenha esquecido de trocar o $USER conforme o alerta ou simplesmente precise reiniciar seu login:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"480\" height=\"270\" src=\"https:\/\/gladiston.net.br\/wp-content\/uploads\/2022\/10\/Captura-de-tela-de-2022-10-10-19-34-14.png\" alt=\"\" class=\"wp-image-2060\" srcset=\"https:\/\/gladiston.net.br\/wp-content\/uploads\/2022\/10\/Captura-de-tela-de-2022-10-10-19-34-14.png 480w, https:\/\/gladiston.net.br\/wp-content\/uploads\/2022\/10\/Captura-de-tela-de-2022-10-10-19-34-14-300x169.png 300w, https:\/\/gladiston.net.br\/wp-content\/uploads\/2022\/10\/Captura-de-tela-de-2022-10-10-19-34-14-18x10.png 18w\" sizes=\"auto, (max-width: 480px) 100vw, 480px\" \/><figcaption class=\"wp-element-caption\">Lazarus aparecer\u00e1 na rela\u00e7\u00e3o do menu do ambiente gr\u00e1fico<\/figcaption><\/figure>\n\n\n\n<p>I recommend that you use your system menu to run Lazarus, but if you want to do it from the command line, use the script created:<\/p>\n\n\n\n<pre class=\"wp-block-code alignwide\"><code>runlazarus.sh<\/code><\/pre>\n\n\n\n<p>Opcionalmente, usando a op\u00e7\u00e3o <strong>&#8211;pcp=~\/lazarus\/configs<\/strong>&nbsp;voc\u00ea direciona a configura\u00e7\u00e3o do Lazarus para uma pasta espec\u00edfica, isso \u00e9 \u00f3timo para que cada vers\u00e3o diferente do Lazarus tenha sua pr\u00f3pria pasta de configura\u00e7\u00e3o e n\u00e3o contamine as configura\u00e7\u00f5es uns dos outros.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">8. Atualizando os fontes do Lazarus<\/h2>\n\n\n\n<p>Eventually you might want to download new versions or updates, it&#039;s a git repository so there won&#039;t be any problems, whenever you need to use the commands:<\/p>\n\n\n\n<pre class=\"wp-block-code alignwide\"><code>git pull  <\/code><\/pre>\n\n\n\n<p>E ent\u00e3o completar o processo com a pr\u00f3pria IDE, basta ir em&nbsp;<strong>Ferramentas|Configurar constru\u00e7\u00e3o do Lazarus<\/strong>&nbsp;e ent\u00e3o concluir em&nbsp;<strong>Ferramentas|Construir o lazarus com o perfil\u2026<\/strong><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">10. Se algo n\u00e3o t\u00e1 dando certo\u2026<\/h2>\n\n\n\n<p>If something turns out different than expected, access the link below, it was the original link where the instructions were based, maybe it will clarify what went wrong:<\/p>\n\n\n\n<p><a href=\"https:\/\/wiki.lazarus.freepascal.org\/Getting_Lazarus\">https:\/\/wiki.lazarus.freepascal.org\/Getting_Lazarus<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">11. Algu\u00e9m disse \u201ccross-compiling\u201d?<\/h2>\n\n\n\n<p>Caso tenha optado pelo cross-compiling, baixando e instalando as duas vers\u00f5es, ao compilar um project voc\u00ea vai na IDE, em Project|Project Options|Compiler Options|Config and Targets e cria os Builds Modes, um para win32 e outro para win64, o qual prefiro chamar de amd64:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"534\" height=\"317\" src=\"https:\/\/gladiston.net.br\/wp-content\/uploads\/2022\/05\/fpc-cross-win32-win64-project-options.png\" alt=\"\" class=\"wp-image-1514\" srcset=\"https:\/\/gladiston.net.br\/wp-content\/uploads\/2022\/05\/fpc-cross-win32-win64-project-options.png 534w, https:\/\/gladiston.net.br\/wp-content\/uploads\/2022\/05\/fpc-cross-win32-win64-project-options-300x178.png 300w, https:\/\/gladiston.net.br\/wp-content\/uploads\/2022\/05\/fpc-cross-win32-win64-project-options-18x12.png 18w\" sizes=\"auto, (max-width: 534px) 100vw, 534px\" \/><figcaption class=\"wp-element-caption\">Target OS e Target CPU Family podem ser distintos para cada Build mode.<\/figcaption><\/figure>\n\n\n\n<p>No caso de ter optado por crosscompiling, ter\u00e1 de aprender a criar Build Modes para win32 e outra para win64(amd64) depois de criar ent\u00e3o ajustar em Project|Project Options|Compiler Options|Config and Targets os parametros Target OS e Target CPU Family que s\u00e3o os mais importantes para indicar o sistema operacional e a arquitetura.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Integrando o editor de c\u00f3digo com ajuda on line(Help)<\/h2>\n\n\n\n<p>Quando usado o instalador oficial do Lazarus o editor de c\u00f3digo \u00e9 integrado a ajuda online, ou seja, se voc\u00ea der um F1 quando uma fun\u00e7\u00e3o ou m\u00e9todo estiver em foco ent\u00e3o uma janela abre-se com uma explica\u00e7\u00e3o sobre o mesmo. Infelizmente isso n\u00e3o funciona quando voc\u00ea faz a instala\u00e7\u00e3o manual do Lazarus. \u00c9 muito recomendado que voc\u00ea fa\u00e7a essa instala\u00e7\u00e3o, por isso siga o link abaixo que descrever\u00e1 como faz\u00ea-lo.<\/p>\n\n\n\n<p><a href=\"https:\/\/gladiston.net.br\/en\/programacao\/lazarus-ide\/integrando-o-editor-de-codigo-com-ajuda-on-linehelp\/\" target=\"_blank\" rel=\"noreferrer noopener\">Integrando o editor de c\u00f3digo com ajuda on line(Help)<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">T\u00e1 dif\u00edcil, assista ao v\u00eddeo<\/h2>\n\n\n\n<p>If you felt difficulty in the article, watch the video below:<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-4-3 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"#8: Install Lazarus-IDE from git - Development with FreePascal\/Lazarus with Linux\" width=\"580\" height=\"435\" src=\"https:\/\/www.youtube.com\/embed\/7BcDKGyTeaY?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<p><\/p>","protected":false},"excerpt":{"rendered":"<p>Depois de instalar o FPC dos reposit\u00f3rios, voc\u00ea pode seguir as instru\u00e7\u00f5es nesta p\u00e1gina para prosseguir com a instala\u00e7\u00e3o do Lazarus-IDE. Caso ainda n\u00e3o tenha instalado o FreePascal Compiler(FPC, daqui em diante), ent\u00e3o siga este link: Instala\u00e7\u00e3o no Linux: Instala\u00e7\u00e3o do FPC a partir dos reposit\u00f3rios Antes de prosseguir precisamos fazer um ajuste importante em [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":159,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"templates\/template-full-width.php","meta":{"footnotes":""},"class_list":["post-254","page","type-page","status-publish","hentry"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/gladiston.net.br\/en\/wp-json\/wp\/v2\/pages\/254","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/gladiston.net.br\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/gladiston.net.br\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/gladiston.net.br\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/gladiston.net.br\/en\/wp-json\/wp\/v2\/comments?post=254"}],"version-history":[{"count":34,"href":"https:\/\/gladiston.net.br\/en\/wp-json\/wp\/v2\/pages\/254\/revisions"}],"predecessor-version":[{"id":2680,"href":"https:\/\/gladiston.net.br\/en\/wp-json\/wp\/v2\/pages\/254\/revisions\/2680"}],"up":[{"embeddable":true,"href":"https:\/\/gladiston.net.br\/en\/wp-json\/wp\/v2\/pages\/159"}],"wp:attachment":[{"href":"https:\/\/gladiston.net.br\/en\/wp-json\/wp\/v2\/media?parent=254"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}