Cannot build docs of 9.1 on Windows

Started by MauMauover 14 years ago6 messages
#1MauMau
maumau307@gmail.com

Hello,

I posted the following mail to pgsql-docs, but let me re-post it here
because I'm afraid much less people watch pgsql-docs and pgsql-docs might be
inactive. And the problem is not about the contents of docs but about the
build system, so I thought here might be better.

I'm developing my first patch for PostgreSQL. The target is v9.2.

I'm trying to build HTML docs on Windows Vista (32-bit) with the latest v9.1
Git branch, but the build fails. I followed the procedures in the v9.0
manual. Could you tell me what might be the cause? The situation is as
follows:

The latest commit on my Git repository that "git log -1" shows is:

--------------------------------------------------
commit 9bb6d9795253bb521f81c626fea49a704a369ca9
Author: Robert Haas <rhaas@postgresql.org>
Date: Fri May 13 15:47:31 2011 -0400

More cleanup of FOREIGN TABLE permissions handling.
--------------------------------------------------

I could successfully build and install the program, do initdb, and
start/stop the PostgreSQL server.

The whole content of src/tools/msvc/buildenv.pl is:

$ENV{M4} = 'C:\GNUWin32\bin\m4.exe';
$ENV{DOCROOT} = 'D:\pgdev\doctool';

I ran "builddoc.bat > out.txt 2>&1" in src/tools/msvc. I expected to get
"html" directory in doc/src/sgml, but I couldn't get it after minutes of
execution. The output of builddoc.bat contains some errors. I'll show the
partial contents of out.txt below. The size of out.txt is too large (20.9MB)
to attach. out.txt appears to contain all the HTML manual.

--------------------------------------------------
Hash %ENV missing the % in argument 1 of each() at -e line 1.
Hash %ENV missing the % in argument 1 of each() at -e line 1.
Can't open perl script "make-errcodes-table.pl": No such file or directory
Running first build...
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd&quot;&gt;
<HTML

<HEAD
<TITLE
PostgreSQL 9.1beta1 Documentation</TITLE
<META

...

</BODY
</HTML

Running collateindex...
collateindex.pl: file "HTML.index" does not exist
Running second build...
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd&quot;&gt;
<HTML

<HEAD
<TITLE
PostgreSQL 9.1beta1 Documentation</TITLE
<META

...

</BODY
</HTML

Docs build complete.
--------------------------------------------------

Regards,
MauMau

