Where do I post questions on build failures?

Could you please advise where should the following question be posted to.

2 Likes

Reposting from build channel:
Could you please advise on the following issue. I am building Postgresql library from 9.3.5 source as i cojld not find prebuild binaries for that version.
Continue: as per instructions at https://www.postgresql.org/docs/9.5/install-windows-full.html#AEN28860 which requests "5.8.3 or later " .
I installed perl 5.28 and added config.pl file with only one perl config ($config->{perl} =‘c:\Perl64’; # --with-perl) . When I tried to build
I got error below which points to missing perl*.lib (I assume perl528.lib ) . Similar issue was described by John Harvey https://www.postgresql.org/message-id/CABcP5fjEjgOsh097cWnQrsK9yCswo4DZxp-V47DKCH-MxY9Gig%40mail.gmail.comgenerating
Therefore I hoped some workaround was found since 2016. I have no way tochange Perl installer to install perl528.lib insated of perl528.dll and hope solution exists besides the creating .lib from dll.
Thanks
build psql
The determined version of Visual Studio is newer than the latest supported version. Returning the latest supported version instead. at src/tools/msvc/Mkvcbuild.pm line 63.
Detected hardware platform: Win32
Generating win32ver.rc for src\backend
Building src\pl\plperl\SPI.c…
Building src\pl\plperl\Util.c…
Building src\pl\plperl\perlchunks.h …
Building src\pl\plperl\plperl_opmask.h …
could not identify perl library version at src/tools/msvc/Mkvcbuild.pm line 218.

2 Likes

Hey there yactive,
This is as good a place as any at the moment, thanks creating the topic :slight_smile: I’ll give your issue look and keep you posted when I know something.

Hi yactive, ActiveState doesn’t support a Community Edition of ActivePerl compatible with PostgreSQL 9.3.5 anymore. I hear that anything beyond ActivePerl 5.16 will cause an issue. There are Strawberry Perl 5.16.* releases that might work for that specific PostgreSQL version, or you could contact sales@activestate.com to talk about a subscription plan for business/enterprise support for legacy versions.

Thank you @shean shean. Please see updates in response to @shnewto

1 Like

Hi shnewto,
ok,Thanks. I also got email from the support : … IE Browsers are not supported, but the latest Edge Browsers should be working.

The official latest version of 5.28 is our Featured Projects one, and it’s available…
https://platform.activestate.com/ActiveState/ActivePerl-5.28/distributions?platformID=78977bc8-0f32-519d-80f3-9043f059398c
There are thousands of other unofficial public versions built by users. Many of those don’t work. Are you maybe looking at one of the unofficial projects?

I reviewed the post, and that’s a very dubious hack. ActivePerls after 5.16 aren’t compatible with any of the MicroSoft compilers. Perl.org always says to use the compiler that the Perl was built with, and we heartily agree with that. Mixing compilers is a recipe for odd bugs, misaligned memory pointers, references that don’t free on exit, and broken symbols.

We had discussions with Postgres about using ActivePerls, and in the end they decided to go a different route. Postgres is expecting to use Strawberry Perl. If your plan is ultimately to work with Postgres on Windows, you should probably use the Perl distribution that Postgres is built for. Strawberry makes their old versions available with absolutely no warranty, so you can get any version after 5.8.8 that you think you would like to try (their old builds also still need Windows 7, so if you are on Windows 10, don’t go old)… Unfortunately, the document doesn’t indicate that there is an upper end to versions of ActivePerl that this process could use. The last ActivePerl that could potentially be used for this process would be ActivePerl 5.16, as it is the last version which we used a Visual Studio compiler, like Postgres is suggesting will be needed for the build tooling on this old version.

In order to get 5.14 or 5.16 as-is builds, you need to be on Team or Business Tier on The Platform. Those levels have access to the final roll up release of unsupported old versions of ActivePerl. Even then, I don’t recall them having a *.lib file. That seems like a build bug in Postgres. Possibly it thinks you’re attempting the build on Cygwin; making the wrong assumption about which Windows environment was in use was a pretty common problem back then.
I was able to build this project ok. but it still support team told me it would not create .lib import library (I did not check) which is required to build 9.3.5. As PostgreSQL 9.3.5 installation page indicates that Activestate Perl 5.8.3 or later …

1 Like

I noticed , that if I create my own project, it wont allow configuring Perl version and reverts to 5.14.4

1 Like

Hey @yactive, the issue reverting to Perl 5.14.4 isn’t something I’ve seen before and I’m curious to try and reproduce. Do you have a public project I can check out? Also, :man_facepalming: I didn’t even realize the platform lets you select ActivePerl versions as old and older than 5.16 (whether they build though is another story).

For this I just created “default” project https://platform.activestate.com/yactive/Postgress935win selecting windows 64. Note, the featured project builds ok, and I had to switch to chrome browser

1 Like

Ack, I’d hoped that because it was selectable it’d build. I guess we’re back to the recommendation from earlier.

There are Strawberry Perl 5.16.* releases that might work for that specific PostgreSQL version, or you could contact sales@activestate.com to talk about a subscription plan for business/enterprise support for legacy versions.