Thread: 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
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
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
> -----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
"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