Concerning the error
dyld: lazy symbol binding failed: Symbol not found: _EVP_idea_cbc
Referenced from: /sw/lib/libssl.0.9.7.dylib
Expected in: /usr/lib/libcrypto.0.9.7.dylib
which has been blamed on gnome-vfs2-ssl:
I have now made a minimal example that shows that this is not the case.
The problem is that Tiger's dyld happily searches
/usr/lib/libcrypto.0.9.7.dylib when this is loaded instead of
/sw/lib/libcrypto.0.9.7.dylib, although the latter is in the dependency
list of /sw/lib/libssl.0.9.7.dylib.
Loading /usr/lib/libcrypto.0.9.7.dylib happens whenever
ApplicationsServices.framework is loaded, for example from Apple's
/usr/X11R6/lib/libfreetype.6.dylib or, in the case of the gome libs,
from libgdk-x11-2.0.dylib.
Here is the example:
% cat cryp.c
#include <stdio.h>
#include <openssl/ssl.h>
int main()
{
printf("Program starts here\n===\n");
SSL_library_init();
printf("Finished successfully\n");
}
Now compile this once with
gcc -o goodcryp cryp.c -I/sw/include -L/sw/lib -lssl
and a second time with
gcc -o badcryp -I/sw/include -framework ApplicationServices -L/sw/lib -lssl
The first one runs OK, the second one gives the _EVP_idea_cbc error.
My conclusion is that if we want to maintain our own libssl.*.dylib, we
need to link it *statically* against libcrypto. This is very easy, it is
in fact already done for the binaries in the openssl097 package.
--
Martin
-------------------------------------------------------
This SF.Net email is sponsored by Yahoo.
Introducing Yahoo! Search Developer Network - Create apps using Yahoo!
Search APIs Find out how you can build Yahoo! directly into your own
Applications - visit http://developer.yahoo.net/?fr=offad-ysdn-ostg-q22005
_______________________________________________
Fink-devel mailing list
Fink-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/fink-devel