Instalando/Utilizando o Protheus TOTVS em estações Linux 64 bits

A empresa onde trabalho passou a utilizar o sistema Protheus desenvolvido pela TOTVS, e com o fim do suporte e atualizações de segurança do Windows XP será necessário trocar o sistema operacional, visto que muitas máquinas são antigas e não vão rodar bem o Windows 7, Windows 8, Windows 8.1 ou Windows 10, dessa maneira serão migradas para alguma distribuição linux. Executei a instalação e testes do Protheus em uma estação com a distribuição Debian e descrevi os passsos abaixo.

Primeiramente é necessário acessar a área de download da TOTVS e fazer o download dos arquivos necessário, para isso acesse: https://suporte.totvs.com/download

Selecione a Linha “Protheus”, depois em “Filtrar” escolha TOTVS Binário, e depois clique no binário referente a sua versão, no meu caso 14-01-29-p11-binario_linux.rar

  [SOLVED] Ejabberd offline messages with wrong timestamp

totvs-download

Após isso será aberto uma tela com os detalhes, clique em “DOWNLOAD”.totvs-download2

Escolha a opção “Navegador Web”.

totvs-download3

Aguarde o fim do Download.

totvs-download4

Vamos criar uma pasta onde colocaremos os arquivos do Protheus:

mkdir /totvs
chmod 777 /totvs
cd /totvs

Vamos extrair o arquivo “14-01-29-P11-BINARIO_LINUX.RAR” e copiar os arquivos da pasta “14-01-29-P11-BINARIO_LINUX.RARsmartclientLinux” para a pasta /totvs e extraí-los:

tar xfvz smartclient.tar.z
tar xfvz printer.tar.gz

Depois executamos o comando ldd para verificar as dependências:

ldd ./smartclient
not a dynamic executable

O retorno “not a dynamic executable” indica que necessitamos fazer o download e instalação dos pacotes para execução de aplicativos 32bits, assim executamos o seguinte:

dpkg --add-architecture i386
apt-get update
apt-get install gcc-multilib
apt-get install ia32-libs

Verificamos novamente as dependências:

ldd ./smartclient
linux-gate.so.1 => (0xf7744000)
libSM.so.6 => not found
libICE.so.6 => not found
libXrender.so.1 => not found
libXext.so.6 => not found
libX11.so.6 => not found
libgthread-2.0.so.0 => not found
libglib-2.0.so.0 => not found
librt.so.1 => /lib32/librt.so.1 (0xf7728000)
libdl.so.2 => /lib32/libdl.so.2 (0xf7724000)
libpthread.so.0 => /lib32/libpthread.so.0 (0xf770b000)
libm.so.6 => /lib32/libm.so.6 (0xf76e4000)
libc.so.6 => /lib32/libc.so.6 (0xf7580000)
/lib/ld-linux.so.2 (0xf7745000)

Agora o sistema informa que está faltando a lib libglib2.0, vamos instalar ela:

apt-get install libglib2.0-0:i386

Verificamos novamente se ainda existe alguma dependência:

ldd ./smartclient
linux-gate.so.1 => (0xf76fc000)
libSM.so.6 => /usr/lib/i386-linux-gnu/libSM.so.6 (0xf76dd000)
libICE.so.6 => /usr/lib/i386-linux-gnu/libICE.so.6 (0xf76c4000)
libXrender.so.1 => /usr/lib/i386-linux-gnu/libXrender.so.1 (0xf76b9000)
libXext.so.6 => /usr/lib/i386-linux-gnu/libXext.so.6 (0xf76a7000)
libX11.so.6 => /usr/lib/i386-linux-gnu/libX11.so.6 (0xf756f000)
libgthread-2.0.so.0 => /usr/lib/i386-linux-gnu/libgthread-2.0.so.0 (0xf756c000)
libglib-2.0.so.0 => /lib/i386-linux-gnu/libglib-2.0.so.0 (0xf746f000)
librt.so.1 => /lib/i386-linux-gnu/i686/cmov/librt.so.1 (0xf7465000)
libdl.so.2 => /lib/i386-linux-gnu/i686/cmov/libdl.so.2 (0xf7461000)
libpthread.so.0 => /lib/i386-linux-gnu/i686/cmov/libpthread.so.0 (0xf7448000)
libm.so.6 => /lib/i386-linux-gnu/i686/cmov/libm.so.6 (0xf7422000)
libc.so.6 => /lib/i386-linux-gnu/i686/cmov/libc.so.6 (0xf72be000)
libuuid.so.1 => /lib/i386-linux-gnu/libuuid.so.1 (0xf72b7000)
libxcb.so.1 => /usr/lib/i386-linux-gnu/libxcb.so.1 (0xf7294000)
libpcre.so.3 => /lib/i386-linux-gnu/libpcre.so.3 (0xf7256000)
/lib/ld-linux.so.2 (0xf76fd000)
libXau.so.6 => /usr/lib/i386-linux-gnu/libXau.so.6 (0xf7253000)
libXdmcp.so.6 => /usr/lib/i386-linux-gnu/libXdmcp.so.6 (0xf724d000)

Como o sistema não retornou mais nenhum erro é só executar ./smartclient no terminal ou criarmos uma entrada para ele no menu, usando a ferramenta alacarte do gnome, por exemplo.