Обсуждение: pgsql: Implement a few changes to how shared libraries and dynamically

Поиск
Список
Период
Сортировка

pgsql: Implement a few changes to how shared libraries and dynamically

От
petere@postgresql.org (Peter Eisentraut)
Дата:
Log Message:
-----------
Implement a few changes to how shared libraries and dynamically loadable
modules are built.  Foremost, it creates a solid distinction between these two
types of targets based on what had already been implemented and duplicated in
ad hoc ways before.  Specifically,

- Dynamically loadable modules no longer get a soname.  The numbers previously
set in the makefiles were dummy numbers anyway, and the presence of a soname
upset a few packaging tools, so it is nicer not to have one.

- The cumbersome detour taken on installation (build a libfoo.so.0.0.0 and
then override the rule to install foo.so instead) is removed.

- Lots of duplicated code simplified.

Modified Files:
--------------
    pgsql/src:
        Makefile.shlib (r1.113 -> r1.114)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/Makefile.shlib?r1=1.113&r2=1.114)
    pgsql/src/backend/snowball:
        Makefile (r1.5 -> r1.6)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/snowball/Makefile?r1=1.5&r2=1.6)
    pgsql/src/backend/utils/mb/conversion_procs:
        proc.mk (r1.8 -> r1.9)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/mb/conversion_procs/proc.mk?r1=1.8&r2=1.9)
    pgsql/src/interfaces/ecpg/compatlib:
        Makefile (r1.39 -> r1.40)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/interfaces/ecpg/compatlib/Makefile?r1=1.39&r2=1.40)
    pgsql/src/interfaces/ecpg/ecpglib:
        Makefile (r1.58 -> r1.59)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/interfaces/ecpg/ecpglib/Makefile?r1=1.58&r2=1.59)
    pgsql/src/interfaces/ecpg/pgtypeslib:
        Makefile (r1.41 -> r1.42)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/interfaces/ecpg/pgtypeslib/Makefile?r1=1.41&r2=1.42)
    pgsql/src/interfaces/libpq:
        Makefile (r1.164 -> r1.165)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/interfaces/libpq/Makefile?r1=1.164&r2=1.165)
    pgsql/src/makefiles:
        pgxs.mk (r1.11 -> r1.12)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/makefiles/pgxs.mk?r1=1.11&r2=1.12)
    pgsql/src/pl/plperl:
        GNUmakefile (r1.33 -> r1.34)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/pl/plperl/GNUmakefile?r1=1.33&r2=1.34)
    pgsql/src/pl/plpgsql/src:
        Makefile (r1.31 -> r1.32)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/pl/plpgsql/src/Makefile?r1=1.31&r2=1.32)
    pgsql/src/pl/plpython:
        Makefile (r1.28 -> r1.29)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/pl/plpython/Makefile?r1=1.28&r2=1.29)
    pgsql/src/pl/tcl:
        Makefile (r1.50 -> r1.51)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/pl/tcl/Makefile?r1=1.50&r2=1.51)
    pgsql/src/test/regress:
        GNUmakefile (r1.72 -> r1.73)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/test/regress/GNUmakefile?r1=1.72&r2=1.73)
    pgsql/src/tutorial:
        Makefile (r1.20 -> r1.21)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/tutorial/Makefile?r1=1.20&r2=1.21)

Re: pgsql: Implement a few changes to how shared libraries and dynamically

От
Tom Lane
Дата:
petere@postgresql.org (Peter Eisentraut) writes:
> Implement a few changes to how shared libraries and dynamically loadable
> modules are built.

Seems this patch has broken all the Windows buildfarm animals ... is
anybody on that?

            regards, tom lane

Re: [HACKERS] pgsql: Implement a few changes to how shared libraries and dynamically

От
Andrew Dunstan
Дата:

Tom Lane wrote:
> petere@postgresql.org (Peter Eisentraut) writes:
>
>> Implement a few changes to how shared libraries and dynamically loadable
>> modules are built.
>>
>
> Seems this patch has broken all the Windows buildfarm animals ... is
> anybody on that?
>

Not all, only those that use the Makefile build system, i.e. MSVC is not
failing, but MinGW and Cygwin are.

Specifically, we are failing thus during initdb:

creating conversions ... FATAL:  could not access file "$libdir/ascii_and_mic": No such file or directory


I can't immediately see the cause, although presumably it's the changes in Makefile.shlib that have done it.

Maybe we need to set up a Windows machine or two somewhere so that committers can test out stuff like this ...

cheers

andrew




Re: [HACKERS] pgsql: Implement a few changes to how shared libraries and dynamically

От
Magnus Hagander
Дата:
Andrew Dunstan wrote:
>
>
> Tom Lane wrote:
> > petere@postgresql.org (Peter Eisentraut) writes:
> >
> >> Implement a few changes to how shared libraries and dynamically
> >> loadable modules are built.
> >>
> >
> > Seems this patch has broken all the Windows buildfarm animals ... is
> > anybody on that?
> >
>
> Not all, only those that use the Makefile build system, i.e. MSVC is
> not failing, but MinGW and Cygwin are.
>
> Specifically, we are failing thus during initdb:
>
> creating conversions ... FATAL:  could not access file
> "$libdir/ascii_and_mic": No such file or directory
>
>
> I can't immediately see the cause, although presumably it's the
> changes in Makefile.shlib that have done it.
>
> Maybe we need to set up a Windows machine or two somewhere so that
> committers can test out stuff like this ...

I offered this before, and nobody was interested at the time. I don't
have the resources to do it right now if it would be interesting now,
but I think we can put one up in a VM on one of the community managed
servers actually - as long as you don't need performance, that's
certainly doable.

(I don't have a working mingw env at all right now, still
working on setting up a proper VM with windows + msvc since
changing job, so I can't look at this specific issue right now
myself)

//Magnus