Re: Strange Windows problem, lock_timeout test request - Mailing list pgsql-hackers
From | Andrew Dunstan |
---|---|
Subject | Re: Strange Windows problem, lock_timeout test request |
Date | |
Msg-id | 50FAFEE3.5040006@dunslane.net Whole thread Raw |
In response to | Re: Strange Windows problem, lock_timeout test request (Boszormenyi Zoltan <zb@cybertec.at>) |
Responses |
Re: Strange Windows problem, lock_timeout test request
Re: Strange Windows problem, lock_timeout test request |
List | pgsql-hackers |
On 01/19/2013 02:36 AM, Boszormenyi Zoltan wrote: > >> >> Cross-compiling is not really a supported platform. Why don't you >> just build natively? This is know to work as shown by the buildfarm >> animals doing it successfully. > > Because I don't have a mingw setup on Windows. (Sorry.) > A long time ago I had a lot of sympathy with this answer, but these days not so much. Getting a working mingw/msys environment sufficient to build a bare bones PostgreSQL from scratch is both cheap and fairly easy. The improvements that mingw has made in its install process, and the presence of cheap or free windows instances in the cloud combine to make this pretty simple. But since it's still slightly involved here is how I constructed one such this morning: * Create an Amazon t1.micro spot instance of Windows_Server-2008-SP2-English-64Bit-Base-2012.12.12 (ami-554ac83c) (currentprice $0.006 / hour) * get the credentials and log in using: o rdesktop -g 80% -u Administrator -p 'password'amazon-hostname * turn off annoying IE security enhancements, and fire up IE * go to <http://sourceforge.net/projects/mingw/files/Installer/mingw-get-inst/> and download latest mingw-get-inst * run this -make sure to select the Msys and the developer toolkit in addition to the C compiler * navigate in explorer or a commandwindow to \Mingw\Msys\1.0 and run msys.bat * run this command to install some useful packages: o mingw-get installmsys-wget msys-rxvt msys-unzip * close that window * open a normal command window and run the following to createan unprivileged user and open an msys window as that user: o net user pgrunner SomePw1234 /add o runas /user:pgrunner"cmd /c \mingw\msys\1.0\msys.bat --rxvt" * in the rxvt window run: o wget http://ftp.postgresql.org/pub/snapshot/dev/postgresql-snapshot.tar.gz o tar -z -xf postgresql-snapshot.tar.gz o wget "http://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win64/Automated%20Builds/mingw-w64-bin_i686-mingw_20111220.zip/download" o mkdir /mingw64 o cd /mingw64 o unzip ~/mingw-w64-bin_i686-mingw_20111220.zip o cd ~/postgresql-9.3devel o export PATH=/mingw64/bin:$PATH o ./configure --host=x86_64-w64-mingw32 --without-zlib && make && make check + ( make some coffee and do the crossword or read War and Peace - this can takea while) Of course, for something faster you would pick a rather more expensive instance than t1.micro (say, m1.large, which usually has a spot price of $0.03 to $0.06 per hour), and if you're going to do this a lot you'll stash your stuff on an EBS volume that you can remount as needed, or zip it up and put it on S3, and then just pull it and unpack it in one hit from there. And there's barely enough room left on the root file system to do what's above anyway. But you can get the idea from this. Note that we no longer need to look elsewhere for extra tools like flex and bison as we once did - the ones that come with modern Msys should work just fine. If you want more build features (openssl, libxml, libxslt, perl, python etc) then there is extra work to do in getting hold of those. But then cross-compiling for those things might not be easy either. Somebody more adept at automating Amazon than I am should be able to automate most or all of this. Anyway that should be just about enough info for just about any competent developer to get going, even if they have never touched Windows. (No doubt one or two people will want to quibble with what I've done. That's fine - this is a description, not a prescription.) cheers andrew
pgsql-hackers by date: