GNU bug report logs -
#30006
bzip2 does not provide libbz2.so
Previous Next
Reported by: ludo <at> gnu.org (Ludovic Courtès)
Date: Sat, 6 Jan 2018 13:30:02 UTC
Severity: normal
Done: Marius Bakke <mbakke <at> fastmail.com>
Bug is archived. No further changes may be made.
Full log
Message #37 received at 30006-done <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
Ludovic Courtès <ludo <at> gnu.org> writes:
> Hello Marius,
>
> Marius Bakke <mbakke <at> fastmail.com> skribis:
>
>> Ludovic Courtès <ludo <at> gnu.org> writes:
>>
>>> There’s no such function, which is unfortunate. But I agree it’s nicer
>>> to preserve symlinks in this case.
>>>
>>> Perhaps we should actually do:
>>>
>>> (with-directory-excursion libdir
>>> (symlink … "libbz2.so"))
>>
>> Thanks for the feedback everyone. I settled on a slightly different
>> solution, that first extracts the (full) soversion from the built
>> library, then creates symlinks for each "sub-version".
>>
>> It assumes that the major version is "1". That could be circumvented
>> with a regex, but I'm not sure if it's worth the effort.
>>
>> As an added bonus, this also creates "libbz2.so.1" which was missing too.
>>
>> WDYT of this approach? Can it be made simpler?
>
> Sounds reasonable to me. I have a suggestion:
[...]
> To avoid ‘set!’, I’d write it along these lines:
>
> ;; Create symlinks libbz2.so.1.2 -> libbz2.so.1, etc.
> (let loop ((base "libbz2.so")
> (numbers (string-split soversion #\.)))
> (unless (null? numbers)
> (let ((so-file (string-append base "." (car numbers))))
> (symlink so-file base)
> (loop so-file (cdr numbers)))))
This is much nicer, thanks! I've pushed the patch with this improvement.
[signature.asc (application/pgp-signature, inline)]
This bug report was last modified 7 years and 116 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.