{"id":251,"date":"2022-01-07T18:03:27","date_gmt":"2022-01-07T21:03:27","guid":{"rendered":"https:\/\/gladiston.net.br\/?page_id=251"},"modified":"2024-10-10T09:37:37","modified_gmt":"2024-10-10T12:37:37","slug":"usando-como-instalador-o-git-nivel-medio1","status":"publish","type":"page","link":"https:\/\/gladiston.net.br\/en\/programacao\/lazarus-ide\/usando-como-instalador-o-git-nivel-medio1\/","title":{"rendered":"Using GIT as installer (medium level+1)"},"content":{"rendered":"<p>Most of you reading these instructions will prefer to use the Lazarus Installer or fpcupdeluge. But there is a third way that works for Windows and Linux, installing directly from Lazarus source code, sounds complicated, but it is not if you have 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. Similar to fpcupdeluge, but more economical and faster because we will use FreePascal(FPC from now on) pre-installed<br>As Lazarus is in a GIT repository, we have another advantage: version upgrades. Follow the instructions below, although they are for Windows, the principles are the same for Linux.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">1. Install FPC from the official installer:<\/h2>\n\n\n\n<p><a href=\"https:\/\/www.freepascal.org\/download.html\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/www.freepascal.org\/download.html<\/a><\/p>\n\n\n\n<p>Escolha a vers\u00e3o apropriada para seu sistema, a mais compativel ser\u00e1 \u201cIntel x86\/i386-&gt;Windows 32-bit\u201d, mas tamb\u00e9m poder\u00e1 usar a vers\u00e3o 64bits indicada abaixo:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"974\" height=\"322\" src=\"http:\/\/gladiston.net.br\/wp-content\/uploads\/2022\/01\/instalacao_windows_git1.png\" alt=\"\" class=\"wp-image-106\" srcset=\"https:\/\/gladiston.net.br\/wp-content\/uploads\/2022\/01\/instalacao_windows_git1.png 974w, https:\/\/gladiston.net.br\/wp-content\/uploads\/2022\/01\/instalacao_windows_git1-300x99.png 300w, https:\/\/gladiston.net.br\/wp-content\/uploads\/2022\/01\/instalacao_windows_git1-768x254.png 768w\" sizes=\"auto, (max-width: 974px) 100vw, 974px\" \/><\/figure>\n\n\n\n<p>Installation is a sequence of&nbsp;<strong>Next-&gt;Next-&gt;Finish<\/strong>&nbsp;and does not need further details. For didactic purposes, let's assume from now on that we have it installed in&nbsp;<strong>C:\\FPC\\3.2.2.<\/strong> <\/p>\n\n\n\n<p>Voc\u00ea poder\u00e1 instalar as duas vers\u00f5es win32 e win64, da\u00ed poder\u00e1 fazer crosscompiling, isto \u00e9, compilar para as duas arquiteturas: win32 e win64. Se esta for sua inten\u00e7\u00e3o, voc\u00ea pode instalar a vers\u00e3o 32bits o qual ser\u00e1 a vers\u00e3o do Lazarus e o crosscompiling e ainda assim compilar para win64:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"715\" height=\"364\" src=\"https:\/\/gladiston.net.br\/wp-content\/uploads\/2022\/05\/fpc-cross-win32-win64.png\" alt=\"\" class=\"wp-image-1509\" srcset=\"https:\/\/gladiston.net.br\/wp-content\/uploads\/2022\/05\/fpc-cross-win32-win64.png 715w, https:\/\/gladiston.net.br\/wp-content\/uploads\/2022\/05\/fpc-cross-win32-win64-300x153.png 300w, https:\/\/gladiston.net.br\/wp-content\/uploads\/2022\/05\/fpc-cross-win32-win64-18x9.png 18w\" sizes=\"auto, (max-width: 715px) 100vw, 715px\" \/><\/figure>\n\n\n\n<p>Note que embora sejam duas vers\u00f5es win32 e win64, o sufixo come\u00e7a com &#8220;win32&#8221; indicando que essa \u00e9 a arquitetura principal, porque isso \u00e9 importante? Porque sua IDE Lazarus quando for constru\u00edda ser\u00e1 win32, voc\u00ea pode compilar e gerar um execut\u00e1vel para win64, mas com uma IDE 32bits n\u00e3o poder\u00e1 debugar um programa 64bits. Ent\u00e3o se a maioria dos seus programas forem distribuidos em 64bits \u00e9 melhor voc\u00ea inverter na hora do download escolhendo o prefixo win64 com build para win32 se este for o caso. <\/p>\n\n\n\n<h2 class=\"wp-block-heading\">2. Precisar\u00e1 dos fontes do Free Pascal Compiler(FPC)<\/h2>\n\n\n\n<p>Precisar\u00e1 baixar o c\u00f3digo fonte do FPC, voc\u00ea poder\u00e1 obt\u00ea-lo em:<\/p>\n\n\n\n<p><a href=\"https:\/\/www.freepascal.org\/down\/source\/sources.html\">https:\/\/www.freepascal.org\/down\/source\/sources.html<\/a><\/p>\n\n\n\n<p>The source code is usually compressed and with the suffix \u201csource\u201d in the name, as you can see in the following image:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"771\" height=\"410\" src=\"http:\/\/gladiston.net.br\/wp-content\/uploads\/2022\/01\/instalacao_windows_git2.png\" alt=\"\" class=\"wp-image-107\" srcset=\"https:\/\/gladiston.net.br\/wp-content\/uploads\/2022\/01\/instalacao_windows_git2.png 771w, https:\/\/gladiston.net.br\/wp-content\/uploads\/2022\/01\/instalacao_windows_git2-300x160.png 300w, https:\/\/gladiston.net.br\/wp-content\/uploads\/2022\/01\/instalacao_windows_git2-768x408.png 768w\" sizes=\"auto, (max-width: 771px) 100vw, 771px\" \/><figcaption class=\"wp-element-caption\">suffix \u201csource\u201d in the name of compressed files<\/figcaption><\/figure>\n\n\n\n<p>Then download it, then unzip it in the folder where FPC was installed, in our example:&nbsp;<strong>c:\\FPC\\3.2.2<\/strong>&nbsp;and then a subfolder with the source code will be created and then it will look like this:&nbsp;<strong>C:\\FPC\\3.2.2\\subfolder<\/strong>, rename the name of the&nbsp;<strong>subfolder<\/strong>&nbsp;for&nbsp;<strong>sources<\/strong>&nbsp;to be more informative and then note this path \u2013&nbsp;<strong>C:\\FPC\\3.2.2\\sources<\/strong>. We will need to remember this path later on.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">3. Apague a configura\u00e7\u00e3o anterior em seu perfil<\/h2>\n\n\n\n<p>Apague a pasta&nbsp;<strong>%USERPROFILE%\\AppData\\Local\\Lazarus<\/strong>&nbsp;if it exists.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">4. Vamos ao terminal<\/h2>\n\n\n\n<p>Abra o cmd.exe ou o terminal e vamos criar a pasta que receber\u00e1 os arquivos do Lazarus:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>cd c:\\\ngit clone https:\/\/gitlab.com\/freepascal.org\/lazarus\/lazarus.git  \ncd lazarus (assim voc\u00ea estar\u00e1 posicionado em c:\\lazarus)<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">5. 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 o que a maioria esta acostumado.<\/p>\n\n\n\n<p>Para listar os branches, voc\u00ea primeiro deve abandonar a branch atual caso tenha escolhido alguma:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>git switch -<\/code><\/pre>\n\n\n\n<p>E depois usar um comando abaixo para listar todos os branches:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>git tag<\/code><\/pre>\n\n\n\n<p>E ent\u00e3o todos os &#8220;tags&#8221; de vers\u00e3o ser\u00e3o listadas, nossa inten\u00e7\u00e3o aqui \u00e9 selecionar a vers\u00e3o mais recente:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><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\"><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\">6. 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\"><code>make clean <\/code><\/pre>\n\n\n\n<p>Se o comando &#8216;make&#8217; falhar \u00e9 porque provavelmente h\u00e1 outro comando &#8221;make.exe&#8217; pertencente a outra linguagem que tem prefer\u00eancia no PATH do sistema, neste caso, fa\u00e7a o seguinte:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>set path=C:\\FPC\\3.2.2\\bin\\i386-Win32;%path%<\/code><\/pre>\n\n\n\n<p>E ent\u00e3o repetimos o mesmo comando:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>make clean <\/code><\/pre>\n\n\n\n<p>Aqueles que tiverem o Delphi instalado, possivelmente ter\u00e3o este problema. Agora para concluir, ent\u00e3o executamos:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>make bigide\n(Vai demorar um pouco, relaxe e v\u00e1 tomar com caf\u00e9 enquanto isso)<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">7. Indicando os fontes do FPC<\/h2>\n\n\n\n<p>Quando a IDE iniciar-se, geralmente a primeira tela ser\u00e1 uma busca autom\u00e1tica pelo c\u00f3digo fonte do FPC. No ambiente Windows \u00e9 raro encontrar a localiza\u00e7\u00e3o dos fontes sozinho ent\u00e3o devemos clicar em \u201cParar\u201d e a procura ser\u00e1 interrompida e da\u00ed ent\u00e3o indicar o local onde o c\u00f3digo fonte do FPC foi descompactado, a saber&nbsp;<strong>C:\\FPC\\3.2.2\\src:<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"934\" height=\"722\" src=\"https:\/\/gladiston.net.br\/wp-content\/uploads\/2024\/04\/instalacao_windows_git4.png\" alt=\"\" class=\"wp-image-2435\" srcset=\"https:\/\/gladiston.net.br\/wp-content\/uploads\/2024\/04\/instalacao_windows_git4.png 934w, https:\/\/gladiston.net.br\/wp-content\/uploads\/2024\/04\/instalacao_windows_git4-300x232.png 300w, https:\/\/gladiston.net.br\/wp-content\/uploads\/2024\/04\/instalacao_windows_git4-768x594.png 768w, https:\/\/gladiston.net.br\/wp-content\/uploads\/2024\/04\/instalacao_windows_git4-16x12.png 16w\" sizes=\"auto, (max-width: 934px) 100vw, 934px\" \/><figcaption class=\"wp-element-caption\">Defining the location of the FPC \u201csources\u201d<\/figcaption><\/figure>\n\n\n\n<p>E ent\u00e3o clicar em &#8220;<strong>Depurador<\/strong>&#8220;.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">8. Indicando o depurador(debugger)<\/h2>\n\n\n\n<p>Ao clicar em <strong>Depurador<\/strong>, voc\u00ea escolher\u00e1 a op\u00e7\u00e3o &#8220;Create a new recommended backend&#8221;:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"934\" height=\"722\" src=\"https:\/\/gladiston.net.br\/wp-content\/uploads\/2024\/04\/instalacao_windows_debugger.png\" alt=\"\" class=\"wp-image-2436\" srcset=\"https:\/\/gladiston.net.br\/wp-content\/uploads\/2024\/04\/instalacao_windows_debugger.png 934w, https:\/\/gladiston.net.br\/wp-content\/uploads\/2024\/04\/instalacao_windows_debugger-300x232.png 300w, https:\/\/gladiston.net.br\/wp-content\/uploads\/2024\/04\/instalacao_windows_debugger-768x594.png 768w, https:\/\/gladiston.net.br\/wp-content\/uploads\/2024\/04\/instalacao_windows_debugger-16x12.png 16w\" sizes=\"auto, (max-width: 934px) 100vw, 934px\" \/><\/figure>\n\n\n\n<p>E ent\u00e3o clicar em <strong>Iniciar IDE.<\/strong><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">9. Vamos atualizar 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\"><code>git pull <\/code><\/pre>\n\n\n\n<p>E ent\u00e3o completar o processo com a pr\u00f3pria IDE, basta ir em <strong>Ferramentas|Configurar constru\u00e7\u00e3o do Lazarus<\/strong> e ent\u00e3o concluir em <strong>Ferramentas|Construir o lazarus com o perfil&#8230;<\/strong><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">10. Se algo n\u00e3o t\u00e1 dando certo&#8230;<\/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 &#8220;cross-compiling&#8221;?<\/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 size-full\"><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=\"noopener\" title=\"Integrando o editor de c\u00f3digo com ajuda on line(Help)\">Integrando o editor de c\u00f3digo com ajuda on line(Help)<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">CONCLUSION<\/h2>\n\n\n\n<p>Agora voc\u00ea tem tudo o que precisa para executar sua instala\u00e7\u00e3o como programador. Tenho que ser sincero, o instalador \u00e9 bom o suficiente para te entregar tudo pronto, mas ao usar o GIT voc\u00ea \u00e9 como um mec\u00e2nico que monta seu pr\u00f3prio carro ao inv\u00e9s de comprar um montado e com essa analogia em mente, saiba que uns v\u00e3o preferir ter o carro pronto e n\u00e3o h\u00e1 nada errado nisso, mas se voc\u00ea experimentar mont\u00e1-lo poder\u00e1 dizer que entendeu o processo e mais tarde usar apenas o instalador por conveni\u00eancia e n\u00e3o porque n\u00e3o sabe como mont\u00e1-lo.<\/p>\n\n\n\n<p>Boa compila\u00e7\u00e3o!<\/p>","protected":false},"excerpt":{"rendered":"<p>A maioria dos que estiverem lendo essas instru\u00e7\u00f5es ir\u00e3o preferir usar o Instalador do Lazarus ou o fpcupdeluge. Por\u00e9m h\u00e1 uma terceira via que funciona para Windows e Linux, a instala\u00e7\u00e3o diretamente do c\u00f3digo fonte do Lazarus, parece complicado, mas n\u00e3o \u00e9 se voc\u00ea j\u00e1 compilou programas via GIT antes. H\u00e1 algumas vantagens nisso, a [&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-251","page","type-page","status-publish","hentry"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/gladiston.net.br\/en\/wp-json\/wp\/v2\/pages\/251","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=251"}],"version-history":[{"count":32,"href":"https:\/\/gladiston.net.br\/en\/wp-json\/wp\/v2\/pages\/251\/revisions"}],"predecessor-version":[{"id":2613,"href":"https:\/\/gladiston.net.br\/en\/wp-json\/wp\/v2\/pages\/251\/revisions\/2613"}],"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=251"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}