chicken-hackers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Chicken-hackers] [PATCH] Apply the same naming scheme for .so libs


From: Jim Ursetto
Subject: Re: [Chicken-hackers] [PATCH] Apply the same naming scheme for .so libs in "libs" target
Date: Tue, 16 Jul 2013 00:06:10 -0500

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 <address@hidden> wrote:

> Hi,
> 
> On Sun, 10 Feb 2013 19:29:18 +0100 (CET) Felix <address@hidden> 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
> address@hidden
> https://lists.nongnu.org/mailman/listinfo/chicken-hackers




reply via email to

[Prev in Thread] Current Thread [Next in Thread]