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.
Respostas:
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/include
e os arquivos da biblioteca estão localizados em/usr/local/ssl/lib
. Veja também oINSTALL
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.
fonte
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.
fonte