On 12/12/2013 03:49 AM, Sandeep Thakkar wrote:
The development package postgresql92-devel-9.2.6-1PGDG.rhel5.x86_64.rpm
and postgresql93-devel-9.3.2-1PGDG.rhel5.x86_64.rpm at
http://yum.postgresql.org/rpmchart.php

also has the port.h in the server include.

libpq-dev seems to install port.h in /usr/include/postgresql

root@debian:~/slony1-engine# dpkg-query -S /usr/include/postgresql/port.h
libpq-dev: /usr/include/postgresql/port.h

http://packages.debian.org/sid/i386/libpq-dev/filelist

The RPM packages don't port port.h there.

How about the attached patch? We will add the server includes back in on pgport builds for slonik.






On Thu, Dec 12, 2013 at 12:23 PM, Sandeep Thakkar
<[email protected]
<mailto:[email protected]>> wrote:

    I see the port.h also present in the postgresql-server-dev package.
    Here is the list:

    http://packages.debian.org/sid/i386/postgresql-server-dev-9.3/filelist

    if you build the sources, you will find port.h always in server include.


    On Wed, Dec 11, 2013 at 9:28 PM, Steve Singer
    <[email protected] <mailto:[email protected]>> wrote:

        On 12/11/2013 05:14 AM, Sandeep Thakkar wrote:

            How did you install postgresql on Debian? I have built
            PosrgreSQL
            sources on CentOS, OSX and Windows and the port.h is
            installed in
            include/postgresql/server/__port.h and
            include/postgresql/internal/__port.h
            on all platforms.



        The packages from apt.postgresql.org <http://apt.postgresql.org>




            On Sun, Dec 8, 2013 at 9:40 AM, Steve Singer
            <[email protected] <mailto:[email protected]>
            <mailto:[email protected].__info
            <mailto:[email protected]>>> wrote:

                 On 11/29/2013 04:30 AM, Sandeep Thakkar wrote:

                     The only work around I see now if to set the
            CPPFLAGS in the
                     environment
                     to the server include directory, so that
            CPPFLAGS_CLIENT takes
                     it in the
                     Makefile.global.



                 So in debian (or at least with Wheezy) where the
            original bug 315
                 was reported


                 libpq-dev puts port.h in /usr/include/postgresql/port.h
            so it gets
                 picked up by the client include paths.  I am able to do
            a build with
                 --with-pgport

                 This isn't actually a problem on debian, is the problem
            on OSX that
                 port.h isn't being put in the libpq header directories?
              Should it?
                 Where do other platforms/distributions put port.h ?



                     On Tue, Nov 26, 2013 at 7:05 PM, Steve Singer
                     <[email protected]
            <mailto:[email protected]>
            <mailto:[email protected].__info
            <mailto:[email protected]>>
                     <mailto:[email protected].
            <mailto:[email protected].>____info

                     <mailto:[email protected].__info
            <mailto:[email protected]>>>> wrote:

                          On 11/26/2013 04:14 AM, Sandeep Thakkar wrote:

                              Hi

                              I was building Slony1-2.2.1 sources on Mac
            OS X and
                     found that
                              the build
                              fails because of:

                              slonik.c:49:18: error: port.h: No such
            file or directory
                              CPPFLAGS is now defined to just
            CPPFLAGS_CLIENT that
                     does not
                              include
                              the PG "server" include directory

              ('<pginstall>/include/______postgresql/server' contains

                     port.h). Any

                              specific
                              reason why this change was made in 2.2.1?



            http://www.slony.info/______bugzilla/show_bug.cgi?id=315
            <http://www.slony.info/____bugzilla/show_bug.cgi?id=315>

            <http://www.slony.info/____bugzilla/show_bug.cgi?id=315
            <http://www.slony.info/__bugzilla/show_bug.cgi?id=315>>



              <http://www.slony.info/____bugzilla/show_bug.cgi?id=315
            <http://www.slony.info/__bugzilla/show_bug.cgi?id=315>

            <http://www.slony.info/__bugzilla/show_bug.cgi?id=315
            <http://www.slony.info/bugzilla/show_bug.cgi?id=315>>>

                          On systems that have multiple versions of
            postgresql
                     installed might
                          pull in files for the client from one version
            and server
                     includes
                          from another.  You used to be able to get away
            with this
                     but in more
                          recent versions of PG this breaks things.

                          I am not exactly sure what the best way to
            deal with this
                     in the
                          PGPORT case? I have a feeling just adding the
            server
                     includes back
                          in on --with-pgport builds will get us back to
            the bug 315
                     situation





                              --
                              Sandeep Thakkar



              _____________________________________________________
                              Slony1-general mailing list
                              [email protected].______info
                              <mailto:Slony1-general@lists.
            <mailto:Slony1-general@lists.>____slony.info <http://slony.info>
                     <mailto:Slony1-general@lists.__slony.info
            <mailto:[email protected]>>>
            http://lists.slony.info/______mailman/listinfo/slony1-______general
            <http://lists.slony.info/____mailman/listinfo/slony1-____general>

            <http://lists.slony.info/____mailman/listinfo/slony1-____general
            <http://lists.slony.info/__mailman/listinfo/slony1-__general>>




            <http://lists.slony.info/____mailman/listinfo/slony1-____general
            <http://lists.slony.info/__mailman/listinfo/slony1-__general>

            <http://lists.slony.info/__mailman/listinfo/slony1-__general
            <http://lists.slony.info/mailman/listinfo/slony1-general>>>





                     --
                     Sandeep Thakkar





            --
            Sandeep Thakkar





    --
    Sandeep Thakkar




--
Sandeep Thakkar


>From 169db061d90ba84f3a1b83c62e4a556d198c7a79 Mon Sep 17 00:00:00 2001
From: Steve Singer <[email protected]>
Date: Thu, 12 Dec 2013 09:26:04 -0500
Subject: [PATCH] Use server includes for pgport when building slonik

When building with --with-pgport slonik needs to include port.h
port.h is normally found under the server include directory but
some distributions (ie debian libpq-dev) also include it in
/usr/include/postgresql

The fix for bug 315 removed the server include paths from
all client programs including slonik.  This went too far,
the actual issue with bug 315 was src/backend failing because
it pulled in the client headers.

If we are building with pgport we will pull in the server
include directories for slonik
---
 src/slonik/Makefile |    5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/slonik/Makefile b/src/slonik/Makefile
index 9929882..54c8792 100644
--- a/src/slonik/Makefile
+++ b/src/slonik/Makefile
@@ -10,8 +10,11 @@ slony_subdir = src/slonik
 slony_top_builddir = ../..
 SLFILEDESC="Slony command interpreter"
 include $(slony_top_builddir)/Makefile.global
+ifeq ($(HAVE_PGPORT),1)
+CPPFLAGS:=$(CPPFLAGS_SERVER) $(CPPFLAGS_CLIENT)
+else
 CPPFLAGS:=$(CPPFLAGS_CLIENT)
-
+endif
 ifeq ($(PORTNAME), aix)
   CFLAGS += -D_LARGE_FILES
 endif
-- 
1.7.10.4

_______________________________________________
Slony1-general mailing list
[email protected]
http://lists.slony.info/mailman/listinfo/slony1-general

Reply via email to