portupgrade and ICU libraries

Bryan Drewery bdrewery at FreeBSD.org
Sun May 12 11:35:33 UTC 2013


On 5/10/2013 3:20 PM, Mikhail T. wrote:
> Gentlemen!
> 
> Every time I do an upgrade, I get bitten by the same problem -- all of
> the software linked with libraries installed by devel/icu stops working.
> 
> Today I finally understood why... Although portupgrade duly backs up the
> old libraries under lib/compat/pkg, it only preserves the files (such as
> libicutu.so.48.1.1), and not the symbolic links (such as libicutu.so.48).
> 

This seems backwards. The .so.VERSION is copied in for me:

> lrwxr-xr-x  1 root  wheel     18 Jan 31 15:27 /usr/local/lib/libicuio.so@ -> libicuio.so.50.1.2
> lrwxr-xr-x  1 root  wheel     18 Jan 31 15:27 /usr/local/lib/libicuio.so.50@ -> libicuio.so.50.1.2
> -r-xr-xr-x  1 root  wheel  41916 Jan 31 15:27 /usr/local/lib/libicuio.so.50.1.2*
...
> -r--r--r--  1 root  wheel  45894 Apr 27  2010 /usr/local/lib/compat/pkg/libicuio.so.38
> -r-xr-xr-x  1 root  wheel  41080 May  7  2012 /usr/local/lib/compat/pkg/libicuio.so.48*

It is the .VERSION.MAJOR.MINOR that is symlinked and not copied in.

These symlinks do not show in `ldconfig -r` either so they are not going
to be copied by portmaster either

> # ldconfig -r|grep libicuio
>         238:-licuio.50 => /usr/local/lib/libicuio.so.50
>         370:-licuio.48 => /usr/local/lib/compat/pkg/libicuio.so.48

PKGNG also tracks shared libraries to detect reinstalls, but not the
symlinks:

> # pkg check -B icu; pkg info -R icu| grep shlibs
> shlibs: [libicuuc.so.50, libicutu.so.50, libicule.so.50, libicui18n.so.50, libicudata.so.50]


-- 
Regards,
Bryan Drewery

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 899 bytes
Desc: OpenPGP digital signature
URL: <http://lists.freebsd.org/pipermail/freebsd-office/attachments/20130512/3e534560/attachment.sig>


More information about the freebsd-office mailing list