On Tue, Aug 8, 2017 at 12:15 PM, Sandeep Thakkar <sandeep.thak...@enterprisedb.com> wrote: > I copied and pasted that portion of the build log into file build.log > (attached) for Windows 32bit and Windows 64bit.
Can you also share the output of 'perl -V' on each system? Comparing the 32-bit log and the 64-bit log, I see the following differences: 32-bit has extra options /IC:\pgBuild32\uuid\include /Oy- /analyze- /D _USE_32BIT_TIME_T 64-bit has extra options /D WIN64 /D CONSERVATIVE /D USE_SITECUSTOMIZE Both builds have several copies of /IC:\pgBuild32\include or /IC:\pgBuild64\include, but the 64-bit build has an extra one (I wrote that command on Linux, might need different quoting to work on Windows.) I'm suspicious about _USE_32BIT_TIME_T. The contents of a PerlInterpreter are defined in Perl's intrpvar.h, and one of those lines is: PERLVAR(I, basetime, Time_t) /* $^T */ Now, Time_t is defined as time_t elsewhere in the Perl headers, so if the plperl build and the Perl interpreter build had different ideas about whether that flag was set, the interpreter sizes would be different. Unfortunately for this theory, if I'm interpreting the screenshot you posted correctly, the sizes are different by exactly 16 bytes, and I can't see how a difference in the size of time_t could account for more than 8 bytes (4 bytes of actual size change + 4 bytes of padding). -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company -- Sent via pgsql-hackers mailing list (firstname.lastname@example.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers