From: Tom Lane on 14 Jul 2008 11:43 "Knight, Doug" <dknight(a)wsi.com> writes: > I am attempting to build postgres 8.3.3 under Visual Studio 2008, and I > get the following error in the build: > .\src\backend\libpq\pqcomm.c(389): error C2065: 'IPPROTO_IPV6' : > undeclared identifier [ squint... ] They define IPV6_V6ONLY and AF_INET6 but not IPPROTO_IPV6? That's pretty bizarre. You might want to hunt around in the system header files for those symbols and see if there's some feature macro or something we need to set to get IPPROTO_IPV6 to be defined. Or maybe it's in some other header file that we're not including. regards, tom lane -- Sent via pgsql-hackers mailing list (pgsql-hackers(a)postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers
From: "Dave Page" on 14 Jul 2008 11:51 On Mon, Jul 14, 2008 at 4:21 PM, Knight, Doug <dknight(a)wsi.com> wrote: > Has anyone tried successfully to build postgres under VS2008? I know neither Magnus or I have tried yet, and I doubt any of the other hackers have either. -- Dave Page EnterpriseDB UK: http://www.enterprisedb.com -- Sent via pgsql-hackers mailing list (pgsql-hackers(a)postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers
From: "Knight, Doug" on 14 Jul 2008 14:27 Unfortunately I had to uninstall VS2005 to install VS2008 due to limited space, or I'd search the old libraries to see where the symbol used to be. Anyone care to search their VS2005 includes for IPPROTO_IPV6 so I can compare to the VS2008? Also, following the usual build procedure (using build.bat/build.pl), I encountered errors saying I needed to do "vcbuild /upgrade" on postgres.vcproj, libpgport.vcproj, and pgevent.vcproj. After consulting with one of our QA people who builds stuff in Windows all the time, I came up with the following procedure to build postgres under VS2008 (This includes changing pqcomm.c per Tom's comment below): (in msvc) mkvcbuild.pl cd ..\..\.. vcbuild /upgrade postgres.vcproj vcbuild /upgrade libpgport.vcproj vcbuild /upgrade pgevent.vcproj (actually, I wound up creating a script that did vcbuild /upgrade to ALL of the vcproj files here) msbuild pgsql.sln Note that after doing all the vcbuild /upgrade commands, I used msbuild referencing the pgsql.sln file instead of vcbuild to do the actual build. So, aside from the issue of the missing IPPROTO_IPV6 symbol, its built under VS2008. It will probably be some time before I can try running postgres built this way, as we're under the gun to get a release out this week. I'm not an MS developer by any means, so if someone has a better way to do this feel free to say so. This is what worked for me. Doug -----Original Message----- From: Tom Lane [mailto:tgl(a)sss.pgh.pa.us] Sent: Monday, July 14, 2008 12:05 PM To: Knight, Doug Subject: Re: [HACKERS] Building under Visual Studio 2008 - pqcomm.c compile error "Knight, Doug" <dknight(a)wsi.com> writes: > Since I am primarily a Linux-based coder, do you know where I would find > the header files under VS2005 or 2008? No idea, I don't use MSVC. > Also, it looks like the > IPPOROTO_IPV6 is only used within a ifdef check for IPV6_ONLY. Is there > some way I could "undefined" it to prevent this part of the code from > being compiled? Well, you could just change #ifdef IPV6_V6ONLY to #if defined(IPPROTO_IPV6) && defined(IPV6_V6ONLY) and then it would compile --- but whether it would work right is less clear, unless your machine doesn't do IPV6 anyway. Since we know this code compiles under VS2005, I'm inclined to recommend that you look for the real solution, which is to find out where that symbol went... regards, tom lane -- Sent via pgsql-hackers mailing list (pgsql-hackers(a)postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers
|
Pages: 1 Prev: LD_LIBRARY_PATH not honored on Debian unstable Next: "\ef <function>" in psql |