Re: Building with Visual C++

From: "Magnus Hagander" <mha(at)sollentuna(dot)net>
To: "Hiroshi Saito" <z-saito(at)guitar(dot)ocn(dot)ne(dot)jp>, "Bruce Momjian" <momjian(at)postgresql(dot)org>, "Dave Page" <dpage(at)vale-housing(dot)co(dot)uk>, "Tom Lane" <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: "Andrew Dunstan" <andrew(at)dunslane(dot)net>, <pgsql-patches(at)postgresql(dot)org>, "Chuck McDevitt" <cmcdevitt(at)greenplum(dot)com>
Subject: Re: Building with Visual C++
Date: 2006-05-02 07:46:45
Message-ID: 6BCB9D8A16AC4241919521715F4D8BCEA35332@algol.sollentuna.se
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-patches

> I am sorry in a very late reaction.......

No problem.

> > >>> We'll need a VC buildfarm member in place to catch us
> anytime we
> > >>> change the Makefiles in a way that the script doesn't
> understand.
> > >>
> > >> Not a problem - Snake has VC++ 6, 2003 and 2005 installed.
>
> This is a trial in the reason I have not fully investigated
> your code yet.
> And construction was tried by VC++6. It contains some problems.
> I know that this differs from the solution which you consider.
> However, I have some hope. As for present condition is the
> following situations.
>
> 1) Complain by access of a data directory.
> C:\pgsql>bin\initdb -E EUC_JP --no-locale -Ddata
> -LC:/pgsql/share The files belonging to this database system
> will be owned by user "postgres".
> This user must also own the server process.
> The database cluster will be initialized with locale C.
> initdb: could not access directory "data": No error

I saw similar error when the code in dirent.c was broken. I'd look
there.

> 2) $libdir is not looked for.
> C:\pgsql>bin\initdb -E EUC_JP --no-locale -Ddata
> -LC:/pgsql/share The files belonging to this database system
> will be owned by user "postgres".
> This user must also own the server process.
> The database cluster will be initialized with locale C.
> fixing permissions on existing directory data ... ok creating
> subdirectories ... ok selecting default max_connections ...
> 100 selecting default shared_buffers/max_fsm_pages ...
> 4000/200000 creating configuration files ... ok creating
> template1 database in data/base/1 ... ok initializing
> pg_authid ... ok enabling unlimited row size for system
> tables ... ok initializing dependencies ... ok creating
> system views ... ok loading system objects' descriptions ...
> ok creating conversions ... FATAL: could not access file
> "$libdir/ascii_and_mic":
> No such file or directory
> child process was terminated by signal 1
> initdb: removing contents of data directory "data"

I think I saw that one with a broken pg_config_paths.h. (The one
generated by the vc++ makefiles in the current tree will generate an
invalid one for the backend (perfectly ok for frontend), the MingW build
system will generate a working one. My build-file-parsing-script fixes
it for vc++ as well.)

> 3) could not select a suitable default timezone.
> C:\pgsql>bin\postmaster -i -Ddata
> FATAL: could not select a suitable default timezone
> DETAIL: It appears that your GMT time zone uses leap
> seconds. PostgreSQL does not support leap seconds.

I saw this as well when the dirent.c stuff didn't work properly. It
could also be because of pg_config_paths.h.

//Magnus

Browse pgsql-patches by date

  From Date Subject
Next Message Magnus Hagander 2006-05-02 08:13:31 Re: pgstat: remove delayed destroy / pipe:
Previous Message Hiroshi Saito 2006-05-02 04:50:01 Re: Building with Visual C++