Thread

  1. Ecpg dependency

    Filip Janus <fjanus@redhat.com> — 2020-03-10T12:47:14Z

    Hello,
    After upgrade from 11.2 to 12.2 I found, that build of ecpg component
    depends on pgcommon_shlib and pgport_shlib.  But build of ecpg
    doesn't include build of pgcommon_shlib and pgport_shlib. That means, if I
    want to build ecpg, first I need to build  pgcommon_shlib and pgport_shlib
    and after that I am able to build ecpg.
    
    I would like to ask if this behavior is expected or not ? Because previous
    version doesn't require this separate builds.
    
    Thanks
    Filip Januš
    
  2. Re: Ecpg dependency

    Bruce Momjian <bruce@momjian.us> — 2020-03-21T18:14:44Z

    On Tue, Mar 10, 2020 at 01:47:14PM +0100, Filip Janus wrote:
    > Hello,
    > After upgrade from 11.2 to 12.2 I found, that build of ecpg component depends
    > on pgcommon_shlib and pgport_shlib.  But build of ecpg doesn't include build
    > of pgcommon_shlib and pgport_shlib. That means, if I want to build ecpg, first
    > I need to build  pgcommon_shlib and pgport_shlib and after that I am able to
    > build ecpg.
    > 
    > I would like to ask if this behavior is expected or not ? Because previous
    > version doesn't require this separate builds.
    
    Ah, I see the problem, and this is a new bug in PG 12.  The attached
    patch fixes PG 12 and master.
       
    -- 
      Bruce Momjian  <bruce@momjian.us>        https://momjian.us
      EnterpriseDB                             https://enterprisedb.com
    
    + As you are, so once was I.  As I am, so you will be. +
    +                      Ancient Roman grave inscription +
    
  3. Re: Ecpg dependency

    Bruce Momjian <bruce@momjian.us> — 2020-03-21T18:51:05Z

    On Sat, Mar 21, 2020 at 02:14:44PM -0400, Bruce Momjian wrote:
    > On Tue, Mar 10, 2020 at 01:47:14PM +0100, Filip Janus wrote:
    > > Hello,
    > > After upgrade from 11.2 to 12.2 I found, that build of ecpg component depends
    > > on pgcommon_shlib and pgport_shlib.  But build of ecpg doesn't include build
    > > of pgcommon_shlib and pgport_shlib. That means, if I want to build ecpg, first
    > > I need to build  pgcommon_shlib and pgport_shlib and after that I am able to
    > > build ecpg.
    > > 
    > > I would like to ask if this behavior is expected or not ? Because previous
    > > version doesn't require this separate builds.
    > 
    > Ah, I see the problem, and this is a new bug in PG 12.  The attached
    > patch fixes PG 12 and master.
    
    > + all-lib: | submake-libpgport
    
    Oh, I forgot to mention I got this line from
    src/interfaces/libpq/Makefile:
    
    -- 
      Bruce Momjian  <bruce@momjian.us>        https://momjian.us
      EnterpriseDB                             https://enterprisedb.com
    
    + As you are, so once was I.  As I am, so you will be. +
    +                      Ancient Roman grave inscription +
    
    
    
    
  4. Re: Ecpg dependency

    Dagfinn Ilmari Mannsåker <ilmari@ilmari.org> — 2020-03-21T19:30:48Z

    Bruce Momjian <bruce@momjian.us> writes:
    
    > On Sat, Mar 21, 2020 at 02:14:44PM -0400, Bruce Momjian wrote:
    >> On Tue, Mar 10, 2020 at 01:47:14PM +0100, Filip Janus wrote:
    >> > Hello,
    >> > After upgrade from 11.2 to 12.2 I found, that build of ecpg component depends
    >> > on pgcommon_shlib and pgport_shlib.  But build of ecpg doesn't include build
    >> > of pgcommon_shlib and pgport_shlib. That means, if I want to build ecpg, first
    >> > I need to build  pgcommon_shlib and pgport_shlib and after that I am able to
    >> > build ecpg.
    >> > 
    >> > I would like to ask if this behavior is expected or not ? Because previous
    >> > version doesn't require this separate builds.
    >> 
    >> Ah, I see the problem, and this is a new bug in PG 12.  The attached
    >> patch fixes PG 12 and master.
    >
    >> + all-lib: | submake-libpgport
    >
    > Oh, I forgot to mention I got this line from
    > src/interfaces/libpq/Makefile:
    
    And that line is wrong, but my patch to fix it¹ seems to have fallen
    between the cracks.
    
    [1] https://www.postgresql.org/message-id/flat/871rsa13ae.fsf%40wibble.ilmari.org 
    
    Adding the dependency to `all-lib` only fixes it for serial builds. To
    fix it properly, so it works with parallel builds (e.g. 'make -j4 -C
    src/interfaces/ecpg', the dependency needs to be declared via
    SHLIB_PREREQS, as attached
    
    - ilmari
    -- 
    - Twitter seems more influential [than blogs] in the 'gets reported in
      the mainstream press' sense at least.               - Matt McLeod
    - That'd be because the content of a tweet is easier to condense down
      to a mainstream media article.                      - Calle Dybedahl
    
    
  5. Re: Ecpg dependency

    Bruce Momjian <bruce@momjian.us> — 2020-03-21T22:13:03Z

    On Sat, Mar 21, 2020 at 07:30:48PM +0000, Dagfinn Ilmari Mannsåker wrote:
    > Bruce Momjian <bruce@momjian.us> writes:
    > 
    > > On Sat, Mar 21, 2020 at 02:14:44PM -0400, Bruce Momjian wrote:
    > >> On Tue, Mar 10, 2020 at 01:47:14PM +0100, Filip Janus wrote:
    > >> > Hello,
    > >> > After upgrade from 11.2 to 12.2 I found, that build of ecpg component depends
    > >> > on pgcommon_shlib and pgport_shlib.  But build of ecpg doesn't include build
    > >> > of pgcommon_shlib and pgport_shlib. That means, if I want to build ecpg, first
    > >> > I need to build  pgcommon_shlib and pgport_shlib and after that I am able to
    > >> > build ecpg.
    > >> > 
    > >> > I would like to ask if this behavior is expected or not ? Because previous
    > >> > version doesn't require this separate builds.
    > >> 
    > >> Ah, I see the problem, and this is a new bug in PG 12.  The attached
    > >> patch fixes PG 12 and master.
    > >
    > >> + all-lib: | submake-libpgport
    > >
    > > Oh, I forgot to mention I got this line from
    > > src/interfaces/libpq/Makefile:
    > 
    > And that line is wrong, but my patch to fix it¹ seems to have fallen
    > between the cracks.
    > 
    > [1] https://www.postgresql.org/message-id/flat/871rsa13ae.fsf%40wibble.ilmari.org 
    > 
    > Adding the dependency to `all-lib` only fixes it for serial builds. To
    > fix it properly, so it works with parallel builds (e.g. 'make -j4 -C
    > src/interfaces/ecpg', the dependency needs to be declared via
    > SHLIB_PREREQS, as attached
    
    Oh, good catch.  I did not notice that patch before.  Adding that change
    to src/interfaces/ecpg/pgtypeslib/Makefile fixes the stand-alone
    compile.
    
    The attached patch does this, and changes libpq to use it too, so
    parallel Make works there too.
    
    -- 
      Bruce Momjian  <bruce@momjian.us>        https://momjian.us
      EnterpriseDB                             https://enterprisedb.com
    
    + As you are, so once was I.  As I am, so you will be. +
    +                      Ancient Roman grave inscription +
    
  6. Re: Ecpg dependency

    Bruce Momjian <bruce@momjian.us> — 2020-03-31T18:18:31Z

    On Sat, Mar 21, 2020 at 06:13:03PM -0400, Bruce Momjian wrote:
    > On Sat, Mar 21, 2020 at 07:30:48PM +0000, Dagfinn Ilmari Mannsåker wrote:
    > > Bruce Momjian <bruce@momjian.us> writes:
    > > > On Sat, Mar 21, 2020 at 02:14:44PM -0400, Bruce Momjian wrote:
    > > > Oh, I forgot to mention I got this line from
    > > > src/interfaces/libpq/Makefile:
    > > 
    > > And that line is wrong, but my patch to fix it¹ seems to have fallen
    > > between the cracks.
    > > 
    > > [1] https://www.postgresql.org/message-id/flat/871rsa13ae.fsf%40wibble.ilmari.org 
    > > 
    > > Adding the dependency to `all-lib` only fixes it for serial builds. To
    > > fix it properly, so it works with parallel builds (e.g. 'make -j4 -C
    > > src/interfaces/ecpg', the dependency needs to be declared via
    > > SHLIB_PREREQS, as attached
    > 
    > Oh, good catch.  I did not notice that patch before.  Adding that change
    > to src/interfaces/ecpg/pgtypeslib/Makefile fixes the stand-alone
    > compile.
    
    Patch applied and backpatched to PG 12.  Thanks.
    
    -- 
      Bruce Momjian  <bruce@momjian.us>        https://momjian.us
      EnterpriseDB                             https://enterprisedb.com
    
    + As you are, so once was I.  As I am, so you will be. +
    +                      Ancient Roman grave inscription +