2

У меня есть клиенты, которые скачивают мое программное обеспечение. чтобы получить полную выгоду, им нужно установить OpenSSL в системе и указать на это мое программное обеспечение.

Тем не менее, уровень квалификации пользователя может сильно различаться. Даже простой выбор диалогового окна для выбора каталога, в котором находится openssl, может быть слишком сложным для некоторых, но мне придется решать это либо с помощью автоматического определения, либо с помощью хорошей справки / руководства.

Это означает, что я предпочитаю не начинать предлагать менеджеры пакетов и т.д., И не может быть и речи о том, чтобы они сами компилировали код.

Есть ли какое-нибудь общепризнанное место, где можно скачать бинарные файлы openssl для osx (32-битные и 64-битные)? Я не нашел ни одного ...

Для справки:

  • OS X содержит версию 0.9.8, которая является довольно старой + как минимум нарушает совместимость с библиотеками, которые я использую, которые предполагают более новую версию.

2 ответа2

0

Способ сделать такой универсальный двоичный файл состоит в том, чтобы скомпилировать для каждой архитектуры отдельно. Затем вы можете объединить файлы libray с помощью инструмента lipo в один. Заголовочные файлы, которые отличаются, вы можете переименовать эти файлы.

Таким образом, вы можете иметь opensslconf_i386.h и opensslconf_x86_64.h, а затем иметь opensslconf.h, который включает только один или другой, в зависимости от текущей архитектуры компиляции.

0

Есть ли какое-нибудь общепризнанное место, где можно скачать бинарные файлы openssl для osx (32-битные и 64-битные)? Я не нашел ни одного ...

Стандартным местоположением, выбранным OpenSSL в Unix и Unix-подобных операционных системах, является /usr/local/ssl . Заголовочные файлы находятся в /usr/local/ssl/include , а библиотечные файлы находятся в /usr/local/ssl/lib . Также смотрите файл INSTALL и Компиляция и установка в OpenSSL вики.

Однако вы добавляете дополнительную складку: вам нужен как 32-битный, так и 64-битный OpenSSL в этом месте. Это переместит вас в Universal Binaries на OS X.

Для OpenSSL библиотека не является универсальной бинарной безопасностью, и ее технически невозможно построить с несколькими архитектурами. Для первого элемента, а не для универсального бинарного сейфа, это потому, что каждая конфигурация OpenSSL создает уникальный <openssl/opensslconf.h> . Для второго элемента, технически неосуществимого, вы не можете указать -arch i386 -arch x86_64 потому что это вызывает сбой компиляции из-за рецепта для создания статических архивов.

И то и другое можно обойти, но я не знаю ссылки на эту тему. Я тесно сотрудничаю с библиотеками, поэтому я случайно узнал о проблемах и исправлениях. Я только что говорил с некоторыми разработчиками OpenSSL о создании вики-страницы на Universal Binaries для платформ Apple.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .