Thread: Building with MinGW issue
Howdy, I want to build Postgresql 9.1 under Windows with MinGW but I get this error message whever I configure the project: checking openssl/ssl.h usability... no checking openssl/ssl.h presence... no checking for openssl/ssl.h... no configure: error: header file <openssl/ssl.h> is required for OpenSSL How can I fix this issue? P.S. I use the following options for configuring call: $ ./configure --without-zlib --with-openssl --with-includes=C:/OpenSSL-Win32/include --with-libraries=C:/OpenSSL-Win32/lib /MinGW -- Best Regards, Muhammad Bashir Al-Noimi
On 09/21/2013 12:08 AM, Muhammad Bashir Al-Noimi wrote: > Howdy, > > I want to build Postgresql 9.1 under Windows with MinGW but I get this > error message whever I configure the project: > > checking openssl/ssl.h usability... no > checking openssl/ssl.h presence... no > checking for openssl/ssl.h... no > configure: error: header file <openssl/ssl.h> is required for OpenSSL > > How can I fix this issue? Is openssl/ssh.h actually in the includes directory specified below? > > P.S. I use the following options for configuring call: > $ ./configure --without-zlib --with-openssl > --with-includes=C:/OpenSSL-Win32/include > --with-libraries=C:/OpenSSL-Win32/lib > /MinGW > -- Adrian Klaver adrian.klaver@gmail.com
On 09/21/2013 07:30 AM, Muhammad Bashir Al-Noimi wrote: > Yes. > So does the user you are running configure as have the necessary permissions to access the directory/file? -- Adrian Klaver adrian.klaver@gmail.com
On 09/21/2013 07:45 AM, Muhammad Bashir Al-Noimi wrote: > Yes,I build using mingw/msys under Windows with administrator permission > Please reply to list also. Building software on Windows is not one of my strong points, so keeping this conversation on the list will put it front of people who are more capable in that area. Also bottom posting is encouraged, it helps maintain the flow better. The only question I have left at this time is: What is the directory structure under C:/OpenSSL-Win32/include? -- Adrian Klaver adrian.klaver@gmail.com
On 09/21/2013 07:07 PM, Adrian Klaver wrote: > On 09/21/2013 07:45 AM, Muhammad Bashir Al-Noimi wrote: >> Yes,I build using mingw/msys under Windows with administrator permission >> > > Please reply to list also. Building software on Windows is not one of > my strong points, so keeping this conversation on the list will put it > front of people who are more capable in that area. Also bottom posting > is encouraged, it helps maintain the flow better. Sorry, I was using my mobile phone which doesn't has "Reply to list" button; Any way I've to use "Reply to all" button instead. > The only question I have left at this time is: > > What is the directory structure under C:/OpenSSL-Win32/include? it has single folder which is openssl; any way in the following you can see the result of ls for include and openssl folders. ---- LOG OF MSYS --- mbnoimi@MBNOIMI-VBOX /c/OpenSSL-Win32/include $ ls openssl mbnoimi@MBNOIMI-VBOX /c/OpenSSL-Win32/include $ cd openssl/ mbnoimi@MBNOIMI-VBOX /c/OpenSSL-Win32/include/openssl $ ls aes.h conf.h ecdsa.h obj_mac.h rc4.h ts.h applink.c conf_api.h engine.h objects.h ripemd.h txt_db.h asn1.h crypto.h err.h ocsp.h rsa.h ui.h asn1_mac.h des.h evp.h opensslconf.h safestack.h ui_compat.h asn1t.h des_old.h hmac.h opensslv.h seed.h whrlpool.h bio.h dh.h idea.h ossl_typ.h sha.h x509.h blowfish.h dsa.h krb5_asn.h pem.h ssl.h x509_vfy.h bn.h dso.h kssl.h pem2.h ssl2.h x509v3.h buffer.h dtls1.h lhash.h pkcs12.h ssl23.h camellia.h e_os2.h md4.h pkcs7.h ssl3.h cast.h ebcdic.h md5.h pqueue.h stack.h cms.h ec.h mdc2.h rand.h symhacks.h comp.h ecdh.h modes.h rc2.h tls1.h mbnoimi@MBNOIMI-VBOX /c/OpenSSL-Win32/include/openssl -- Best Regards, Muhammad Bashir Al-Noimi
On 09/22/2013 01:11 PM, Muhammad Bashir Al-Noimi wrote: > On 09/21/2013 07:07 PM, Adrian Klaver wrote: >> On 09/21/2013 07:45 AM, Muhammad Bashir Al-Noimi wrote: >>> Yes,I build using mingw/msys under Windows with administrator permission >>> >> >> Please reply to list also. Building software on Windows is not one of >> my strong points, so keeping this conversation on the list will put it >> front of people who are more capable in that area. Also bottom posting >> is encouraged, it helps maintain the flow better. > Sorry, I was using my mobile phone which doesn't has "Reply to list" > button; Any way I've to use "Reply to all" button instead. > > >> The only question I have left at this time is: >> >> What is the directory structure under C:/OpenSSL-Win32/include? > it has single folder which is openssl; any way in the following you can > see the result of ls for include and openssl folders. > ---- LOG OF MSYS --- > mbnoimi@MBNOIMI-VBOX /c/OpenSSL-Win32/include > $ ls > openssl > > mbnoimi@MBNOIMI-VBOX /c/OpenSSL-Win32/include > $ cd openssl/ > > mbnoimi@MBNOIMI-VBOX /c/OpenSSL-Win32/include/openssl > $ ls > aes.h conf.h ecdsa.h obj_mac.h rc4.h ts.h > applink.c conf_api.h engine.h objects.h ripemd.h txt_db.h > asn1.h crypto.h err.h ocsp.h rsa.h ui.h > asn1_mac.h des.h evp.h opensslconf.h safestack.h ui_compat.h > asn1t.h des_old.h hmac.h opensslv.h seed.h whrlpool.h > bio.h dh.h idea.h ossl_typ.h sha.h x509.h > blowfish.h dsa.h krb5_asn.h pem.h ssl.h x509_vfy.h > bn.h dso.h kssl.h pem2.h ssl2.h x509v3.h > buffer.h dtls1.h lhash.h pkcs12.h ssl23.h > camellia.h e_os2.h md4.h pkcs7.h ssl3.h > cast.h ebcdic.h md5.h pqueue.h stack.h > cms.h ec.h mdc2.h rand.h symhacks.h > comp.h ecdh.h modes.h rc2.h tls1.h > > mbnoimi@MBNOIMI-VBOX /c/OpenSSL-Win32/include/openssl So I am guessing that the paths shown above are coming from MSYS, they do not look like Windows paths. This is where I start getting out of my depth, but it looks to me like MinGW/MSYS are not agreeing with Windows on pathing. Best I can do is point you to the page below and see if that helps. There seems to good bit of information there on resolving PATH issues: http://www.mingw.org/wiki/Getting_Started > > -- Adrian Klaver adrian.klaver@gmail.com
On 09/22/2013 10:40 PM, Adrian Klaver wrote: > So I am guessing that the paths shown above are coming from MSYS, they > do not look like Windows paths. This is where I start getting out of > my depth, but it looks to me like MinGW/MSYS are not agreeing with > Windows on pathing. Best I can do is point you to the page below and > see if that helps. There seems to good bit of information there on > resolving PATH issues: > > http://www.mingw.org/wiki/Getting_Started Thanks for help but this is very un-useful way. I know exactly what these info does, my question is very specified for who used/uses MinGW practically. I need to build PG under Windows with MinGW. I read https://wiki.postgresql.org/wiki/Building_With_MinGW but it didn't mention SSL support so I've to go with OpenSSL some guy in this mailing list faced this issue before but unfortunately no one responded http://web.archiveorange.com/archive/v/V95x82sNS8lCeW2yiGEY ; Today I'm facing same problem once again and I hope to get the help from people who really used MinGW P.S. I successfully built PG with MinGW but without OpenSSL support so I'm very curious why configuration options for OpenSSL doesn't work! $ ./configure --without-zlib --with-openssl --with-includes=C:/OpenSSL-Win32/include --with-libraries=C:/OpenSSL-Win32/lib/MinGW -- Best Regards, Muhammad Bashir Al-Noimi
On 09/22/2013 05:14 PM, Muhammad Bashir Al-Noimi wrote: > On 09/22/2013 10:40 PM, Adrian Klaver wrote: >> So I am guessing that the paths shown above are coming from MSYS, they >> do not look like Windows paths. This is where I start getting out of >> my depth, but it looks to me like MinGW/MSYS are not agreeing with >> Windows on pathing. Best I can do is point you to the page below and >> see if that helps. There seems to good bit of information there on >> resolving PATH issues: >> >> http://www.mingw.org/wiki/Getting_Started > Thanks for help but this is very un-useful way. I know exactly what > these info does, my question is very specified for who used/uses MinGW > practically. I need to build PG under Windows with MinGW. > Let us review: 1) The file exists. 2) The configure is run by a user with the necessary permissions to see and use the file. 3) The configure program reports it cannot find the file. The most likely scenario that accounts for the above is that a PATH is not being found correctly. I will and have admitted to not being familiar with MinGW, but I pretty certain that my scenario is correct. You can choose to ignore the above, but my guess is doing so will lead down the wrong path(sorry, could not resist:)). > I read https://wiki.postgresql.org/wiki/Building_With_MinGW but it > didn't mention SSL support so I've to go with OpenSSL some guy in this > mailing list faced this issue before but unfortunately no one responded > http://web.archiveorange.com/archive/v/V95x82sNS8lCeW2yiGEY ; Today I'm > facing same problem once again and I hope to get the help from people > who really used MinGW > > P.S. I successfully built PG with MinGW but without OpenSSL support so > I'm very curious why configuration options for OpenSSL doesn't work! > $ ./configure --without-zlib --with-openssl > --with-includes=C:/OpenSSL-Win32/include > --with-libraries=C:/OpenSSL-Win32/lib/MinGW If it where me I would try: --with-includes=/c/OpenSSL-Win32/include --with-libraries=/c/OpenSSL-Win32/lib/MinGW Good luck. > > -- Adrian Klaver adrian.klaver@gmail.com
On 09/23/2013 04:05 AM, Adrian Klaver wrote: > If it where me I would try: > > --with-includes=/c/OpenSSL-Win32/include > --with-libraries=/c/OpenSSL-Win32/lib/MinGW Thanks a lot Adrian; I successfully configured PG with MinGW & OpenSSL but I faced a new obstacle with make command: In file included from ../../src/include/c.h:851:0, from ../../src/include/postgres_fe.h:25, from dirmod.c:21: ../../src/include/port.h:333:12: note: expected 'struct _stati64 *' but argument is of type 'struct stat *' extern int pgwin32_safestat(const char *path, struct stat * buf); ^ dirmod.c: At top level: dirmod.c:630:1: error: conflicting types for 'pgwin32_safestat' pgwin32_safestat(const char *path, struct stat * buf) ^ In file included from ../../src/include/c.h:851:0, from ../../src/include/postgres_fe.h:25, from dirmod.c:21: ../../src/include/port.h:333:12: note: previous declaration of 'pgwin32_safestat ' was here extern int pgwin32_safestat(const char *path, struct stat * buf); ^ make[2]: *** [dirmod.o] Error 1 make[2]: Leaving directory `/home/mbnoimi/postgresql-9.1.9/src/port' make[1]: *** [all-port-recurse] Error 2 make[1]: Leaving directory `/home/mbnoimi/postgresql-9.1.9/src' make: *** [all-src-recurse] Error 2 -- Best Regards, Muhammad Bashir Al-Noimi
On 09/23/2013 02:20 PM, Muhammad Bashir Al-Noimi wrote: > On 09/23/2013 04:05 AM, Adrian Klaver wrote: >> If it where me I would try: >> >> --with-includes=/c/OpenSSL-Win32/include >> --with-libraries=/c/OpenSSL-Win32/lib/MinGW > Thanks a lot Adrian; I successfully configured PG with MinGW & OpenSSL > but I faced a new obstacle with make command: > > In file included from ../../src/include/c.h:851:0, > from ../../src/include/postgres_fe.h:25, > from dirmod.c:21: > ../../src/include/port.h:333:12: note: expected 'struct _stati64 *' but > argument > is of type 'struct stat *' > extern int pgwin32_safestat(const char *path, struct stat * buf); Best guess is that you have a 32/64 bit mismatch problem. This is explained here. http://www.postgresql.org/docs/9.3/interactive/install-windows-full.html#AEN26293 -- Adrian Klaver adrian.klaver@gmail.com
body p { margin-bottom: 0cm; margin-top: 0pt; } <body style="direction: ltr;" bidimailui-detected-decoding-type="UTF-8" text="#000000" bgcolor="#FFFFFF"> On 09/24/2013 12:35 AM, Adrian Klaver wrote: Best guess is that you have a 32/64 bit mismatch problem. This is explained here. <a moz-do-not-send="true" class="moz-txt-link-freetext" href="http://www.postgresql.org/docs/9.3/interactive/install-windows-full.html#AEN26293">http://www.postgresql.org/docs/9.3/interactive/install-windows-full.html#AEN26293 But I build under Windows 7 32bit! -- Best Regards, Muhammad Bashir Al-Noimi
On 09/23/2013 03:50 PM, Muhammad Bashir Al-Noimi wrote: > On 09/24/2013 12:35 AM, Adrian Klaver wrote: >> Best guess is that you have a 32/64 bit mismatch problem. This is >> explained here. >> >> http://www.postgresql.org/docs/9.3/interactive/install-windows-full.html#AEN26293 > > > But I build under Windows 7 32bit! Reported here: http://www.postgresql.org/message-id/ovpbg9.x5ovpbg9.pq9n.w333.gnus@asuka.myrkraverk.com Not sure what the fix is, short of doing the manual intervention shown in the first message. You might want to post as bug here: http://www.postgresql.org/support/submitbug/ or contact MinGW developers. > > -- > Best Regards, > Muhammad Bashir Al-Noimi > -- Adrian Klaver adrian.klaver@gmail.com
On 09/24/2013 01:29 AM, Adrian Klaver wrote: > Reported here: > > http://www.postgresql.org/message-id/ovpbg9.x5ovpbg9.pq9n.w333.gnus@asuka.myrkraverk.com > > > > Not sure what the fix is, short of doing the manual intervention shown > in the first message. I don't think this thread is related here because I'm using MinGW 32bit while he used 64bit version. > > You might want to post as bug here: > > http://www.postgresql.org/support/submitbug/ > > or contact MinGW developers. I think it's better to report it for Postgresql guys, but until that may any one help me here. Postgresql unable to built by MinGW under Windows7 32bit! -- Best Regards, Muhammad Bashir Al-Noimi
On 09/23/2013 05:29 PM, Muhammad Bashir Al-Noimi wrote: > On 09/24/2013 01:29 AM, Adrian Klaver wrote: >> Reported here: >> >> http://www.postgresql.org/message-id/ovpbg9.x5ovpbg9.pq9n.w333.gnus@asuka.myrkraverk.com >> >> >> >> Not sure what the fix is, short of doing the manual intervention shown >> in the first message. > I don't think this thread is related here because I'm using MinGW 32bit > while he used 64bit version. Well the error message is exactly the same, so my guess the cause is the same. > >> >> You might want to post as bug here: >> >> http://www.postgresql.org/support/submitbug/ >> >> or contact MinGW developers. > I think it's better to report it for Postgresql guys, but until that may > any one help me here. > > Postgresql unable to built by MinGW under Windows7 32bit! Sort of late in the thread to ask this, but any reason you are not using the precompiled binaries? > -- Adrian Klaver adrian.klaver@gmail.com
On 09/24/2013 02:57 AM, Adrian Klaver wrote: > Sort of late in the thread to ask this, but any reason you are not > using the precompiled binaries? I couldn’t find Postgresql binaries built by MinGW... Do you know if these binaries already exist? -- Best Regards, Muhammad Bashir Al-Noimi
On 9/26/2013 7:53 PM, Muhammad Bashir Al-Noimi wrote: > On 09/24/2013 02:57 AM, Adrian Klaver wrote: >> Sort of late in the thread to ask this, but any reason you are not >> using the precompiled binaries? > I couldn’t find Postgresql binaries built by MinGW... Do you know if > these binaries already exist? why does the compiler matter for a precompiled binary? -- john r pierce 37N 122W somewhere on the middle of the left coast
On 09/26/2013 07:53 PM, Muhammad Bashir Al-Noimi wrote: > On 09/24/2013 02:57 AM, Adrian Klaver wrote: >> Sort of late in the thread to ask this, but any reason you are not >> using the precompiled binaries? > I couldn’t find Postgresql binaries built by MinGW... Do you know if > these binaries already exist? > I was talking about these: http://www.postgresql.org/download/windows/ Not sure what they are compiled with, it should not matter though. -- Adrian Klaver adrian.klaver@gmail.com
On 09/27/2013 05:04 AM, John R Pierce wrote: > why does the compiler matter for a precompiled binary? I want to link Postgresql client to my application statically so I've to use precompiled binaries built by same compiler (in my case I'm using MinGW) Default precompiled binaries of Postgresql built by MSVC ( libpq.lib and libpq.dll )!!! -- Best Regards, Muhammad Bashir Al-Noimi
On 09/27/2013 04:16 PM, Adrian Klaver wrote: > I was talking about these: > > http://www.postgresql.org/download/windows/ > > Not sure what they are compiled with, it should not matter though. Oh man these binaries built by MSVC which takes us to first square! -- Best Regards, Muhammad Bashir Al-Noimi
On 9/27/2013 1:03 PM, Muhammad Bashir Al-Noimi wrote: > On 09/27/2013 05:04 AM, John R Pierce wrote: >> why does the compiler matter for a precompiled binary? > I want to link Postgresql client to my application statically static linking is heavily deprecated in most all environments. -- john r pierce 37N 122W somewhere on the middle of the left coast
On 09/27/2013 01:05 PM, Muhammad Bashir Al-Noimi wrote: > On 09/27/2013 04:16 PM, Adrian Klaver wrote: >> I was talking about these: >> >> http://www.postgresql.org/download/windows/ >> >> Not sure what they are compiled with, it should not matter though. > Oh man these binaries built by MSVC which takes us to first square! > Did you try the override method shown in this message?: http://www.postgresql.org/message-id/ovpbg9.x5ovpbg9.pq9n.w333.gnus@asuka.myrkraverk.com -- Adrian Klaver adrian.klaver@gmail.com
On 09/27/2013 10:42 PM, John R Pierce wrote: > static linking is heavily deprecated in most all environments. I don't think this true because there are many commercial SDKs uses static linking so the major issue here not deprecation so I strongly believe it's license issue. -- Best Regards, Muhammad Bashir Al-Noimi
On 09/27/2013 10:57 PM, Adrian Klaver wrote: > Did you try the override method shown in this message?: > > http://www.postgresql.org/message-id/ovpbg9.x5ovpbg9.pq9n.w333.gnus@asuka.myrkraverk.com I found it very comlicated and made things worst (I got ton of errors)!!! BTW, I wonder why Postgresql guys doesn't care about open source compilers like other projects; they're part of open source community why they support commercial compilers and drop the open source!!! -- Best Regards, Muhammad Bashir Al-Noimi
On Sun, Sep 29, 2013 at 07:09:40AM +0200, Muhammad Bashir Al-Noimi wrote: > On 09/27/2013 10:57 PM, Adrian Klaver wrote: > >Did you try the override method shown in this message?: > > > >http://www.postgresql.org/message-id/ovpbg9.x5ovpbg9.pq9n.w333.gnus@asuka.myrkraverk.com > > I found it very comlicated and made things worst (I got ton of errors)!!! > > BTW, I wonder why Postgresql guys doesn't care about open source > compilers like other projects; they're part of open source community > why they support commercial compilers and drop the open source!!! Umm, this *is* on a proprietry platform. The problem is that if it isn't tested much then people don't find the problems... We try to support as many platforms as possible, but are limited by what people actually use. And in this case it's not the compiler that's the problem but the system libraries, which are different from every other platform. Have a nice day, -- Martijn van Oosterhout <kleptog@svana.org> http://svana.org/kleptog/ > He who writes carelessly confesses thereby at the very outset that he does > not attach much importance to his own thoughts. -- Arthur Schopenhauer
Attachment
On 09/28/2013 10:09 PM, Muhammad Bashir Al-Noimi wrote: > On 09/27/2013 10:57 PM, Adrian Klaver wrote: >> Did you try the override method shown in this message?: >> >> http://www.postgresql.org/message-id/ovpbg9.x5ovpbg9.pq9n.w333.gnus@asuka.myrkraverk.com > > > I found it very comlicated and made things worst (I got ton of errors)!!! > > BTW, I wonder why Postgresql guys doesn't care about open source > compilers like other projects; they're part of open source community why > they support commercial compilers and drop the open source!!! I am not sure what you mean, I compile my Postgres instances from source using GCC on a regular basis. Now if you are talking to about the precompiled binaries that is up to folks compiling the source, in this case EnterpriseDB. They do that as a service to the community and from all accounts it has greatly aided the use of Postgres on Windows. They have forums you could bring this up on and make the case for MinGW. Your particular issue seems to be the intersection of three things MinGW, Windows, and Postgres. MinGW is basically bringing a subset of Unix to Windows and that accounted for your first problem, finding the correct path. The second problem seems to a disagreement between MinGW and Postgres on what struct stat is. You have raised the issue which is good, but you might, as previously suggested, also raise it with the MinGW developers/community. They may already have a solution that this list is unaware of. In the end open source is about the people in it working towards solutions. You can make your wish of improved support for MinGW come true by helping in finding the answers. > -- Adrian Klaver adrian.klaver@gmail.com