Как мне собрать OpenSSL как 32-битный (i386) на Mac OS X? - PullRequest
12 голосов
/ 03 ноября 2010

Я скачал исходники OpenSSL и выполнил трилогию config, make, sudo make install.

Затем я построил свой проект, соединив в libcrypto.a и libssl.a, но получил:

ld: warning: in /usr/local/ssl/lib/libcrypto.a, file was built for unsupported file format which is not the architecture being linked (x86_64)
ld: warning: in /usr/local/ssl/lib/libssl.a, file was built for unsupported file format which is not the architecture being linked (x86_64)

Я почти уверен, что хочу пересобрать OpenSSL как 32-битный (i386), потому что (по причинам, не относящимся к этому вопросу) мой проект должен быть 32-битным.

Как мне собрать OpenSSL как 32-битную версию на Mac OS X? (Я ничего не видел в файле "INSTALL".)

Ответы [ 2 ]

21 голосов
/ 03 ноября 2010
$ curl https://www.openssl.org/source/openssl-1.0.0a.tar.gz | tar xz
$ cd openssl-1.0.0a
$ export CFLAGS="-arch i386"
$ export LDFLAGS="-arch i386"
$ ./config
$ make
$ lipo -info libssl.a
input file libssl.a is not a fat file
Non-fat file: libssl.a is architecture: i386
$ lipo -info libcrypto.a
input file libcrypto.a is not a fat file
Non-fat file: libcrypto.a is architecture: i386
1 голос
/ 07 января 2016

Если кто-то ищет решение для создания динамических библиотек, вот как это сделать:

tar -xvzf <openssl gz file>
./Configure darwin-i386-cc -shared 
make

Для 64 бит, запустить

./Configure darwin64-x86_64-cc -shared
make
...