Re: Missing file versions for a bunch of dll/exe files in Windows builds

From: "MauMau" <maumau307(at)gmail(dot)com>
To: "Michael Paquier" <michael(dot)paquier(at)gmail(dot)com>, "Magnus Hagander" <magnus(at)hagander(dot)net>
Cc: "pgsql-bugs" <pgsql-bugs(at)postgresql(dot)org>
Subject: Re: Missing file versions for a bunch of dll/exe files in Windows builds
Date: 2014-06-20 12:02:34
Message-ID: 25735302B9D94C6EB8E999E48A8663C3@maumau
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

From: "Michael Paquier" <michael(dot)paquier(at)gmail(dot)com>
> Patch 1 should be definitely applied, that's an existing bug. Patch 2
> and 3 are here to ensure that all the dll/exe files generated have a
> version number associated with a build on Windows, something
> particularly useful for upgrades, and important for consistency among
> files...

+1 for all these three patches. There seems to be a few issues.

(1)
The patches applied cleanly, but the build failed. I used MSVC 2008
Express. build.bat output the following messages at the end. I'm sorry the
messages are in Japanese; the compiler didn't emit English messages even
when I switched the code page with chcp.

--------------------------------------------------
...
cl : コマンド ライン warning D9024: ソースファイルの種類
'.\src\timezone\win32ver.rc' は認識できませんでした。オブジェクト ファイルと仮定します。
cl : コマンド ライン warning D9027: ソースファイル
'.\src\timezone\win32ver.rc' は無視されます。
cl : コマンド ライン warning D9021: 何も実行されませんでした

"D:\postgresql-9.4\pgsql.sln" (既定のターゲット) (1) ->
(postgres ターゲット) ->
LINK : fatal error LNK1104: ファイル
'.\release\postgres\src_timezone_win32ver.obj' を開くことができません。

6 警告
1 エラー

経過時間 00:06:19.96
--------------------------------------------------

The cause seems to be the following part in postgres.vcproj.
src\timezone\win32ver.rc entry is present, while it's not without the
patches.

--------------------------------------------------
<File RelativePath="src\timezone\strftime.c" />
<File RelativePath="src\timezone\win32ver.rc"><FileConfiguration
Name="Debug|Win32"><Tool Name="VCCLCompilerTool"
ObjectFile=".\debug\postgres\src_timezone_win32ver.obj"
/></FileConfiguration><FileConfiguration Name="Release|Win32"><Tool
Name="VCCLCompilerTool"
ObjectFile=".\release\postgres\src_timezone_win32ver.obj"
/></FileConfiguration></File>
</Filter>
</Filter>
</Files>
<Globals/>
</VisualStudioProject>
--------------------------------------------------

(2)
The line in contrib/adminpack/Makefile has one extra space after "-". Other
contribs have one space there.

PGFILEDESC = "adminpack - Support functions for pgAdmin"

(3)
Makefiles in contrib/int_agg and contrib/intarray do not have PGFILEDESC.

(4)
Some existing Makefiles should have better description. If you find it
appropriate to include the improvements in your patch, could you improve the
description?

* src/bin/pg_basebackup/Makefile has the line:

PGFILEDESC = "pg_basebackup - takes a streaming base backup of a PostgreSQL
instance"

On the other hand, src/bin/pg_dump/Makefile has:

PGFILEDESC = "pg_dump/pg_restore/pg_dumpall - backup and restore PostgreSQL
databases"

I think pg_basebackup's Makefile should follow the style of pg_dump, because
multiple programs are built in pg_basebackup/.

* contrib/pg_xlogdump/Makefile lacks the command description.

PGFILEDESC = "pg_xlogdump"

Regards
MauMau

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Michael Paquier 2014-06-20 14:17:13 Re: Missing file versions for a bunch of dll/exe files in Windows builds
Previous Message Andres Freund 2014-06-20 10:11:05 Re: BUG #10533: 9.4 beta1 assertion failure in autovacuum process