Hi, This patch turned out to break the OS X build. It removes the need to set SONAME_VERSION when calling the install-bin target, and therefore implicitly sets SONAME_VERSION to .$BINARYVERSION. Unfortunately, some platforms such as OS X didn't use an SONAME_VERSION at all. It worked before because the SONAME_VERSION setting code was never reached on OS X, being conditional upon NEEDS_RELINKING, whatever that does. Now, however, the version number is always set.
The upshot is it installs libchicken.dylib.7 (which is probably an illegal/nonstandard name), but does *not* make a symlink from libchicken.dylib to it, as USES_SONAME is not set. It is possible to work around this problem with a manual symlink. My thought was to make the install of the versioned library conditional upon USES_SONAME as well, so OS X would go back to plain libchicken.dylib. However, for whatever reason, Solaris sets NEEDS_RELINKING *without* USES_SONAME, which would probably break with this solution. Therefore I'm not sure yet how to fix this correctly. I think the logic is rickety and patching it just changed the failure case around. The ticket for this issue is http://bugs.call-cc.org/ticket/1022 Jim On Feb 11, 2013, at 10:20 AM, Mario Domenech Goulart <mario.goul...@gmail.com> wrote: > Hi, > > On Sun, 10 Feb 2013 19:29:18 +0100 (CET) Felix > <fe...@call-with-current-continuation.org> wrote: > >>> I'm not sure about the right fix for this issue. Can't we just get rid >>> of SONAME_VERSION and use BYNARYVERSION instead? >> >> Sounds right to me. > > Attached is a patch that does that. I've tested it for the mips > cross-compilation case using "libs install-dev" as target and a regular > installation (no cross-compilation) on linux/x86. Both seem to work as > expected. > > >>> Meanwhile, how about changing the manual (Cross development chapter) to >>> instruct users to use the "install" target instead of "libs >>> install-dev". It'll probably install unnecessary things, but won't >>> break anything, as far as I can see. With the current instructions, the >>> target installation ends up with a libchicken that is a dangling link. >> >> Good point. Would you want to do this? Otherwise, create a ticket and >> assign it to me, please. > > I've updated the wiki docs to suggest "install" instead of "libs > install-dev" (and the expected generated tree). > > Notice that this wiki change doesn't need to be merged into git's manual > if we fix the build system (I know it'll be hard to remember, but I just > thought it should be mentioned anyway). It's just a workaround to match > the current chicken's build system behavior. > > Best wishes. > Mario > -- > http://parenteses.org/mario > <0001-Drop-SONAME_VERSION-use-.-BINARYVERSION-instead.patch>_______________________________________________ > Chicken-hackers mailing list > Chicken-hackers@nongnu.org > https://lists.nongnu.org/mailman/listinfo/chicken-hackers _______________________________________________ Chicken-hackers mailing list Chicken-hackers@nongnu.org https://lists.nongnu.org/mailman/listinfo/chicken-hackers