Message-ID: <56413135.7090602@anastigmatix.net> Date: Mon, 09 Nov 2015 18:50:13 -0500 From: Chapman Flack MIME-Version: 1.0 References: <563E2844.5050202@anastigmatix.net> In-Reply-To: <563E2844.5050202@anastigmatix.net> Subject: [Pljava-dev] [solved] Re: Mac OS X expertise needed Content-Type: text/plain; charset="us-ascii" > So what would be making the OS X linker think it has to resolve them all > at link time? Is there an extra option it needs telling it "relax, leave > things undefined, you're building a dylib"? It is already being passed > the -dynamiclib option. Do all the extern symbols need some special extra > annotation in OS X? It turns out in OS X there is a distinction between a .dylib and a .bundle (the nar-maven-plugin calls them 'shared' and 'plugin' respectively, which are equivalent on other platforms, but different on OS X). Only a .bundle (plugin) is supposed to have unresolved refs back into the thing that's going to load it. A .dylib should only have refs into its link-time dependencies. The PL/Java pom said 'shared', which was no problem on non-OS X platforms, but should really be 'plugin'. When the change is merged, it will have the side effect of changing the path where the built file is found under pljava-so/target (the word shared becomes plugin, both places), meaning a change to Bear's build instructions on the wiki. PGXS also knows how to build 'plugin's, and it coerces the file extension back to the Unixy .so instead of the OS X .bundle. Maven gives them the .bundle extension conforming to OS X practice. That could just be covered in docs for Mac installation, or the build could be made to rename the file to .so. -Chap _______________________________________________ Pljava-dev mailing list Pljava-dev@lists.pgfoundry.org http://lists.pgfoundry.org/mailman/listinfo/pljava-dev