Passo 1: Instalar o GnuCOBOL
1.1. Baixe o GnuCOBOL
Do seu browser, acesse a página oficial do GnuCOBOL, em gnucobol.sourceforge.io. A primeira tela do site é essa que aparece aí embaixo:
Clique no botão azul mais à direita para baixar o compilador para o MacOS. Você será redirecionado para a página de download. Clique no botão “Download Latest Version (3.1.1)“:
O download começará automaticamente em alguns segundos…
Quando o download terminar, aparecerá uma tela agradecendo por você ter baixado o compilador. Nessa tela você pode se registrar para receber informações atualizadas sobre o projeto GnuCOBOL.
O arquivo gnucobol-3.1.1.tar.xz é um tarball que contém tudo o que você precisa para instalar o compilador na sua máquina. Ele estará disponível na sua pasta de Downloads:
1.2. Descompacte o compilador
Para instalar o compilador será necessário descompactar o tarball em um diretório temporário e depois executar alguns comandos no Terminal do Mac.
Para acessar o Terminal, pressione command+space, digite Terminal no campo de pesquisa e clique no app que aparecerá logo abaixo da caixa de texto:
Agora que estamos no Terminal, digite os comandos abaixo para entrar no diretório de Downloads e descompactar o tarball. Lembre-se de substituir a expressão “{seuNome}” pelo seu nome de usuário no equipamento:
cd /Users/{seuNome}/Downloads
tar -xvf gnucobol-3.1.1.tar.xz
Usando o comando ls, podemos ver que agora existe o arquivo tar que baixamos do site, e um diretório onde estão os componentes do compilador:
ls -ld gnu*
drwxr-xr-x@ 52 pauloandre staff 1768 Dec 28 12:16 gnucobol-3.1.1
-rw-r--r--@ 1 pauloandre staff 2183540 Dec 21 12:46 gnucobol-3.1.1.tar.xz
Vamos entrar nesse diretório e ver que componentes são esses:
cd gnucobol-3.1.1
ls -l
total 3992
-rw-r--r--@ 1 pauloandre staff 94013 Dec 8 20:40 ABOUT-NLS
-rw-r--r--@ 1 pauloandre staff 490 Dec 8 20:40 AUTHORS
-rw-r--r--@ 1 pauloandre staff 35149 Dec 8 20:40 COPYING
-rw-r--r--@ 1 pauloandre staff 22964 Dec 8 20:40 COPYING.DOC
-rw-r--r--@ 1 pauloandre staff 7652 Dec 8 20:40 COPYING.LESSER
-rw-r--r--@ 1 pauloandre staff 40850 Dec 8 20:40 ChangeLog
-rw-r--r--@ 1 pauloandre staff 4251 Dec 8 20:40 DEPENDENCIES
-rw-r--r--@ 1 pauloandre staff 3888 Dec 8 20:40 DEPENDENCIES.md
-rw-r--r--@ 1 pauloandre staff 2721 Dec 8 20:40 HACKING
-rw-r--r--@ 1 pauloandre staff 15756 Dec 8 20:40 INSTALL
-rw-r--r-- 1 pauloandre staff 43000 Dec 21 13:01 Makefile
-rw-r--r--@ 1 pauloandre staff 4579 Dec 8 20:40 Makefile.am
-rw-r--r--@ 1 pauloandre staff 44430 Dec 8 20:56 Makefile.in
-rw-r--r--@ 1 pauloandre staff 35841 Dec 8 20:40 NEWS
-rw-r--r--@ 1 pauloandre staff 6681 Dec 8 20:40 README
-rw-r--r--@ 1 pauloandre staff 4895 Dec 8 20:40 README.md
-rw-r--r--@ 1 pauloandre staff 1553 Dec 8 20:40 THANKS
-rw-r--r--@ 1 pauloandre staff 2189 Dec 8 20:40 TODO
-rw-r--r--@ 1 pauloandre staff 43257 Dec 8 20:56 aclocal.m4
-rw-r--r--@ 1 pauloandre staff 6748 Dec 8 20:41 aminclude_static.am
-rwxr-xr-x@ 1 pauloandre staff 1389 Dec 8 20:40 autogen.sh
drwxr-xr-x@ 15 pauloandre staff 510 Dec 21 13:04 bin
drwxr-xr-x@ 19 pauloandre staff 646 Dec 8 20:56 build_aux
drwxr-xr-x@ 51 pauloandre staff 1734 Dec 21 13:04 cobc
drwxr-xr-x@ 38 pauloandre staff 1292 Dec 21 13:01 config
-rw-r--r-- 1 pauloandre staff 14158 Dec 21 13:01 config.h
-rw-r--r--@ 1 pauloandre staff 12885 Dec 8 20:56 config.h.in
-rw-r--r-- 1 pauloandre staff 235425 Dec 21 13:01 config.log
-rwxr-xr-x 1 pauloandre staff 78037 Dec 21 13:01 config.status
-rwxr-xr-x@ 1 pauloandre staff 715841 Dec 8 20:56 configure
-rw-r--r--@ 1 pauloandre staff 69237 Dec 8 20:40 configure.ac
drwxr-xr-x@ 11 pauloandre staff 374 Dec 21 13:01 copy
drwxr-xr-x@ 24 pauloandre staff 816 Dec 21 13:01 doc
drwxr-xr-x@ 8 pauloandre staff 272 Dec 21 13:04 extras
-rw-r--r--@ 1 pauloandre staff 2010 Dec 8 20:40 gnucobol.spec
drwxr-xr-x@ 13 pauloandre staff 442 Dec 21 13:04 lib
drwxr-xr-x@ 51 pauloandre staff 1734 Dec 21 13:04 libcob
-rw-r--r--@ 1 pauloandre staff 1005 Dec 8 20:40 libcob.h
-rwxr-xr-x 1 pauloandre staff 343049 Dec 21 13:01 libtool
drwxr-xr-x@ 27 pauloandre staff 918 Dec 8 20:56 m4
-rw-r--r-- 1 pauloandre staff 13871 Dec 21 13:03 output.configure.txt
-rw-r--r-- 1 pauloandre staff 4218 Dec 21 13:06 output.make.install.txt
-rw-r--r-- 1 pauloandre staff 26353 Dec 21 13:10 output.make.test.txt
-rw-r--r-- 1 pauloandre staff 15223 Dec 21 13:05 output.make.txt
-rw-r--r-- 1 pauloandre staff 11615 Dec 21 13:03 output.tar.txt
drwxr-xr-x@ 42 pauloandre staff 1428 Dec 21 13:01 po
-rwxr-xr-x 1 pauloandre staff 2782 Dec 21 13:01 pre-inst-env
-rw-r--r-- 1 pauloandre staff 23 Dec 21 13:01 stamp-h1
-rw-r--r--@ 1 pauloandre staff 117 Dec 8 20:56 tarstamp.h
drwxr-xr-x@ 19 pauloandre staff 646 Dec 21 13:01 tests
1.3. Instale o compilador
Ainda no diretório /Users/{seuNome}/Downloads/gnucobol-3.1.1, precisamos executar três comandos para gerar e instalar o GnuCOBOL na sua máquina.
O comando ./configure é usado para verificar a integridade do pacote e estabelecer alguns parâmetros de instalação. Na imagem abaixo vemos algumas das primeiras e das últimas linhas exibidas após o comando:
./configure
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... build_aux/install-sh -c -d
checking for gawk... no
checking for mawk... no
checking for nawk... no
checking for awk... awk
(...)
configure: COB_STRIP_CMD strip -x
configure: Dynamic loading: System
configure: Use gettext for international messages: no
configure: Use fcntl for file locking: yes
configure: Use math multiple precision library: gmp
configure: Use curses library for screen I/O: ncurses
configure: Use Berkeley DB for INDEXED I/O: yes
configure: Used for XML I/O: libxml2
configure: JSON I/O (no handler found): NO
Em seguida executamos o comando make para gerar as bibliotecas do GnuCOBOL. De novo, a tela abaixo mostra apenas algumas das primeiras e das últimas linhas exibidas durante a execução desse comando:
make
make all-recursive
Making all in .
make[2]: Nothing to be done for `all-am'.
Making all in lib
(...)
"CBL_OC_DUMP.dylib"
"CBL_OC_DUMP.cob" || \
"../pre-inst-env" cobc -m -Wall -vv -o "CBL_OC_DUMP.dylib"
"CBL_OC_DUMP.cob")
Making all in doc
make all-am
make[3]: Nothing to be done for `all-am'.
Making all in tests
Making all in cobol85
make[3]: Nothing to be done for `all'.
make[3]: Nothing to be done for `all-am'.
O último comando, make install, é quem vai efetivamente instalar o GnuCOBOL na sua máquina:
make install
Making install in .
make[2]: Nothing to be done for `install-exec-am'.
build_aux/install-sh -c -d '/usr/local/include'
/usr/bin/install -c -m 644 libcob.h '/usr/local/include'
Making install in lib
make[2]: Nothing to be done for `install-exec-am'.
make[2]: Nothing to be done for `install-data-am'.
(...)
Making install in tests
Making install in cobol85
make[3]: Nothing to be done for `install-exec-am'.
make[3]: Nothing to be done for `install-data-am'.
make[3]: Nothing to be done for `install-exec-am'.
make[3]: Nothing to be done for `install-data-am'.
1.4. Teste o compilador (opcional)
O GnuCOBOL vem com uma suíte de testes baseados no NIST, e que tem por objetivo avaliar a aderência de qualquer compilador COBOL aos diversos padrões que surgiram ao longo do tempo.
A execução desta suíte é totalmente opcional, mas recomendável se você quer alguma garantia de que conseguirá usar todos os recursos da linguagem.
Para processar essa suíte, usamos o comando make test, que vai compilar e executar aproximadamente 400 programas que testam cerca de 9.700 funcionalidades do padrão ANS 85:
make test
make all-recursive
Making all in .
(...)
cobc -std=cobol85 -x -debug IX218A.CBL && ./IX218A
cobc -std=cobol85 -x -debug IX301M.CBL
cobc -std=cobol85 -x -debug IX302M.CBL && ./IX302M
cobc -std=cobol85 -x -debug IX401M.CBL
Comparing test results for module directory IX
make diff-summary
make summary.log
Computing total test results...
Total executed programs : 426 - Total performed tests : 9748
Comparing total test results...
diff summary.txt...
Done
1.5. Verifique a instalação
Neste momento, o GnuCOBOL deve estar instalado e totalmente funcional em seu equipamento. Você pode conferir isso chamando o utilitário de compilação com a opção –version. Ela faz com que o compilador exiba, por exemplo, o número da versão corrente e a data em que essa release do foi empacotada pela equipe do projeto:
cobc --version
cobc (GnuCOBOL) 3.1.1.0
Copyright (C) 2020 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Written by Keisuke Nishida, Roger While, Ron Norman, Simon Sobisch, Edward Hart
Built Dec 21 2020 13:04:18
Packaged Dec 08 2020 22:56:13 UTC
C version "4.2.1 Compatible Apple LLVM 9.0.0 (clang-900.0.39.2)"
1.5. Próximo passo
Se tudo deu certo até aqui, você está pronto para iniciar a instalação do do VSCode.
bom dia tentei instalar 3 vezes no meu mac e no passo do make …ele não executa aparece como not found
Voce colocou os caminhos no Path?