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 [email protected]
Automated List Manager [EMAIL PROTECTED]