Jump to content

dev botao

ACBrLib linux


Gandalf
Go to solution Solved by Daniel InfoCotidiano,
  • Este tópico foi criado há 174 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

  • Membros Pro

Boa tarde,

Eu preciso saber onde colocar e quais são as dependências do ACBrLibNFe para linux. Eu já estou usando normalmente para windows (servidor web) e funciona. Agora migrei para o azure e estou usando um plano de serviço do linux e estou recebendo a mensagem de que não foi possível carregar a biblioteca. Estou usando o mesmo procedimento do windows, na pasta raiz criei uma pasta  "ACBrLib" e dentro dela as respectivas pastas x64 ou x86, onde coloquei as bibliotecas de dependência (coloquei as mesmas do windows) e a biblioteca correspondente do linux libacbrnfe64.so. Preciso usar outras bibliotecas de dependência, quando o ambiente é linux? Preciso colocar os arquivos em outra pasta?

Att

Társis Francke Ferreira

Link to comment
Share on other sites

  • Consultores
  • Solution

Bom dia @Gandalf
Aqui neste link tem como distribuir no linux, o que vc vai precisar e onde salvar:
https://acbr.sourceforge.io/ACBrLib/ComoInstalarDistribuir.html

 

Consultor SAC ACBr

Daniel de Morais (Infocotidiano)
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Link to comment
Share on other sites

  • Membros Pro

Obrigado pela resposta Daniel, mas aquilo se aplica para quem está instalando diretamente em uma máquina linux. No meu caso, eu estou usando um app service do linux no azure. Eu não tenho acesso direto a essas pastas. Eu vi aqui no fórum uma postagem de um membro que havia conseguido fazer com o ACBrBoleto, mas ainda não ficou claro para mim como. Qualquer ajudar será muito bem vinda.

Obrigado

 

Társis

Link to comment
Share on other sites

  • Membros Pro

Já tenho trabalhado com o linux no azure há algum tempo. Já migrei todas as minhas api's para o linux no azure sem nenhum problema e estão rodando normalmente. Somente no caso da ACBrLib é que empaquei. Em máquinas linux propriamente (permissões, instalação, comandos) eu sou realmente cru. Sim, eu vi essa postagem. Já dá um alento saber que é possível, mas não tem os passos para executar. Poderiam dar uma luz?

Obrigado

 

Társis

Link to comment
Share on other sites

  • Membros Pro
56 minutos atrás, Juliomar Marchetti disse:

tu já trabalha com linux e azure ou é a primeira vez?

Com Linux especificamente faz muito tempo que não mexo, até porque o app service abstrai isso. Mas tive que relembrar algumas coisas do meu cursinho da conectiva...

Com o Azure em si já faz uns 4 anos, estamos migrando os sistemas para Web.

Link to comment
Share on other sites

  • Membros Pro

Pois é justamente aí que a coisa está pegando. Como tu disseste, o app service abstrai praticamente tudo. Somente em casos muito específicos, como esse, é que surge essa dificuldade.

Link to comment
Share on other sites

  • Membros Pro
20 minutos atrás, Gandalf disse:

Seria mais fácil implantar com docker/container?

Eu acho que é um ambiente mais controlável mas tem a curva de aprendizado do Docker e sua distribuição.

A parte de fazer a lib funcionar vai ser exatamente igual, vai precisar dos mesmos arquivos e dependências.

O que me fez pensar no Docker foi a possibilidade ou não de instalar as dependências no Azure mas como isso foi resolvido não houve necessidade. De qualquer forma vou estudar e testar com o Docker, vai que uma hora precisa.

Link to comment
Share on other sites

  • Moderadores
1 hora atrás, Gandalf disse:

Já tenho trabalhado com o linux no azure há algum tempo. Já migrei todas as minhas api's para o linux no azure sem nenhum problema e estão rodando normalmente. Somente no caso da ACBrLib é que empaquei. Em máquinas linux propriamente (permissões, instalação, comandos) eu sou realmente cru. Sim, eu vi essa postagem. Já dá um alento saber que é possível, mas não tem os passos para executar. Poderiam dar uma luz?

Obrigado

 

Társis

Bom primeiro de tudo é necessário o dominio do cenário. no caso o linux senão vai ficar correndo em voltas sem chegar no lugar desejado.

Docker sim seria o melhor caminho pois já estaria empacotado com as dependencias.

Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Transparent-02.png
 

 

Link to comment
Share on other sites

  • 1 month later...
  • Membros Pro

Bom dia,

Optei por usar conteiners com o docker file a seguir são os passos que tomei,

Copiei para a pasta /app/ACBrLib/x64 o arquivo libacbrnfe64.so (debuguei nos fontes do acbrlib e ele está buscando na pasta certa)

