Good day!

I'm developing an application for MacOSX and want to use the OpenSSL library
(latest one - 0.9.8h) in it.
My application has MacOSX 10.4 as minimal target OS, but I'm developing on
10.5 (gcc 4.0)

While I was compiling the OpenSSL library, I had to change the CFLAG value
for darwin-i386-cc configuration by  adding "-mmacosx-version-min=10.4"
parameter. The compilation was OK, but I failed to link my application with
libcrypto.a -- the linker failed to find several symbols:

Undefined symbols:
"_fputs$UNIX2003", referenced from:
_write_string in libcrypto.a(ui_openssl.o)
_read_string in libcrypto.a(ui_openssl.o)
_read_string in libcrypto.a(ui_openssl.o)
_read_string in libcrypto.a(ui_openssl.o)
"_chmod$UNIX2003", referenced from:
_RAND_write_file in libcrypto.a(randfile.o)

The problem was caused by Crypto library defining macros _POSIX_C_SOURCE
(/crypto/ui/ui_openssl.c:125) and  _XOPEN_SOURCE
(/crypto/rand/randfile.c:60). These macros control the Unix2003 conformance
introduced in MacOSX 10.5  (more about it on
http://developer.apple.com/releasenotes/Darwin/SymbolVariantsRelNotes/index.
html).

Of course, if I comment the definitions of macros mentioned above,
everything works fine. But maybe this way I lose some functionality?

Can anyone tell me how to handle this issue correctly?

Best Regards,
Igor Lorents

______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
User Support Mailing List                    openssl-users@openssl.org
Automated List Manager                           [EMAIL PROTECTED]

Reply via email to