just say NO to explicit shlib numbers (Broken dependency on expat)

Vasil Dimov vd at FreeBSD.org
Thu Mar 30 07:27:13 UTC 2006

On Wed, Mar 29, 2006 at 02:11:45PM -0500, Mikhail Teterin wrote:
> Amarendra Godbole wrote on Mar 29th:
> =I tried to build apache22 from the ports (/usr/ports/www/apache22/).
> =Now, the initial build failed, because of a broken dependency on
> =libexpat - as apache22 needed a newer version than the one I had
> =(1.95.*).
> This problem is what some committers continue to impose on the FreeBSD users. 
> Apache22 does not care, which libexpat it is built against -- it would've 
> been just as happy with libexpat.5, that Amarendra already had.
> Unfortunately, instead of removing the requirement for a particular shared 
> library number altogether, kuriyama bumped it on Jan 30:
> 	revision 1.190
> 	date: 2006/01/30 23:20:03;  author: kuriyama;  state: Exp;  lines: +2 -2
> 	Chase shlib bump of libexpat.
> This nonsense ought to stop. It is quite rare, that a port insists on a 
> particular shared library version of a dependency. The number should not be 
> explicitly specified in any other case...
> 	-mi
> =So, I forcibly deinstalled, and reinstalled expat2 from
> =/usr/ports/textproc/expat2/, and apache22 built and installed fine.
> =So far so good...
> =...but upgrading libexpat removed the original libexpat.so.5 link, and
> =put a libexpat.so.6...which caused all my X based programs, including
> =the window manager to break! X just refused to start, and so did many
> =other programs.

portupgrade -r expat would have saved you from the X breakage.
Otherwise you are right for the shared library versions.

Vasil Dimov
gro.DSBeerF at dv

Testing can show the presence of bugs, but not their absence.
                -- Edsger W. Dijkstra

More information about the freebsd-ports mailing list