- Instalei as seguintes dependências: RUN apt-get update \
    && apt-get install -y \
       openssl \
       libxml2 \
       libxslt1.1 \
       libcurl4 \
       libssl-dev \
       uuid-dev \
       libudev-dev \
       gcc \
       g++ \
       make \
    && rm -rf /var/lib/apt/lists/*

- copiei as dependências também para RUN apt-get download \
       libxml2 \
       libxslt1.1 \
       libcurl4 \
       libssl-dev \
       uuid-dev \
       libudev-dev \
    && mv *.deb /usr/lib64

Mas continuo recebendo a mensagem "Não foi possivel carregar a biblioteca.". Existe alguma outra dependência que eu não estou carregando?

Link to comment
Share on other sites

  • Consultores
1 hora atrás, Gandalf disse:

Copiei para a pasta /app/ACBrLib/x64 o arquivo libacbrnfe64.so (debuguei nos fontes do acbrlib e ele está buscando na pasta certa)

no linux eu salvo a dll para /usr/lib64 ou /lib64
ele chega a criar o arquivo log?
Log segue um padrao (no caso abaixo para lib de boleto), procure no hd linux se e ele nao gerou em outra pasta.

image.png

Consultor SAC ACBr

Daniel de Morais (Infocotidiano)
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Link to comment
Share on other sites

  • Membros Pro

Olá Daniel,

eu coloquei a dll na pasta /usr/lib64 mas com o mesmo resultado. Acho estranho que pudesse ser isso, porque a acbrlib está procurando a dll na pasta /app/ACBrLib/x64.

Ele não parece ter gerado outra pasta. Na pasta da ACBrLib deve ter algum outro arquivo além da libacbrnfe64.so? Eu deixei lá as outras dependências (.dll), mas as que vem com a ACBrLib. Tem de ter ali alguma outra biblioteca do linux?

Link to comment
Share on other sites

  • Membros Pro
Posted (edited)

Pode ser algum problema com a versão das bibliotecas do linux que eu estou baixando? Eu vi em outro tópico que é necessária a openssl 1.1.1 e eu creio que não é essa que está sendo baixada. Se possível, passar a lista das bibliotecas que eu preciso instalar no meu conteiner e também quais arquivos eu tenho de colocar em alguma outra pasta. Eu não uso arquivos .ini, o erro ocorre quando eu dou o comando ACBrNFe ACBrNFe = new("[Memory]");

No windows funciona perfeitamente.

Edited by Gandalf
Link to comment
Share on other sites

  • Consultores

nao consegue criar um demo, so p q eu possa executar aqui em meu ambiente.
Só uma correção qdo falei q salvo a DLL da biblioteca na pasta /usr/lib64 é a biblioteca para linux, ou seja, acbrlibnfe.so (.SO) e nao DLL

  • Like 1
Consultor SAC ACBr

Daniel de Morais (Infocotidiano)
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Link to comment
Share on other sites

  • Membros Pro

Sim, eu compreendi que era acbrlibnfe.so. Eu posso te mandar a minha api, com o dockerfile. Tu trabalhas com o docker aí? Porque, provavelmente, eu estou colocando os arquivos em alguma pasta errada ou não estou copiando para o conteiner algum arquivo necessário.

Link to comment
Share on other sites

  • Consultores

Bom dia !
Não tenho docker, mas posso instalar.
Para não ficar exposto aqui no forum sua api, mande as instruções via email [email protected]
no corpo da msg favor colar  o link desta postagem

Consultor SAC ACBr

Daniel de Morais (Infocotidiano)
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Link to comment
Share on other sites

  • Membros Pro

Daniel, estou tentando mandar os arquivos zipados (ficou em 259k) mas o email destinatário está recusando. De qual outra forma posso mandar?

Link to comment
Share on other sites

  • Consultores

Estou testando em meu ambiente o que vc me enviou.
subi o container, acessei ele via terminal para ver as configurações básicas.
Vi que esta instalado Debian 12 é uma das distros mais top, mas ela é chata, tem q dominar um pouco o linux; ao contrário de um Ubuntu Server (que é derivado do Debian) ele nos oferece recursos já pré configurado na instalação.
Não é como Debian que vc tem q ficar instalando n pacotes de rede p ver as configurações.
um sugestão se esta iniciando com linux, usar uma distro amigável, se ja conhece, vai de Debian mesmo.
Dentro da pasta ACBrLib/x64 está a biblioteca libacbrnfe64.so, mas vc deve copiar ela para /usr/lib64 igual manual q mandei o lib anteriormente.
No linux não usamos DLL como no windows, então temos que instalar exemplo openssl (clique aqui p manual de instalação) . (No caso do ubuntu ele já vem com openssl e xml2)


image.png

Solicitei a senha de root no privado para que possa instalar algumas dependencias e instruções de comandos para teste da sua api.
 

Consultor SAC ACBr

Daniel de Morais (Infocotidiano)
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Link to comment
Share on other sites

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.