{"id":3014,"date":"2017-05-14T17:42:36","date_gmt":"2017-05-14T21:42:36","guid":{"rendered":"http:\/\/linguagemprisma.br4.biz\/blog\/?p=3014"},"modified":"2017-05-14T17:42:36","modified_gmt":"2017-05-14T21:42:36","slug":"compilando-prisma-no-linux","status":"publish","type":"post","link":"https:\/\/linguagemprisma.br4.biz\/blog\/prisma\/compilando-prisma-no-linux\/","title":{"rendered":"Compilando Prisma no Linux"},"content":{"rendered":"<p><em>Este post cobre uma necessidade imediata e futura referente \u00e0 forma como vou disponibilizar Prisma para distros Linux.<\/em><\/p>\n<h1>Por que aprender a compilar em Linux?<\/h1>\n<p>Devido a imensa variedade de sabores Linux e arquiteturas, vou disponibilizar futuramente apenas os fontes comprimidos da linguagem Prisma para quem quiser usar em ambiente Unix like fazer a pr\u00f3pria compila\u00e7\u00e3o, o que n\u00e3o tem segredo nenhum.<\/p>\n<p>Prisma \u00e9 baseada nos fontes Lua-5.2 (5.3 futuramente) e sendo assim tem uma alta portabilidade para ser compilada em Windows, Linux ou Mac (at\u00e9 mesmo para ser embutida em micro processadores, bastando fazer a adapta\u00e7\u00e3o).<\/p>\n<h1><strong>Passo a passo:<\/strong><\/h1>\n<p>&nbsp;<\/p>\n<h3><strong>Baixe os fontes Prisma mais atual na p\u00e1gina de downloads clicando<\/strong>\u00a0<a href=\"https:\/\/linguagemprisma.br4.biz\/blog\/download-para-ubuntu-e-ou-baseados-em-debian\/\" target=\"_blank\">&lt;aqui&gt;<\/a><\/h3>\n<p>&nbsp;<\/p>\n<h1><strong>1 &#8211; Ferramentas necess\u00e1rias:<\/strong><\/h1>\n<h1><strong>1.1 &#8212; Compilador C e headers padr\u00e3o:<\/strong><\/h1>\n<p>Caso n\u00e3o tenha, \u00e9 preciso instalar ferramentas da linguagem C, compilador e headers, pois Prisma \u00e9 feita em C. Digite, no terminal, o seguinte comando:<\/p>\n<pre><code class=\"\" data-line=\"\">sudo apt-get install build-essential<\/code><\/pre>\n<p>N\u00e3o se preocupe, caso n\u00e3o seja necess\u00e1rio, o pr\u00f3prio sistema saber\u00e1 e aparecer\u00e1 uma mensagem dizendo que os pacotes j\u00e1 est\u00e3o instalados e atualizados, caso contr\u00e1rio a instala\u00e7\u00e3o ir\u00e1 cobrir o que falta.<\/p>\n<h1><strong>1.2 &#8211; Libreadline &#8211; para compilar Prisma:<\/strong><\/h1>\n<p>&nbsp;<\/p>\n<p>Essa lib \u00e9 que faz aparecer o que foi digitado anteriormente no terminal.<\/p>\n<pre><code class=\"\" data-line=\"\">sudo apt-get install libreadline6<\/code><\/pre>\n<pre><code class=\"\" data-line=\"\">sudo apt-get install libreadline6-dev<\/code><\/pre>\n<p>O primeiro comando instala os bin\u00e1rios da shared libraries, o segundo instala os pacotes de cabe\u00e7alhos da libreadline6 para compilar com Prisma.<\/p>\n<p><strong>Com isso j\u00e1 podemos compilar o interpretador e compilador Prisma.<\/strong><\/p>\n<p>Na pasta source_prisma, procure o arquivo shell script <strong>compila_so_prisma.sh\u00a0<\/strong>e execute-o, Prisma ser\u00e1 compilada automaticamente se os passos acima deram certo.<\/p>\n<p>Obs.: \u00e9 necess\u00e1rio definir o arquivo <strong>compila_so_prisma.sh<\/strong> como executar como programa. Para isso clique com bot\u00e3o direito do mouse em cima dele clique em propriedades e na janela aberta v\u00e1 na aba Permiss\u00f5es, <strong>marque em permitir execu\u00e7\u00e3o do arquivo como um programa.<\/strong><\/p>\n<p>Ou por linha de comando em distro Debian\/Ubuntu ou derivados:<\/p>\n<pre><code class=\"\" data-line=\"\">chmod +x compila_so_prisma.sh<\/code><\/pre>\n<h1><\/h1>\n<h1><strong>2 &#8211; Compilando as bibliotecas Prisma em C:<\/strong><\/h1>\n<p>&nbsp;<\/p>\n<h1><strong>2.1 &#8211; Vamos come\u00e7ar com o appindicator:<\/strong><\/h1>\n<p>Instale pelo terminal ou pesquise os seguintes nomes no gerenciador synaptic ou o correspondente \u00e0 sua distro linux:<\/p>\n<p><strong>libappindicator1, libappindicator-dev<\/strong> (s\u00e3o essas vers\u00f5es usadas com Prisma);<\/p>\n<p>Essa lib serve para colocar um \u00edcone na barra de notifica\u00e7\u00e3o Unity do Ubuntu, pois as fun\u00e7\u00f5es normais do gtk n\u00e3o conseguem fazer isso. Somente use esta lib, portanto no Ubuntu com interface Unity, certo.<\/p>\n<p>No terminal:<\/p>\n<pre><code class=\"\" data-line=\"\">sudo apt-get install libappindicator1<\/code><\/pre>\n<pre><code class=\"\" data-line=\"\">sudo apt-get install libappindicator-dev<\/code><\/pre>\n<p>Ap\u00f3s isso, entre na pasta source_prisma, e depois na pasta appindicator e execute o arquivo shell<strong> zz_compilar_e_instalar.sh\u00a0<\/strong>(lembre-se de marcar como arquivo execut\u00e1vel, igual eu expliquei logo acima);<\/p>\n<p>Dentro da pasta appindicator tem um simples manual e testes.prisma.<\/p>\n<p>Obs.: Sempre compile primeiro Prisma e depois as libs, ok!<\/p>\n<h1><strong>2.2 &#8212; Compilando o IGBR (interface gr\u00e1fica em pt_BR):<\/strong><\/h1>\n<p>S\u00e3o necess\u00e1rios os cabe\u00e7alhos e bin\u00e1rios do gtk2 e gtksourceview.<\/p>\n<p><strong>Para distros Debian\/Ubuntu\/Mint ou derivados fa\u00e7a os seguintes comandos:<\/strong><\/p>\n<p><em>(Para outras distros Linux use o gerenciador de pacotes correspondentes a sua distro, ou at\u00e9 mesmo, se souber, use os comandos de instala\u00e7\u00e3o pr\u00f3prios da sua distro)<\/em><\/p>\n<p><strong>Instalando o gtk:<\/strong><\/p>\n<p><em>(N\u00e3o tenho certeza, mas talvez ao instalar o pacote -dev \u00a0os bin\u00e1rios j\u00e1 s\u00e3o instalados juntos)<\/em><\/p>\n<pre><code class=\"\" data-line=\"\">sudo apt-get install libgtk2.0-dev<\/code><\/pre>\n<pre><code class=\"\" data-line=\"\">sudo apt-get install gtk2.0<\/code><\/pre>\n<p><strong>Instalando o gtksourceview (\u00e1rea de texto com coloriza\u00e7\u00e3o de fontes de linguagens de programa\u00e7\u00e3o):<\/strong><\/p>\n<pre><code class=\"\" data-line=\"\">sudo apt-get install libgtksourceview2.0-0<\/code><\/pre>\n<pre><code class=\"\" data-line=\"\">sudo apt-get install libgtksourceview2.0-dev<\/code><\/pre>\n<pre><code class=\"\" data-line=\"\">sudo apt-get install libgtksourceview2.0-common<\/code><\/pre>\n<p><strong>Agora s\u00f3 entrar na pasta igbr e executar o arquivo shell script compila.sh<\/strong><\/p>\n<p>Pode ser que os pacotes acima estejam totalmente ou parcialmente instalados em seu Linux. Mas tente execut\u00e1-los mesmo assim.<\/p>\n<p><strong>Obs.: se sua distro n\u00e3o for baseada em Debian, os comandos sudo e apt-get install poder\u00e3o ser diferentes, use o gerenciador de pacotes de instala\u00e7\u00e3o ou pesquise como instalar programas em terminal em sua distro Linux.<\/strong><\/p>\n<h2>Obs.: o igdir compila normalmente, o igrede usa cabe\u00e7alhos e bin\u00e1rios que j\u00e1 est\u00e3o inclu\u00eddos no gtk instalado acima.<\/h2>\n<p>&nbsp;<\/p>\n<h1><strong>2.3 &#8212; Compilando o igvlc<\/strong><\/h1>\n<p>IGVLC &#8212; biblioteca para tocar som e v\u00eddeo junto com igbr. Infelizmente h\u00e1 um bug ainda n\u00e3o resolvido que n\u00e3o permite tocar v\u00eddeo no Linux, s\u00f3 no Windows. Mas \u00e9 poss\u00edvel tocar sons com um pouco de cuidado para n\u00e3o bugar junto com o igbr. Por isso, vou mostrar como compil\u00e1-la.<\/p>\n<p>Instale os seguintes pacotes:<\/p>\n<pre><code class=\"\" data-line=\"\">sudo apt-get install libvlc5 libvlc-dev libvlccore7 libvlccore-dev<\/code><\/pre>\n<p><strong>Pronto, pode executar o compila.sh na pasta igvlc.<\/strong><\/p>\n<p><em>Dentro da pasta igvlc, h\u00e1 uma pasta com exemplos, teste.prisma e outros, execute e abra um arquivo de \u00e1udio, ir\u00e1 tocar perfeitamente, mas se tentar abrir um v\u00eddeo acontecer\u00e1 o bug que ainda n\u00e3o descobri como consertar, engra\u00e7ado que no Windows os v\u00eddeos rodam de boa.<\/em><\/p>\n<h1><strong>2.4 &#8212; IGWebkit\u00a0<\/strong><\/h1>\n<p>&nbsp;<\/p>\n<p>Biblioteca em teste ainda, apenas no Linux, no Windows n\u00e3o consegui compilar esta maravilha. Serve para criar navegador web ou para Aplicativos network.<\/p>\n<p><strong>Instale pelo terminal ou pesquise no gerenciador de pacotes:<\/strong><\/p>\n<pre><code class=\"\" data-line=\"\">sudo apt-get install libwebkitgtk-dev\n<\/code><\/pre>\n<p>Execute o compila.sh dentro da pasta igwebkit.<\/p>\n<h1><strong>2.5 &#8212; MySQL client<\/strong><\/h1>\n<p>&nbsp;<\/p>\n<p>\u00c9 um binding do conector C (cabe\u00e7alhos e bin\u00e1rios) para fazer a conex\u00e3o e manusear o banco de dados MySQL em um servidor APACHE.<\/p>\n<p>Instale o pacote de desenvolvimento no terminal ou use o gerenciador de pacotes:<\/p>\n<pre><code class=\"\" data-line=\"\">sudo apt-get install libmysqlclient-dev<\/code><\/pre>\n<p>Pronto, entre na pasta mysql-lib e execute o arquivo compila.sh<\/p>\n<p>Procure o tutorial aqui no site.<\/p>\n<h1><strong>2.6 &#8212; pcgi e psqlite3\u00a0<\/strong><\/h1>\n<p>Compilam normalmente, basta entrar na pasta e executar o compila.sh.<\/p>\n<h1><strong>2.7 &#8212; A lib Terminal usa o pacote libreadline6 j\u00e1 instalado acima<\/strong><\/h1>\n<p>Basta entrar na pasta e executar o compila.sh.<\/p>\n<p>&nbsp;<\/p>\n<h1><strong>3 &#8212; Notas finais<\/strong><\/h1>\n<p>Como voc\u00ea p\u00f4de ter percebido, junto com os shell scripts h\u00e1 tamb\u00e9m os arquivos compila.bat que compila em Windows, para tanto \u00e9 necess\u00e1rio ter o ambiente minGW, GTK e outros no disco C:\\. Isso fica para outro tutorial, ok! O que n\u00e3o \u00e9 t\u00e3o importante, pois j\u00e1 distribuo os bin\u00e1rios prontos e compat\u00edveis com o Windows (XP, 7 e 10);<\/p>\n<p>OBS.: Para instalar basta digitar a senha ap\u00f3s cada compila\u00e7\u00e3o, por isso, compile Prisma primeiro e instale, depois as libs.<\/p>\n<p>Qualquer d\u00favida, cr\u00edtica ou corre\u00e7\u00e3o, escreva nos coment\u00e1rios, ou no f\u00f3rum oficial:<\/p>\n<p><a href=\"http:\/\/linguagemprisma.br4.biz\/prisma_forum\/index.php\" target=\"_blank\">http:\/\/linguagemprisma.br4.biz\/prisma_forum\/index.php<\/a><\/p>\n<p>&nbsp;<\/p>\n<p>At\u00e9 a pr\u00f3xima.<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Este post cobre uma necessidade imediata e futura referente \u00e0 forma como vou disponibilizar Prisma para distros Linux. Por que aprender a compilar em Linux? Devido a imensa variedade de sabores Linux e arquiteturas, vou disponibilizar futuramente apenas os fontes comprimidos da linguagem Prisma para quem quiser usar em ambiente Unix like fazer a pr\u00f3pria&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7],"tags":[],"class_list":["post-3014","post","type-post","status-publish","format-standard","hentry","category-prisma"],"_links":{"self":[{"href":"https:\/\/linguagemprisma.br4.biz\/blog\/wp-json\/wp\/v2\/posts\/3014","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/linguagemprisma.br4.biz\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/linguagemprisma.br4.biz\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/linguagemprisma.br4.biz\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/linguagemprisma.br4.biz\/blog\/wp-json\/wp\/v2\/comments?post=3014"}],"version-history":[{"count":1,"href":"https:\/\/linguagemprisma.br4.biz\/blog\/wp-json\/wp\/v2\/posts\/3014\/revisions"}],"predecessor-version":[{"id":3015,"href":"https:\/\/linguagemprisma.br4.biz\/blog\/wp-json\/wp\/v2\/posts\/3014\/revisions\/3015"}],"wp:attachment":[{"href":"https:\/\/linguagemprisma.br4.biz\/blog\/wp-json\/wp\/v2\/media?parent=3014"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/linguagemprisma.br4.biz\/blog\/wp-json\/wp\/v2\/categories?post=3014"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/linguagemprisma.br4.biz\/blog\/wp-json\/wp\/v2\/tags?post=3014"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}