#2Robert Haas
robertmhaas@gmail.com
In reply to: MauMau (#1)
Re: Cannot build docs of 9.1 on Windows

2011/5/16 MauMau <maumau307@gmail.com>:

Can't open perl script "make-errcodes-table.pl": No such file or directory

I think this is the root of the problem. We have no script called
make-errcodes-table.pl. Can you try changing it to
generate-errcodes-table.pl and see if that works?

--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

#3Andrew Dunstan
andrew@dunslane.net
In reply to: Robert Haas (#2)
Re: Cannot build docs of 9.1 on Windows

On Thu, May 19, 2011 10:32 am, Robert Haas wrote:

2011/5/16 MauMau <maumau307@gmail.com>:

Can't open perl script "make-errcodes-table.pl": No such file or
directory

I think this is the root of the problem. We have no script called
make-errcodes-table.pl. Can you try changing it to
generate-errcodes-table.pl and see if that works?

Building docs under Windows in the buildfarm is on my TODO list. We
already support it (as of a few weeks ago) for non-Windows build systems.

That will help us make sure we don't have this kind of drift.

cheers

andrew

#4MauMau
maumau307@gmail.com
In reply to: Andrew Dunstan (#3)
Re: Cannot build docs of 9.1 on Windows

From: "Andrew Dunstan" <andrew@dunslane.net>

On Thu, May 19, 2011 10:32 am, Robert Haas wrote:

2011/5/16 MauMau <maumau307@gmail.com>:

Can't open perl script "make-errcodes-table.pl": No such file or
directory

I think this is the root of the problem. We have no script called
make-errcodes-table.pl. Can you try changing it to
generate-errcodes-table.pl and see if that works?

Building docs under Windows in the buildfarm is on my TODO list. We
already support it (as of a few weeks ago) for non-Windows build systems.

That will help us make sure we don't have this kind of drift.

Thank you. I could remove the error "Can't open perl script
"make-errcodes-table.pl": N..." by changing "make-errcodes-table.pl" to
"generate-errcodes-table.pl", but all other results seems to be same as
before.

Andrew, could you announce the commit when you have successfully built docs
on Windows? Can I know that fact by watching pgsql-hackers and pgsql-docs?
I'll git-fetch the patch.

Regards
MauMau

#5Andrew Dunstan
andrew@dunslane.net
In reply to: MauMau (#4)
1 attachment(s)
Re: Cannot build docs of 9.1 on Windows

On 05/19/2011 06:29 PM, MauMau wrote:

From: "Andrew Dunstan" <andrew@dunslane.net>

On Thu, May 19, 2011 10:32 am, Robert Haas wrote:

2011/5/16 MauMau <maumau307@gmail.com>:

Can't open perl script "make-errcodes-table.pl": No such file or
directory

I think this is the root of the problem. We have no script called
make-errcodes-table.pl. Can you try changing it to
generate-errcodes-table.pl and see if that works?

Building docs under Windows in the buildfarm is on my TODO list. We
already support it (as of a few weeks ago) for non-Windows build
systems.

That will help us make sure we don't have this kind of drift.

Thank you. I could remove the error "Can't open perl script
"make-errcodes-table.pl": N..." by changing "make-errcodes-table.pl"
to "generate-errcodes-table.pl", but all other results seems to be
same as before.

Andrew, could you announce the commit when you have successfully built
docs on Windows? Can I know that fact by watching pgsql-hackers and
pgsql-docs? I'll git-fetch the patch.

builddoc.bat failed on my system and reading it made my head hurt. So I
did what I've done with other bat files and rewrote it in Perl. The
result is attached. It works for me, and should be a dropin replacement.
Just put it in the src/tools/msvc directory and run "perl builddoc.pl".
Please test it and if it works for you we'll use it and make
builddoc.bat a thin wrapper like build.bat and vcregress.bat.

cheers

andrew

Attachments:

builddoc.plapplication/x-perl; name=builddoc.plDownload
#6MauMau
maumau307@gmail.com
In reply to: Andrew Dunstan (#5)
Re: Cannot build docs of 9.1 on Windows

Andrew,

From: "Andrew Dunstan" <andrew@dunslane.net>

builddoc.bat failed on my system and reading it made my head hurt. So I
did what I've done with other bat files and rewrote it in Perl. The
result is attached. It works for me, and should be a dropin replacement.
Just put it in the src/tools/msvc directory and run "perl builddoc.pl".
Please test it and if it works for you we'll use it and make
builddoc.bat a thin wrapper like build.bat and vcregress.bat.

It worked successfully! doc\src\sgml\html directory and its contents was
created, and the HTML contents appear to be correct. Thank you very much.
The output of "perl builddoc.pl" was as follows:

--------------------------------------------------
perl mk_feature_tables.pl YES
../../../src/backend/catalog/sql_feature_packages.txt
../../../src/backend/catalog/sql_features.txt > features-supported.sgmlperl
mk_feature_tables.pl NO
"../../../src/backend/catalog/sql_feature_packages.txt"
"../../../src/backend/catalog/sql_features.txt" > features-unsupported.sgml
perl generate-errcodes-table.pl "../../../src/backend/utils/errcodes.txt" >
errcodes-table.sgml
Running first build...
"D:\pgdev\doctool/openjade-1.3.1/bin/openjade" -V
html-index -wall -wno-unused-param -wno-empty -D . -c
"D:\pgdev\doctool/docbook-dsssl-1.79/catalog" -d stylesheet.dsl -i
output-html -t sgml postgres.sgml 2>&1 | findstr /V "DTDDECL catalog entries
are not supported"
Running collateindex...
perl "D:\pgdev\doctool/docbook-dsssl-1.79/bin/collateindex.pl" -f -g -i
bookindex -o bookindex.sgml HTML.index
Processing HTML.index...
2158 entries loaded...
0 entries ignored...
Done.
Running second build...
"D:\pgdev\doctool/openjade-1.3.1/bin/openjade" -wall -wno-unused-param -wno-empty
-D . -c "D:\pgdev\doctool/docbook-dsssl-1.79/catalog" -d stylesheet.dsl -t
sgml -i output-html -i include-index postgres.sgml 2>&1 | findstr /V
"DTDDECL catalog entries are not supported"
Docs build complete.
--------------------------------------------------