Re: Building with Visual C++ - Mailing list pgsql-patches

From Magnus Hagander
Subject Re: Building with Visual C++
Date
Msg-id 6BCB9D8A16AC4241919521715F4D8BCEA35332@algol.sollentuna.se
Whole thread Raw
In response to Building with Visual C++  ("Magnus Hagander" <mha@sollentuna.net>)
List 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

pgsql-patches by date:

Previous
From: "Hiroshi Saito"
Date:
Subject: Re: Building with Visual C++
Next
From: "Magnus Hagander"
Date:
Subject: Re: pgstat: remove delayed destroy / pipe: