Compiling beta2 with openssl on XP Pro - Mailing list pgsql-hackers-win32

From Tony and Bryn Reina
Subject Compiling beta2 with openssl on XP Pro
Date
Msg-id BAY8-DAV64LxeZF7lwe00015232@hotmail.com
Whole thread Raw
Responses Re: Compiling beta2 with openssl on XP Pro  (Ronald Kuczek <kuczek@kuczek.pl>)
Re: Compiling beta2 with openssl on XP Pro  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers-win32
I couldn't get beta1 with openssl (snapshot of 27August) past configure on mingw so I thought I'd just skip to beta2 and re-try.
 
The snag I'm hitting is that the configure script doesn't seem to find the -lcrypto library. I'm specifying that library as /usr/local/ssl/lib from the --with-libs switch:
 
./configure --with-openssl --with-includes=/usr/local/include:/usr/ssl/include --with-libs=/usr/local/lib:/usr/ssl/lib
 
I'm assuming that to include multiple directories you add the colon (:) in between, but perhaps this is wrong (??)
 
In any case, when the configure script tries to compile conftest.c, it can't find -lcrypto:
 
configure:7321: gcc -o conftest.exe -O2 -fno-strict-aliasing  -I./src/include/port/win32 -DEXEC_BACKEND  -I/usr/local/include   -L/usr/local/lib conftest.c -lcrypto  -lz -lwsock32 -lm  >&5
c:\mingw\bin\..\lib\gcc-lib\mingw32\3.2.3\..\..\..\..\mingw32\bin\ld.exe: cannot find -lcrypto
 
BUT, note that only the /usr/local/include and /usr/local/lib are added to the compile command. The script seems to be missing my additional directories of /usr/local/ssl/lib and /usr/local/ssl/include.
 
Can someone steer me in the right direction? How do I specify multiple search directories with the configure switches?
 
Thanks.
-Tony
 
p.s. If I cut out the conftest.c code and try to compile with the above command but add the missing -L and -I switches, it finds -lcrypto but gives the error:
 
gcc -o conftest.exe -O2 -fno-strict-aliasing  -I./src/include/port/win32 -DEXEC_BACKEND
 -I/usr/local/include  -I/usr/local/ssl/include -L/usr/local/lib -L/usr/local/ssl/lib  con
ftest.c -lcrypto  -lz -lwsock32 -lm
C:/DOCUME~1/Tony/LOCALS~1/Temp/ccyUbaaa.o(.text+0x15):conftest.c: undefined reference to `fdatasync'
 
 $ ./configure --with-openssl --with-includes=/usr/local/include:/usr/ssl/include --with-libs=/usr/local/lib:/usr/ssl/lib
 
## --------- ##
## Platform. ##
## --------- ##
 
hostname = KING
uname -m = i686
uname -r = 1.0.10(0.46/3/2)
uname -s = MINGW32_NT-5.1
uname -v = 2004-03-15 07:17
 
/usr/bin/uname -p = unknown
/bin/uname -X     = unknown
 
/bin/arch              = unknown
/usr/bin/arch -k       = unknown
/usr/convex/getsysinfo = unknown
hostinfo               = unknown
/bin/machine           = unknown
/usr/bin/oslevel       = unknown
/bin/universe          = unknown
 
PATH: .
PATH: /usr/local/bin
PATH: /mingw/bin
PATH: /bin
PATH: /c/Perl/bin/
PATH: /c/WINDOWS/system32
PATH: /c/WINDOWS
PATH: /c/WINDOWS/system32/WBEM
PATH: /c/matlab6p5/bin/win32
PATH: /c/Program Files/SSH Communications Security/SSH Secure Shell
 
configure:7291: checking for CRYPTO_new_ex_data in -lcrypto
configure:7321: gcc -o conftest.exe -O2 -fno-strict-aliasing  -I./src/include/port/win32 -DEXEC_BACKEND  -I/usr/local/include   -L/usr/local/lib conftest.c -lcrypto  -lz -lwsock32 -lm  >&5
c:\mingw\bin\..\lib\gcc-lib\mingw32\3.2.3\..\..\..\..\mingw32\bin\ld.exe: cannot find -lcrypto
configure:7327: $? = 1
configure: failed program was:
| /* confdefs.h.  */
|
| #define PACKAGE_NAME "PostgreSQL"
| #define PACKAGE_TARNAME "postgresql"
| #define PACKAGE_VERSION "8.0.0beta2"
| #define PACKAGE_STRING "PostgreSQL 8.0.0beta2"
| #define PACKAGE_BUGREPORT "pgsql-bugs@postgresql.org"
| #define PG_VERSION "8.0.0beta2"
| #define DEF_PGPORT 5432
| #define DEF_PGPORT_STR "5432"
| #define PG_VERSION_STR "PostgreSQL 8.0.0beta2 on i686-pc-mingw32, compiled by GCC gcc.exe (GCC) 3.2.3 (mingw special 20030504-1)"
| #define PG_KRB_SRVNAM "postgres"
| #define USE_SSL 1
| #define HAVE_LIBM 1
| #define HAVE_LIBWSOCK32 1
| #define HAVE_LIBZ 1
| #define HAVE_SPINLOCKS 1
| /* end confdefs.h.  */
|
| /* Override any gcc2 internal prototype to avoid an error.  */
| #ifdef __cplusplus
| extern "C"
| #endif
| /* We use char because int might match the return type of a gcc2
|    builtin and then its argument prototype would still apply.  */
| char CRYPTO_new_ex_data ();
| int
| main ()
| {
| CRYPTO_new_ex_data ();
|   ;
|   return 0;
| }
configure:7353: result: no
configure:7363: error: library 'crypto' is required for OpenSSL
 
 
 
 
 
 

pgsql-hackers-win32 by date:

Previous
From: "Merlin Moncure"
Date:
Subject: Re: Linking Win32 applications with libpq
Next
From: Ronald Kuczek
Date:
Subject: Re: Compiling beta2 with openssl on XP Pro