Olá a todos,
Estou com um desafio ao tentar executar uma aplicação .NET 8 com Aspose.OCR em um contêiner Docker.
Nossa equipe tem uma forte preferência por usar imagens Alpine (mcr.microsoft.com/dotnet/aspnet:8.0-alpine
) para manter o tamanho final das imagens reduzido.
Ao executar o OCR, encontramos uma System.TypeInitializationException
(DllNotFoundException
para onnxruntime
). O erro específico é __vsnprintf_chk: symbol not found
, o que indica a conhecida incompatibilidade entre bibliotecas nativas compiladas para glibc
e o ambiente musl
do Alpine.
Já estou ciente de que a instalação de uma camada de compatibilidade glibc
completa poderia resolver o problema, mas estamos procurando uma solução mais limpa e direta, se possível.
Minha pergunta é: Qual é a abordagem recomendada pela comunidade ou pela Aspose para este cenário?
-
Existe alguma forma de fazer o Aspose.OCR funcionar de forma confiável no Alpine sem a necessidade de instalar a glibc
completa?
-
A Aspose oferece uma versão da dependência onnxruntime
compatível com musl
?
-
Ou, apesar da nossa preferência, a única solução robusta e garantida é migrar para uma imagem baseada em Debian (como mcr.microsoft.com/dotnet/aspnet:8.0
)?
Agradeço antecipadamente por qualquer orientação.
@governanca.brasil
Olá!
Entendo que você está enfrentando dificuldades ao usar o Aspose.OCR em um contêiner Docker baseado em Alpine, especialmente devido à incompatibilidade com a biblioteca onnxruntime
. Aqui estão algumas considerações e sugestões:
-
Compatibilidade com Alpine: O Aspose.OCR e suas dependências, como onnxruntime
, não são oficialmente suportados em ambientes musl
, como o Alpine. A instalação de uma camada de compatibilidade glibc
é uma solução comum, mas pode não ser a mais adequada para todos os casos.
-
Versão compatível: Atualmente, não há informações sobre uma versão do onnxruntime
que funcione corretamente em musl
. A maioria das bibliotecas nativas é compilada para glibc
, o que pode causar problemas de compatibilidade.
-
Alternativa de imagem: A solução mais recomendada seria migrar para uma imagem baseada em Debian, como mcr.microsoft.com/dotnet/aspnet:8.0
. Isso garantirá que todas as dependências nativas funcionem corretamente sem a necessidade de ajustes adicionais.
Se precisar de mais informações ou orientações sobre como proceder, sinta-se à vontade para perguntar!
@governanca.brasil
Infelizmente, o Aspose.OCR para .NET não oferece suporte ao Alpine, pois não existem builds preparados do ONNXRuntime para Alpine, e o Aspose.OCR depende dele. No entanto, registramos um ticket de investigação como OCRNET-1110 em nosso sistema de rastreamento de problemas para análise adicional. Vamos verificar se é possível implementar alguma solução alternativa, mas não podemos prometer nada por enquanto. Informaremos você através deste tópico do fórum assim que tivermos atualizações sobre isso.