Yes I also saw that after installing 64-bit, the 32-bit "bin" and "include" directories were removed.
I think the content of the "include" are common for both 32- and 64-bit. Windows can run both 32-bit and
64-bit binaries so removing these 2 directories is probably okay. Just my guess.
Again, thanks!
Brian Ye
On Tue, May 18, 2021 at 12:57 AM Michael Paquier <michael@paquier.xyz> wrote:
On Mon, May 17, 2021 at 08:07:02PM +0000, PG Doc comments form wrote: > The Solution.pm file has the following lines: > if ($self->{options}->{gss}) > { > $proj->AddIncludeDir($self->{options}->{gss} . '\inc\krb5'); > $proj->AddLibrary($self->{options}->{gss} . '\lib\i386\krb5_32.lib'); > $proj->AddLibrary($self->{options}->{gss} . > '\lib\i386\comerr32.lib'); > $proj->AddLibrary($self->{options}->{gss} . > '\lib\i386\gssapi32.lib'); > } > I had to change them to the following or the compiling failed: > if ($self->{options}->{gss}) > { > $proj->AddIncludeDir($self->{options}->{gss} . '\include'); > $proj->AddIncludeDir($self->{options}->{gss} . '\include\krb5'); > $proj->AddLibrary($self->{options}->{gss} . '\lib\amd64\krb5_64.lib'); > $proj->AddLibrary($self->{options}->{gss} . '\lib\amd64\comerr64.lib'); > $proj->AddLibrary($self->{options}->{gss} . '\lib\amd64\gssapi64.lib');
Yes, you are right. I have been playing with the deliverables we recommend in the docs as of [1], and there are a couple of gotchas here: - For the 32b and 64b MSI installer, the include path is not "inc", but "include". So I could not get the installation on Win32 to work either on HEAD. - There is a sub-path called "include/krb5", which is not really necessary except if we use krb5.h, but we don't. Upstream code recommends actually to use krb5/krb5.h, meaning that only "include/" would be sufficient. Keeping "include/krb5/" around is not a big deal either.
This has not been changed in ages, so perhaps few have bothered. Anyway, the attached patch fixes both the 32b and 64b builds for me. Another interesting thing is that the installation of krb5 for amd64 and i386 cannot co-exist together, so installing one removes the second automatically.