Re: Re: PATCH: The linker complains about the '-bundle_loader "../../src/backend/postgres"' against PostgreSQL 8.4 on OSX - Mailing list pgadmin-hackers
From | Heikki Linnakangas |
---|---|
Subject | Re: Re: PATCH: The linker complains about the '-bundle_loader "../../src/backend/postgres"' against PostgreSQL 8.4 on OSX |
Date | |
Msg-id | 4FA7A4E4.7070502@enterprisedb.com Whole thread Raw |
In response to | Re: Re: PATCH: The linker complains about the '-bundle_loader "../../src/backend/postgres"' against PostgreSQL 8.4 on OSX (Dave Page <dpage@pgadmin.org>) |
Responses |
Re: Re: PATCH: The linker complains about the
'-bundle_loader "../../src/backend/postgres"' against PostgreSQL 8.4 on OSX
|
List | pgadmin-hackers |
On 06.05.2012 19:05, Dave Page wrote: > On Thu, May 3, 2012 at 2:23 PM, Heikki Linnakangas > <heikki.linnakangas@enterprisedb.com> wrote: >> On 30.04.2012 15:14, Ashesh Vashi wrote: >>> >>> With PostgreSQL 8.4.11, I still face the same issue, resolved as part of >>> the following checked-in: >>> >>> http://git.postgresql.org/gitweb/?p=pldebugger.git;a=commitdiff;h=b9c756ef6cd4bdabea203905b2071d0e6b4e0d4d >>> >>> I tried to resolve the issue by removing the duplicate words for the >>> SHLIB_LINK variable in the Makefile for pldebugger. >>> I just changed it specifically for PostgreSQL 8.4 on OSX platform, because >>> PostgreSQL build script may get changed in future releases (i.e. >>> pldebugger >>> is compiling well with PostgreSQL 9.0+ on OSX because of such >>> modification.) >>> >>> Please find the attached patch for the same. >>> I know - it looks ugly, but I could not think of any other solution at the >>> moment. >> >> >> Hmm, we have to currently jump through a lot of hoops to make the Makefile >> do what we want. First of all, we're building two libraries from the same >> Makefile. The usual PGXS targets don't support that, so I had to hack it so >> that we use the MODULES variable to buld pldbgapi.so, and in addition to >> that, set NAME=plugin_debugger and include src/Makefile.shlib to build >> plugin_debugger.so. >> >> Things would be much simpler if we had a separate subdirectory for building >> plgdbgapi.so and plugin_debugger.so. However, it would be even simpler if we >> just built it all into a single library. At the moment, there's a runtime >> dependency between pldbgapi.so and plugin_debugger.so anyway, so that to use >> any of the functions in pldbgapi.so, you have to load plugin_debugger.so. If >> they were just one library, you could more easily do local debugging without >> having to add plugin_debugger.so to shared_preload_libraries. At the moment >> you get an error about a missing symbol if you try to do that, unless you >> manually LOAD plugin_debugger.so. >> >> Another unusual thing we do is that we install plugin_debugger.so to the >> <installdir>/lib/plugins directory, instead of just<installdir>/lib. We've >> had to add special install and uninstall rules for that. >> >> To make that more straightforward, I think we should just install >> plugin_debugger.so into lib like any other extension. I don't see any >> particular reason why it has to be installed to plugins-directory. >> >> Putting those two together, let's build just a single .so file, called >> plugin_debugger.so, which contains both the PL/pgSQL hooks and the >> client-facing pldbg_* functions used to do debugging. After that, the >> makefile will be much simpler, which means less trouble with OS-specific >> things like this. Not only now, but also in the future if the pgxs makefiles >> are changed - we make quite a few assumptions of the pgxs build system at >> the moment. > > Sounds fine - but I'm not keen on making such changes in the back > branches. Can we fix the current problem, and re-architect for 9.2 > please? We don't really have back-branches for pldebugger. Or versioned releases, for that matter. I'll fix this in git master. I consider the current tip of the old CVS repository (or the corresponding checkout from the git repo) to be the latest stable release, PostgreSQL one-click installers <= 9.1 can continue to use that version. We probably should tag and put out a versioned release of pldebugger on pgxn, sometime during the PostgreSQL 9.2 beta period, so that it's ready when PostgreSQL 9.2 is released. -- Heikki Linnakangas EnterpriseDB http://www.enterprisedb.com
pgadmin-hackers by date: