Binários do OpenSSL no OS X

2

Eu tenho alguns clientes que baixam meu software. Para obter todos os benefícios, é necessário que o OpenSSL esteja instalado no sistema e aponte meu software para ele.

No entanto, o nível de habilidade do usuário pode variar muito. Mesmo apenas selecionando uma caixa de diálogo para escolher o diretório onde o openssl é colocado pode ser muito difícil para alguns, mas vou ter que resolver isso por auto detecção ou boa ajuda / manual.

Isso significa que eu prefiro não começar sugerindo gerenciadores de pacotes etc. e está fora de questão sugerir que eles compilem o código eles mesmos.

Existe algum lugar reconhecido onde binários openssl para osx (32 bits e 64 bits) podem ser baixados? Eu não encontrei nenhum ...

Para referência:

  • O OS X contém a versão 0.9.8, que é bastante antiga e, pelo menos, quebra a compatibilidade com as bibliotecas que eu uso, que assumem uma versão mais nova.
Tom
fonte
Eu deletei minha resposta, já que ela não é mais válida após sua edição. Openssl é distribuído apenas como código-fonte, portanto, não há distribuição binária padrão. Eu sugiro que você mantenha o seu próprio e apenas envie binários openssl com o seu software.
Mike Scott

Respostas:

0

Existe algum lugar reconhecido onde binários openssl para osx (32 bits e 64 bits) podem ser baixados? Eu não encontrei nenhum ...

O local padrão selecionado pelo OpenSSL em sistemas operacionais Unix e Unix é /usr/local/ssl. Arquivos de cabeçalho estão localizados em /usr/local/ssl/includee os arquivos da biblioteca estão localizados em /usr/local/ssl/lib. Veja também o INSTALL arquivo e Compilação e Instalação no wiki do OpenSSL.

No entanto, você adiciona uma ruga adicional: deseja o OpenSSL de 32 bits e 64 bits nesse local. Isso te move Binários Universais no OS X.

Para o OpenSSL, a biblioteca é não Universal Binary safe, e tecnicamente não é viável construir com múltiplas arquiteturas. Para o primeiro item, não Universal Binary safe, isso porque cada configuração do OpenSSL produz uma única <openssl/opensslconf.h>. Para o segundo item, tecnicamente não é viável, você não pode especificar -arch i386 -arch x86_64 porque causa uma falha de compilação devido à receita para construir os arquivos estáticos.

Ambos podem ser contornados, mas não tenho conhecimento de uma referência sobre o assunto. Eu trabalho de perto com as bibliotecas, então eu sei sobre os problemas e as correções. Eu estava conversando com alguns desenvolvedores do OpenSSL sobre como criar uma página wiki em binários universais para plataformas da Apple.

jww
fonte
0

A maneira de fazer tal binário universal é compilar para cada arquitectura separadamente. Então você pode mesclar os arquivos libray com a ferramenta lipo em um. Os arquivos de cabeçalho que são diferentes, você pode renomear esses arquivos.

Então você poderia ter o opensslconf_i386.h e o opensslconf_x86_64.he então ter um arquivo opensslconf.h que inclui apenas um ou outro, dependendo da arquitetura de compilação atual.

Andreas Fink
fonte