Re: Compiling beta2 with openssl on XP Pro

From: "Tony and Bryn Reina" <reina_ga(at)hotmail(dot)com>
To: "Magnus Hagander" <mha(at)sollentuna(dot)net>, "Tom Lane" <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: <pgsql-hackers-win32(at)postgresql(dot)org>
Subject: Re: Compiling beta2 with openssl on XP Pro
Date: 2004-09-02 18:35:39
Message-ID: BAY8-DAV63PbR29JDJr00025237@hotmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers-win32

Ooooo. That is ugly.

Ok so if I understand correctly, I'll just need to edit rand_win.c and
remove references to the functions like CreateDCA(at)16 and SelectObject(at)8?
Will I run into the problem that these references are in other files or
other things are dependant on them?

-Tony

p.s. Tom. I just downloaded from the CVS server. Still not working with the
semi-colon and single quotes. From the looks of it, none of the additional
includes are being listed in the compile command. When I use a colon and
single quotes they are added correctly.

$
/configure --with-openssl --with-cassert --with-odbc --with-include=/usr/local/ssl/include;/usr/local/include
--with-libs=/usr/local/ssl/lib;/usr/local/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

configure:5800: result: yes
configure:5916: checking for inflate in -lz
configure:5949: gcc -o
onftest.exe -O2 -fno-strict-aliasing -I./src/include/port/win32 -DEXEC_BACKEND
conftest.c -lz -lwsock32 -lm >&5
c:\mingw\bin\..\lib\gcc-lib\mingw32\3.2.3\..\..\..\..\mingw32\bin\ld.exe:
cannot find -lz
configure:5952: $? = 1
configure: failed program was:
#line 5923 "configure"
#include "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 inflate ();
#ifdef F77_DUMMY_MAIN
# ifdef __cplusplus
extern "C"
# endif
int F77_DUMMY_MAIN() { return 1; }
#endif
int
main ()
{
inflate ();
;
return 0;
}
configure:5969: result: no
configure:5982: error: zlib library not found
If you have zlib already installed, see config.log for details on the
failure. It is possible the compiler isn't looking in the proper directory.
Use --without-zlib to disable zlib support.

----- Original Message -----
From: "Magnus Hagander" <mha(at)sollentuna(dot)net>
To: "Tony and Bryn Reina" <reina_ga(at)hotmail(dot)com>; "Tom Lane"
<tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: <pgsql-hackers-win32(at)postgresql(dot)org>
Sent: Thursday, September 02, 2004 8:09 PM
Subject: SV: [pgsql-hackers-win32] Compiling beta2 with openssl on XP Pro

This is the known issue that's on the open items list as "fix SSL compiles".

The way to get it done now is to edit the source to openssl and remove the
references to those functions. Yes, it's ugly and yes it needs a proper fix.

//Magnus

