Re: Problems using pgxs on Win32
От | Thomas Hallgren |
---|---|
Тема | Re: Problems using pgxs on Win32 |
Дата | |
Msg-id | thhal-0mrFhAknk3kA5aAHi9b3giY/sUqmDo5@mailblocks.com обсуждение исходный текст |
Ответ на | Re: Problems using pgxs on Win32 (Fabien COELHO <coelho@cri.ensmp.fr>) |
Список | pgsql-hackers |
Fabien, There's quite a few issues. Here's what I had to do in order to get my stuff working. I don't think it's any use for me to submit changes in form of a patch at this point since pgxs seems to be a bit on the drawing table still. I started another thread that was not win32 related also with the subject "Problems with pgxs" that I relate to here as well. >>... the directory "include/port/win32" is not present in the PostgreSQL>>binary installation. Without it, it's not possibleto compile on win32.>> Indeed, this directory is not installed by the "install" target.>> If it is really needed,it is no big deal. It's needed alright. It contains files included from c.h which in turn is included from postgres.h. > However if done so, it should> be under "include/server/port/win32/", not "include/port/win32", but this> should be takencare of by some macro, I guess.> Yes, a special macro is needed for this, I made a change in Makefile.global (around line 176), like so: ifdef PGXS override CPPFLAGS := -I$(includedir_server) -I$(includedir_server)/port/win32 -I$(includedir_internal) $(CPPFLAGS) else # not PGXS ... > You can try to copy by hand the directory into include/server/port/ of> your installation, and check whether it is theonly issue.> Next problem is that the all-lib target is wrong (see other thread). I can get around that by changing my local makefile and instead of the recommended: all: all-lib use: all: $(shlib) Final issue is BE_DLLLIBS in Makefile.port. It's defined as: BE_DLLLIBS= -L$(top_builddir)/src/backend -lpostgres The src/backend is of course not present but what's worse, the libpostgres.a library is not included in the install. I copied it from src/backend into the <prefix>/lib directory and changed the Makefile.port to read: ifdef PGXSBE_DLLLIBS= -lpostgres elseBE_DLLLIBS= -L$(top_builddir)/src/backend -lpostgres endif and everything build OK. Regards, Thomas Hallgren
В списке pgsql-hackers по дате отправления: