mirror of
https://github.com/openssl/openssl.git
synced 2024-11-26 03:24:02 +08:00
ff3345cb72
PR: 375
65 lines
2.2 KiB
Plaintext
65 lines
2.2 KiB
Plaintext
* System libcrypto.dylib and libssl.dylib are used by system ld on MacOS X.
|
|
|
|
|
|
NOTE: The problem described here only applies when OpenSSL isn't built
|
|
with shared library support (i.e. without the "shared" configuration
|
|
option). If you build with shared library support, you will have no
|
|
problems as long as you set up DYLD_LIBRARY_PATH properly at all times.
|
|
|
|
|
|
This is really a misfeature in ld, which seems to look for .dylib libraries
|
|
along the whole library path before it bothers looking for .a libraries. This
|
|
means that -L switches won't matter unless OpenSSL is built with shared
|
|
library support.
|
|
|
|
The workaround may be to change the following lines in apps/Makefile.ssl and
|
|
test/Makefile.ssl:
|
|
|
|
LIBCRYPTO=-L.. -lcrypto
|
|
LIBSSL=-L.. -lssl
|
|
|
|
to:
|
|
|
|
LIBCRYPTO=../libcrypto.a
|
|
LIBSSL=../libssl.a
|
|
|
|
It's possible that something similar is needed for shared library support
|
|
as well. That hasn't been well tested yet.
|
|
|
|
|
|
Another solution that many seem to recommend is to move the libraries
|
|
/usr/lib/libcrypto.0.9.dylib, /usr/lib/libssl.0.9.dylib to a different
|
|
directory, build and install OpenSSL and anything that depends on your
|
|
build, then move libcrypto.0.9.dylib and libssl.0.9.dylib back to their
|
|
original places. Note that the version numbers on those two libraries
|
|
may differ on your machine.
|
|
|
|
|
|
As long as Apple doesn't fix the problem with ld, this problem building
|
|
OpenSSL will remain as is.
|
|
|
|
|
|
* Parallell make leads to errors
|
|
|
|
While running tests, running a parallell make is a bad idea. Many test
|
|
scripts use the same name for output and input files, which means different
|
|
will interfere with each other and lead to test failure.
|
|
|
|
The solution is simple for now: don't run parallell make when testing.
|
|
|
|
|
|
* Bugs in gcc 3.0 triggered
|
|
|
|
According to a problem report, there are bugs in gcc 3.0 that are
|
|
triggered by some of the code in OpenSSL, more specifically in
|
|
PEM_get_EVP_CIPHER_INFO(). The triggering code is the following:
|
|
|
|
header+=11;
|
|
if (*header != '4') return(0); header++;
|
|
if (*header != ',') return(0); header++;
|
|
|
|
What happens is that gcc might optimize a little too agressively, and
|
|
you end up with an extra incrementation when *header != '4'.
|
|
|
|
We recommend that you upgrade gcc to as high a 3.x version as you can.
|