>-----Ursprungligt meddelande-----
>Från: Tony and Bryn Reina [mailto:reina_ga(at)hotmail(dot)com]
>Skickat: den 2 september 2004 19:57
>Till: Tom Lane
>Kopia: pgsql-hackers-win32(at)postgresql(dot)org
>Ämne: Re: [pgsql-hackers-win32] Compiling beta2 with openssl on XP Pro
>
>
>Haven't tried CVStip yet, but did give one more try to different
>permutation:
>
> configure --with-openssl --with-cassert --with-odbc
>'--with-include=/usr/local/ssl/include:/usr/local/include'
>'--with-libs=/usr/local/ssl/lib:/usr/local/lib'
>
>which correctly sees the additional directories. So colon with
>single quotes
>around structure is passed correctly (which from your
>description of the fix
>sounds correct).
>
>Still have the error I reported last week with the SSL stuff.
>It's finding
>SSL, but bombing out on some definitions in rand_win.c. Magnus
>said it was
>an easy fix to the SSL includes, but he didn't remember what
>the fix was. I
>think other than that I should be good to go for compiling on mingw.
>
> $
>/configure --with-openssl --with-cassert --with-odbc
>--with-include=/usr/local/ssl/include:/usr/local/include
> --with-libs=/usr/local/ssl/lib:/usr/local/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
>
>
>configure:7291: checking for CRYPTO_new_ex_data in -lcrypto
>configure:7321: gcc -o
>onftest.exe -O2 -fno-strict-aliasing
>-I./src/include/port/win32 -DEXEC_BACKEND
> -L/usr/local/ssl/lib -L/usr/local/lib
>conftest.c -lcrypto -lz -lwsock32 -lm >&5
>configure:7327: $? = 0
>configure:7331: test -z
> || test ! -s conftest.err
>configure:7334: $? = 0
>configure:7337: test -s conftest.exe
>configure:7340: $? = 0
>configure:7353: result: yes
>configure:7369: checking for SSL_library_init in -lssl
>configure:7399: gcc -o
>onftest.exe -O2 -fno-strict-aliasing
>-I./src/include/port/win32 -DEXEC_BACKEND
> -L/usr/local/ssl/lib -L/usr/local/lib
>conftest.c -lssl -lcrypto -lz -lwsock32 -lm >&5
>C:/msys/1.0/local/ssl/lib/libcrypto.a(rand_win.o)(.text+0xb13):
>rand_win.c:
>undefined reference to `CreateDCA(at)16'
>C:/msys/1.0/local/ssl/lib/libcrypto.a(rand_win.o)(.text+0xb24):
>rand_win.c:
>undefined reference to `CreateCompatibleDC(at)4'
>C:/msys/1.0/local/ssl/lib/libcrypto.a(rand_win.o)(.text+0xb39):
>rand_win.c:
>undefined reference to `GetDeviceCaps(at)8'
>C:/msys/1.0/local/ssl/lib/libcrypto.a(rand_win.o)(.text+0xb49):
>rand_win.c:
>undefined reference to `GetDeviceCaps(at)8'
>C:/msys/1.0/local/ssl/lib/libcrypto.a(rand_win.o)(.text+0xb63):
>rand_win.c:
>undefined reference to `CreateCompatibleBitmap(at)12'
>C:/msys/1.0/local/ssl/lib/libcrypto.a(rand_win.o)(.text+0xb71):
>rand_win.c:
>undefined reference to `
>C:/msys/1.0/local/ssl/lib/libcrypto.a(rand_win.o)(.text+0xb83):
>rand_win.c:
>undefined reference to `GetObjectA(at)12'
>C:/msys/1.0/local/ssl/lib/libcrypto.a(rand_win.o)(.text+0xbf1):
>rand_win.c:
>undefined reference to `BitBlt(at)36'
>C:/msys/1.0/local/ssl/lib/libcrypto.a(rand_win.o)(.text+0xbfb):
>rand_win.c:
>undefined reference to `GetBitmapBits(at)12'
>C:/msys/1.0/local/ssl/lib/libcrypto.a(rand_win.o)(.text+0xc52):
>rand_win.c:
>undefined reference to `SelectObject(at)8'
>C:/msys/1.0/local/ssl/lib/libcrypto.a(rand_win.o)(.text+0xc59):
>rand_win.c:
>undefined reference to `DeleteObject(at)4'
>C:/msys/1.0/local/ssl/lib/libcrypto.a(rand_win.o)(.text+0xc63):
>rand_win.c:
>undefined reference to `DeleteDC(at)4'
>C:/msys/1.0/local/ssl/lib/libcrypto.a(rand_win.o)(.text+0xc6d):
>rand_win.c:
>undefined reference to `DeleteDC(at)4'
>configure:7405: $? = 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(at)postgresql(dot)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
>| #define HAVE_LIBCRYPTO 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 SSL_library_init ();
>| int
>| main ()
>| {
>| SSL_library_init ();
>| ;
>| return 0;
>| }
>configure:7431: result: no
>configure:7441: error: library 'ssl' is required for OpenSSL
>
>
>----- Original Message -----
>From: "Tom Lane" <tgl(at)sss(dot)pgh(dot)pa(dot)us>
>To: "Tony and Bryn Reina" <reina_ga(at)hotmail(dot)com>
>Cc: <pgsql-hackers-win32(at)postgresql(dot)org>
>Sent: Thursday, September 02, 2004 5:46 PM
>Subject: Re: [pgsql-hackers-win32] Compiling beta2 with
>openssl on XP Pro
>
>
>> "Tony and Bryn Reina" <reina_ga(at)hotmail(dot)com> writes:
>>> Still no dice. It sends the switches fine, but still
>doesn't seem to be
>>> looking in the second directory.
>>
>> On looking into it, I found that the with-includes/libraries parts of
>> the configure script weren't aware they were supposed to use
>> PATH_SEPARATOR
>> instead of a hardwired ':'. So that's at least part of the issue.
>>
>> Could you try CVS-tip configure and see if it works better?
>>
>> regards, tom lane
>>
>
>---------------------------(end of
>broadcast)---------------------------
>TIP 1: subscribe and unsubscribe commands go to
>majordomo(at)postgresql(dot)org
>

In response to

Browse pgsql-hackers-win32 by date

  From Date Subject
Next Message Magnus Hagander 2004-09-02 18:38:06 Re: Compiling beta2 with openssl on XP Pro
Previous Message Magnus Hagander 2004-09-02 18:09:07 Re: Compiling beta2 with openssl on XP Pro