Thread: Compile failure with SSL

Compile failure with SSL

From
"Dave Page"
Date:
I think this is another on of those 'might be Win32 specific' problems.
When building on XP, with OpenSSL 0.9.7c (from the bitWalk MinGW tools),
I get the following failure:

gcc -O2 -fno-strict-aliasing -Wall -Wmissing-prototypes
-Wmissing-declarations -I../../../src/include -I./src/include/port/win32
-DEXEC_BACKEND  "-I../../../src/include/port/win32" -DBUILDING_DLL  -c
-o be-secure.o be-secure.c
be-secure.c: In function `initialize_SSL':
be-secure.c:653: `S_IRWXG' undeclared (first use in this function)
be-secure.c:653: (Each undeclared identifier is reported only once
be-secure.c:653: for each function it appears in.)
be-secure.c:653: `S_IRWXO' undeclared (first use in this function)
be-secure.c:654: warning: implicit declaration of function `getuid'
make[3]: *** [be-secure.o] Error 1
make[3]: Leaving directory `/cvs/pgsql/src/backend/libpq'

I have run 'make distclean' and './configure --with-openssl' to make
sure everything is consistent.

Any ideas?

Regards, Dave


Re: Compile failure with SSL

From
"Dave Page"
Date:
OK, looks like the error below is a Win32 thing. The patch attached
#ifdef'd out the permissions check on the private key file as it won't
work under Windows anyway (a similar check in postmaster.c has has
already been ifdef'd out for the same reason).

Incidently, the consts are also used in initdb.c where they work just
fine - can't seem to figure out where it gets them from though (must be
missing something). Normally they're in sys/stat.h, but not in mingw
(where they can only be found in glibc/sys/stat.h). Magnus also
mentioned to me that Merlin's snapshots are building fine without this
patch - dunno if he has a different version of sys/stat.h...

Anyway, regardless of that I think the patch is relevant.

Regards, Dave.


> -----Original Message-----
> From: pgsql-hackers-owner@postgresql.org
> [mailto:pgsql-hackers-owner@postgresql.org] On Behalf Of Dave Page
> Sent: 19 June 2004 23:24
> To: pgsql-hackers@postgresql.org
> Subject: [HACKERS] Compile failure with SSL
>
> I think this is another on of those 'might be Win32 specific'
> problems.
> When building on XP, with OpenSSL 0.9.7c (from the bitWalk
> MinGW tools), I get the following failure:
>
> gcc -O2 -fno-strict-aliasing -Wall -Wmissing-prototypes
> -Wmissing-declarations -I../../../src/include
> -I./src/include/port/win32 -DEXEC_BACKEND
> "-I../../../src/include/port/win32" -DBUILDING_DLL  -c -o
> be-secure.o be-secure.c
> be-secure.c: In function `initialize_SSL':
> be-secure.c:653: `S_IRWXG' undeclared (first use in this function)
> be-secure.c:653: (Each undeclared identifier is reported only once
> be-secure.c:653: for each function it appears in.)
> be-secure.c:653: `S_IRWXO' undeclared (first use in this function)
> be-secure.c:654: warning: implicit declaration of function `getuid'
> make[3]: *** [be-secure.o] Error 1
> make[3]: Leaving directory `/cvs/pgsql/src/backend/libpq'
>
> I have run 'make distclean' and './configure --with-openssl'
> to make sure everything is consistent.
>
> Any ideas?
>
> Regards, Dave
>
> ---------------------------(end of
> broadcast)---------------------------
> TIP 1: subscribe and unsubscribe commands go to
> majordomo@postgresql.org
>

Attachment

Re: Compile failure with SSL

From
"Merlin Moncure"
Date:
Dave Page wrote:
> OK, looks like the error below is a Win32 thing. The patch attached
> #ifdef'd out the permissions check on the private key file as it won't
> work under Windows anyway (a similar check in postmaster.c has has
> already been ifdef'd out for the same reason).
>
> Incidently, the consts are also used in initdb.c where they work just
> fine - can't seem to figure out where it gets them from though (must
be
> missing something). Normally they're in sys/stat.h, but not in mingw
> (where they can only be found in glibc/sys/stat.h). Magnus also
> mentioned to me that Merlin's snapshots are building fine without this
> patch - dunno if he has a different version of sys/stat.h...
>
> Anyway, regardless of that I think the patch is relevant.

I had made the same changes as you to be_secure...(actually, I recently
stopped doing that, I need to update the snapshot info page).  The real
problem is that the SSL based connection does not receive signals while
waiting on select() like the regular connection does.  IMO, the SSL
patch should not be applied until this has been resolved.

Merlin


Re: Compile failure with SSL

From
"Dave Page"
Date:

> -----Original Message-----
> From: Merlin Moncure [mailto:merlin.moncure@rcsonline.com]
> Sent: 21 June 2004 15:40
> To: Dave Page
> Cc: pgsql-hackers@postgresql.org; pgsql-patches@postgresql.org
> Subject: RE: [HACKERS] Compile failure with SSL
>
> I had made the same changes as you to be_secure...(actually,
> I recently stopped doing that, I need to update the snapshot
> info page).  The real problem is that the SSL based
> connection does not receive signals while waiting on select()
> like the regular connection does.  IMO, the SSL patch should
> not be applied until this has been resolved.

Urrgghh - no ssl support on Windows :-(. I assume this is not a trivial
thing to fix?

I'm not sure I agree with leaving the patch off though - leaving the
code intentionally broken is not a nice way to disable an unsupported
feature, especially when the patch has nothing to do with the reasons
for not including said feature.


Regards, Dave

Re: Compile failure with SSL

From
Tom Lane
Date:
"Dave Page" <dpage@vale-housing.co.uk> writes:
> OK, looks like the error below is a Win32 thing. The patch attached
> #ifdef'd out the permissions check on the private key file as it won't
> work under Windows anyway (a similar check in postmaster.c has has
> already been ifdef'd out for the same reason).

Applied.

            regards, tom lane