Ir para conteúdo
  • Cadastre-se

dev botao

ACBrLib linux


Ver Solução Respondido por Daniel InfoCotidiano,

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 para o comentário
Compartilhar em outros 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 para o comentário
Compartilhar em outros 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 para o comentário
Compartilhar em outros 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 para o comentário
Compartilhar em outros 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 para o comentário
Compartilhar em outros 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 para o comentário
Compartilhar em outros 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 para o comentário
Compartilhar em outros 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_Black-02.png
 

 

Link para o comentário
Compartilhar em outros sites

  • 1 mês depois ...
  • 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 para o comentário
Compartilhar em outros 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 para o comentário
Compartilhar em outros 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 para o comentário
Compartilhar em outros sites

  • Membros Pro

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.

Editado por Gandalf
Link para o comentário
Compartilhar em outros 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

  • Curtir 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 para o comentário
Compartilhar em outros 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 para o comentário
Compartilhar em outros 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 para o comentário
Compartilhar em outros sites

  • Consultores
3 horas atrás, Gandalf disse:

Daniel, mandei a api em anexo por aqui mesmo pra ti. Conseguiste receber?

assim q concluido ou tiver duvidas ja te chamo

 

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 para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.

The popup will be closed in 10 segundos...
The popup will be closed in 10 segundos...