In message <[EMAIL PROTECTED]> on Fri, 15 Nov 2002 13:23:57 +0100, Corinna Vinschen <[EMAIL PROTECTED]> said:
vinschen> First, there's a build problem which only affects Windows systems due vinschen> to the way DLLs are searched for. In contrast to Unixy systems, shared vinschen> libs are search in $PATH. Therefore I propose the following patch to vinschen> test/Makefile: Ah, thanks, I'll fix that (but only for Cygwin. I don't want library directories to be added to $PATH on a normal Unix system). vinschen> vinschen> --- test/Makefile.ssl.orig 2002-11-15 12:20:59.000000000 +0100 vinschen> +++ test/Makefile.ssl 2002-11-15 12:15:52.000000000 +0100 vinschen> @@ -118,8 +118,8 @@ tests: exe apps $(TESTS) vinschen> apps: vinschen> @(cd ..; $(MAKE) DIRS=apps all) vinschen> vinschen> -SET_SO_PATHS=LIBPATH="`cd ..; pwd`"; LD_LIBRARY_PATH=$$LIBPATH; DYLD_LIBRARY_PATH=$$LIBPATH; SHLIB_PATH=$$LIBPATH; \ vinschen> - export LD_LIBRARY_PATH DYLD_LIBRARY_PATH SHLIB_PATH LIBPATH vinschen> +SET_SO_PATHS=LIBPATH="`cd ..; pwd`"; LD_LIBRARY_PATH=$$LIBPATH; DYLD_LIBRARY_PATH=$$LIBPATH; SHLIB_PATH=$$LIBPATH; PATH="$$LIBPATH:$$PATH" \ vinschen> + export LD_LIBRARY_PATH DYLD_LIBRARY_PATH SHLIB_PATH LIBPATH PATH You're missing a ; just before export... vinschen> vinschen> alltests: \ vinschen> test_des test_idea test_sha test_md4 test_md5 test_hmac \ vinschen> vinschen> vinschen> But there's still another problem left then. Three applications die vinschen> with access violations, openssl, rc4test and bltest. vinschen> vinschen> What I did then was, to build everything again. But before, I vinschen> removed my /usr/include/openssl directory which is (obviously) the vinschen> directory present from a 0.9.6 installation. vinschen> vinschen> Now everything worked fine. That means, the problem here is that vinschen> gcc (JFYI, Cygwin is now on version 3.2) searches the system include vinschen> paths before searching the paths given with -I on the command line, vinschen> iff the includes are bracketed using <...> instead of "...". vinschen> vinschen> I can see two possible solutions to circumvent the problem: vinschen> vinschen> Either prepend -I. -I- to all other -I options like vinschen> vinschen> gcc -I. -I- -I.. -I../include vinschen> vinschen> according to the gcc documentation: vinschen> vinschen> `-I-' vinschen> Split the include path. Any directories specified with `-I' vinschen> options before `-I-' are searched only for headers requested with vinschen> `#include "FILE"'; they are not searched for `#include <FILE>'. vinschen> If additional directories are specified with `-I' options after vinschen> the `-I-', those directories are searched for all `#include' vinschen> directives. vinschen> vinschen> In addition, `-I-' inhibits the use of the directory of the current vinschen> file directory as the first search directory for `#include "FILE"'. vinschen> vinschen> or change all vinschen> vinschen> #include <openssl/...> vinschen> vinschen> to vinschen> vinschen> #include "openssl/..." I don't think that analysis is correct. This is what the info for gcc-3.2 has to say: `-IDIR' Add the directory DIR to the head of the list of directories to be searched for header files. This can be used to override a system header file, substituting your own version, since these directories are searched before the system header file directories. However, you should not use this option to add directories that contain vendor-supplied system header files (use `-isystem' for that). If you use more than one `-I' option, the directories are scanned in left-to-right order; the standard system directories come after. If a standard system include directory, or a directory specified with `-isystem', is also specified with `-I', the `-I' option will be ignored. The directory will still be searched but as a system directory at its normal position in the system include chain. This is to ensure that GCC's procedure to fix buggy system headers and the ordering for the include_next directive are not inadvertantly changed. If you really need to change the search order for system directories, use the `-nostdinc' and/or `-isystem' options. However, since you $PATH might not be properly set (because of the missing ;), it may be that running the tests actually use 0.9.6 DLLs. I'm really surprised you didn't get more crashes in that case... Had it been an include file error, you would probably not have been able to build... -- Richard Levitte \ Spannvägen 38, II \ [EMAIL PROTECTED] Redakteur@Stacken \ S-168 35 BROMMA \ T: +46-8-26 52 47 \ SWEDEN \ or +46-708-26 53 44 Procurator Odiosus Ex Infernis -- [EMAIL PROTECTED] Member of the OpenSSL development team: http://www.openssl.org/ Unsolicited commercial email is subject to an archival fee of $400. See <http://www.stacken.kth.se/~levitte/mail/> for more info. ______________________________________________________________________ OpenSSL Project http://www.openssl.org Development Mailing List [EMAIL PROTECTED] Automated List Manager [EMAIL PROTECTED]