Subject: Apache/libmm shared library version problem
To: None <pkgsrc-users@NetBSD.org>
From: Andreas Gustafsson <gson@gson.org>
List: pkgsrc-users
Date: 07/08/2007 16:54:29
Some days ago, I upgraded from apache-1.3.37 to apache-1.3.37nb2 using
a binary package (from a bulk build of my own), but the newly upgraded
apache failed to start due to a shared library versio nmismatch:

  # /etc/rc.d/apache restart
  /usr/pkg/sbin/apachectl stop: httpd (no pid file) not running
  Shared object "libmm.so.14" not found
  /usr/pkg/sbin/apachectl start: httpd could not be started

I had libmm version 1.2.2nb1 installed, corresponding to
the shared library version libmm.so.12:

  # pkg_info -L libmm
  Information for libmm-1.2.2nb1:

  Files:
  /usr/pkg/bin/mm-config
  /usr/pkg/include/mm.h
  /usr/pkg/lib/libmm.a
  /usr/pkg/lib/libmm.so
  /usr/pkg/lib/libmm.so.12
  /usr/pkg/lib/libmm.so.12.0.22
  /usr/pkg/lib/libmm.la
  /usr/pkg/man/man1/mm-config.1
  /usr/pkg/man/man3/mm.3

Current versions of libbmm install libmm.so.14:

  # pkg_info -L libmm-1.4.0.tgz 
  Information for libmm-1.4.0.tgz:

  Files:
  /usr/pkg/bin/mm-config
  /usr/pkg/include/mm.h
  /usr/pkg/lib/libmm.la
  /usr/pkg/lib/libmm.a
  /usr/pkg/lib/libmm.so
  /usr/pkg/lib/libmm.so.14
  /usr/pkg/lib/libmm.so.14.0.20
  /usr/pkg/man/man1/mm-config.1
  /usr/pkg/man/man3/mm.3

  # pkg_info -L libmm-1.4.2.tgz 
  Information for libmm-1.4.2.tgz:

  Files:
  /usr/pkg/bin/mm-config
  /usr/pkg/include/mm.h
  /usr/pkg/lib/libmm.la
  /usr/pkg/lib/libmm.a
  /usr/pkg/lib/libmm.so
  /usr/pkg/lib/libmm.so.14
  /usr/pkg/lib/libmm.so.14.0.22
  /usr/pkg/man/man1/mm-config.1
  /usr/pkg/man/man3/mm.3

Manually upgrading libmm made apache work again.

What's the correct solution to this - perhaps changing
BUILDLINK_ABI_DEPENDS in pkgsrc/devel/libmm/buildlink3.mk 
from "libmm=>1.2.1nb1" to "libmm>=1.4.0"?
-- 
Andreas Gustafsson, gson@gson.org