Libreoffice library caching [was Re: Yet another pkg bug?]
Bryan Drewery
bdrewery at FreeBSD.org
Tue Aug 5 19:32:23 UTC 2014
On 8/5/2014 2:22 PM, Tijl Coosemans wrote:
> On Tue, 05 Aug 2014 11:25:54 -0500 Bryan Drewery wrote:
>> Can office@ chime in on this?
>>
>> On 8/1/2014 7:27 PM, Bryan Drewery wrote:
>>> On 2014-08-01 08:53, Andrea Venturoli wrote:
>>>> On a 10.0/amd64 system:
>>>>
>>>>> # cat /usr/ports/UPDATING
>>>>> ...
>>>>> 20140730:
>>>>> AFFECTS: users of security/libgcrypt
>>>>> AUTHOR: pi at FreeBSD.org
>>>>>
>>>>> libgcrypt has been updated to 1.6.1 and all shared libraries
>>>>> versions have
>>>>> been bumped. So you need to rebuild all applications that depend on
>>>>> libgcrypt.
>>>>>
>>>>> # portmaster -r libgcrypt
>>>>> or
>>>>> # portupgrade -fr security/libgcrypt
>>>>> or
>>>>> # pkg install -fR security/libgcrypt
>>>>> ...
>>>>> # pkg info -r libgcrypt|less
>>>>> libgcrypt-1.6.1_1:
>>>>> libgnome-keyring-2.32.0_8
>>>>> gnupg-2.0.25_1
>>>>> libxslt-1.1.28_4
>>>>> # pkg info -r libxslt | less
>>>>> libxslt-1.1.28_4:
>>>>> rarian-0.8.1_1
>>>>> gnome-doc-utils-0.20.10_2
>>>>> gtk-doc-1.18_1
>>>>> inkscape-0.48.4_4
>>>>> vala-0.20.1_1
>>>>> policykit-gnome-0.9.2_7
>>>>> raptor2-2.0.14
>>>>> xmlto-0.0.26_2
>>>>> shiboken-1.2.2
>>>>> apiextractor-0.10.10_2
>>>>> libreoffice-4.2.5_3
>>>>> # portupgrade -frn libgcrypt
>>>>> ---> Listing the results (+:done / -:ignored / *:skipped / !:failed)
>>>>> + security/libgcrypt (libgcrypt-1.6.1_1 -> libgcrypt-1.6.1_1)
>>>>> + textproc/libxslt (libxslt-1.1.28_4 -> libxslt-1.1.28_4)
>>>>> + security/gnupg (gnupg-2.0.25_1 -> gnupg-2.0.25_1)
>>>>> + security/libgnome-keyring (libgnome-keyring-2.32.0_8 ->
>>>>> libgnome-keyring-2.32.0_8)
>>>>
>>>> So, libreoffice is not rebuilt and after "portupgrade -fr libgcrypt"...
>>>>
>>>>> # libchk -v | less -S
>>>>> ...
>>>>> Binaries that are linked with: /usr/local/lib/compat/pkg/libgcrypt.so.19
>>>>> /usr/local/lib/compat/pkg/libsoup-gnome-2.4.so.1.5.0
>>>>> /usr/local/lib/libreoffice/program/libxsltfilterlo.so
>>>>
>>>> ... libreoffice is still using the old library.
>>>>
>>>>
>>>
>>> Agreed it is not a pkg problem, nor a portupgrade problem.
>>>
>>> libreoffice is not directly depending on libgcrypt so it was not
>>> rebuilt. Only direct dependencies are rebuilt. But this is not really
>>> the problem. The problem is that Libreoffice seems to be doing something
>>> special by building its own libxsltfilterlo.so into its own directory.
>>> So the libxslt rebuild had no idea about it. It's not a file actually
>>> provided by libxslt.
>>>
>>> # pkg info -l libxslt|grep /usr/local/lib
>>> /usr/local/lib/libexslt.a
>>> /usr/local/lib/libexslt.la
>>> /usr/local/lib/libexslt.so
>>> /usr/local/lib/libexslt.so.8
>>> /usr/local/lib/libxslt.a
>>> /usr/local/lib/libxslt.la
>>> /usr/local/lib/libxslt.so
>>> /usr/local/lib/libxslt.so.2
>>>
>>> Note the lack of libxsltfilterlo.so.
>>>
>>> I'd say the instructions were lacking. My guess is a small handfull of
>>> people realize what's going on here and none of the other committers do.
>>> So it's very likely that many UPDATING entries need special libreoffice
>>> care as well and have not had it documented. I.e., every dependency of
>>> libreoffice would require rebuilding libreoffice.
>>>
>>> I'm not sure what this program/ dir is, perhaps some cache. It would be
>>> safer to have it disabled so this special care is not needed.
>
> It's not a special cache. It's just a normal library that libreoffice
> builds and installs. The library probably links to libexslt using
> "pkgconf --libs libexslt" which include -lgcrypt. Libreoffice should
> have had its PORTREVISION bumped as part of the libgcrypt update. There
> are other ports that should have been bumped. I'll look into it.
>
Hm, it seems to be building its own libxslt library though and placing
it in its own directory. The rebuilding of libxslt did not update the
one in the libreoffice dir.
libreoffice->libxslt->libgcrypt
Rebuilding libxslt should be enough to link against the newer libgcrypt
and since libxslt has not change it should not require rebuilding
libreoffice.
--
Regards,
Bryan Drewery
More information about the freebsd-ports
mailing list