Subject: Re: libiconv breaks on Debian 3.1
To: Jeremy C. Reed <reed@reedmedia.net>
From: Georg Schwarz <georg.schwarz@freenet.de>
List: tech-pkg
Date: 03/06/2005 16:16:28
Installed the changes as you describe and added wip to pkgsrc.
However, now I end up like this:

...
===> Registering installation for gettext-runtime-0.14.1
gettext-runtime-0.14.1 requires installed package pkg_install-info-4.5nb3
===> Returning to build of lynx-2.8.5.2nb1
===> Required installed package openssl>=0.9.7d: openssl-0.9.7enb1 found
===> Required package libiconv>=1.9.1nb4: NOT found
===> Verifying reinstall for ../../converters/libiconv
===> libiconv-1.9.2nb1 is not needed for Linux; it is included in GNU libc.
*** Error code 1

Stop.
bmake: stopped in /home/schwarz/pkgsrc/converters/libiconv


another attempt:

schwarz@takaoka:~/pkgsrc/www/lynx$ /usr/local/pkg/bin/bmake
===> *** No /usr/src/pkgsrc/pkgsrc/distfiles/pkg-vulnerabilities file found,
===> *** skipping vulnerability checks. To fix, install
===> *** the pkgsrc/security/audit-packages package and run
===> *** '/usr/local/pkg/sbin/download-vulnerability-list'.
=> Checksum SHA1 OK for lynx/lynx2.8.5.tar.bz2.
=> Checksum RMD160 OK for lynx/lynx2.8.5.tar.bz2.
=> Checksum SHA1 OK for lynx/2.8.5rel.2.patch.gz.
=> Checksum RMD160 OK for lynx/2.8.5rel.2.patch.gz.
===> Extracting for lynx-2.8.5.2nb1
===> Required installed package gettext-runtime>=0.14.1: gettext-runtime-0.14.1 found
===> Required installed package openssl>=0.9.7d: openssl-0.9.7enb1 found
===> Required package gettext>=0.10.35nb1: NOT found
===> Verifying reinstall for ../../devel/gettext
===> *** No /usr/src/pkgsrc/pkgsrc/distfiles/pkg-vulnerabilities file found,
===> *** skipping vulnerability checks. To fix, install
===> *** the pkgsrc/security/audit-packages package and run
===> *** '/usr/local/pkg/sbin/download-vulnerability-list'.
=> Checksum SHA1 OK for gettext-0.11.5.tar.gz.
=> Checksum RMD160 OK for gettext-0.11.5.tar.gz.
===> Extracting for gettext-0.11.5nb5
===> Required installed package gettext-m4-0.11.5: gettext-m4-0.11.5 found
===> Required installed package pkg_install-info-[0-9]*: pkg_install-info-4.5nb3 found
===> Required package gettext-lib>=0.11.5: NOT found
===> Verifying reinstall for ../../wip/gettext-runtime
===> *** No /usr/src/pkgsrc/pkgsrc/distfiles/pkg-vulnerabilities file found,
===> *** skipping vulnerability checks. To fix, install
===> *** the pkgsrc/security/audit-packages package and run
===> *** '/usr/local/pkg/sbin/download-vulnerability-list'.
===> Installing for gettext-runtime-0.14.1
===> Becoming root@takaoka to install gettext-runtime.
/bin/su Password: 
===> gettext-runtime-0.14.1 is already installed - perhaps an older version?
*** If so, you may use either of:
***  - "pkg_delete gettext-runtime-0.14.1" and "/usr/local/pkg/bin/bmake reinstall" to upgrade properly
***  - "/usr/local/pkg/bin/bmake update" to rebuild the package and all of its dependencies
***  - "/usr/local/pkg/bin/bmake replace" to replace only the package without re-linking
***    dependencies, risking various problems.
*** Error code 1





> On Sun, 6 Mar 2005, Georg Schwarz wrote:
> 
> > I am just building along pkgsrc on a newly installed Debian 3.1 (i386)
> > system. I end up like this:
> >
> > ....
> > ===> Returning to build of gettext-0.11.5nb5
> > ===> Required package libiconv>=1.9.1nb4: NOT found
> > ===> Verifying reinstall for ../../converters/libiconv
> > ===> libiconv-1.9.2nb1 is not needed for Linux; it is included in GNU
> > libc.
> > *** Error code 1
> > bmake: stopped in /home/schwarz/pkgsrc/converters/libiconv
> >
> > Oops, what is going wrong here?
> 
> I purposely used PKG_FAIL_REASON instead of PKG_SKIP_REASON to find out
> what is forcing libiconv.
> 
> gettext needs gettext-lib which requires libiconv.
> 
> I also don't use gettext-lib because it is not needed under Linux.
> I packaged up replace gettext related packages in pkgsrc-wip, but had some
> slight issues and I never got around to updating pkgsrc.
> 
> As a workaround, please consider my patches below. I have been
> using this for probably over a year (on NetBSD and Linux).
> 
> Index: devel/gettext/Makefile
> ===================================================================
> RCS file: /cvsroot/pkgsrc/devel/gettext/Makefile,v
> retrieving revision 1.61
> diff -b -u -r1.61 Makefile
> --- devel/gettext/Makefile	3 Oct 2004 00:13:27 -0000	1.61
> +++ devel/gettext/Makefile	6 Mar 2005 02:16:49 -0000
> @@ -11,6 +11,9 @@
>  HOMEPAGE=		http://www.gnu.org/software/gettext/gettext.html
>  COMMENT=		Tools for providing messages in different languages
> 
> +CONFLICTS+=		gettext-tools-[0-9]*
> +CONFLICTS+=		gettext-runtime-[0-9]*
> +
>  DEPENDS+=			gettext-m4-0.11.5:../../devel/gettext-m4
>  BUILDLINK_DEPENDS.gettext+=	gettext-lib>=0.11.5
> 
> Index: devel/gettext-lib/Makefile
> ===================================================================
> RCS file: /cvsroot/pkgsrc/devel/gettext-lib/Makefile,v
> retrieving revision 1.35
> diff -b -u -r1.35 Makefile
> --- devel/gettext-lib/Makefile	3 Dec 2004 15:14:54 -0000	1.35
> +++ devel/gettext-lib/Makefile	6 Mar 2005 02:16:49 -0000
> @@ -13,7 +13,13 @@
>  HOMEPAGE=		http://www.gnu.org/software/gettext/gettext.html
>  COMMENT=		Internationalized Message Handling Library (libintl)
> 
> +.include "../../mk/bsd.prefs.mk"
> +.if ${OPSYS} == "Linux"
> +PKG_FAIL_REASON+=	"${PKGNAME} is not needed for Linux; it is included in GNU libc."
> +.endif
> +
>  CONFLICTS=		gettext<=0.10.35
> +CONFLICTS+=		gettext-runtime-[0-9]*
> 
>  PKG_INSTALLATION_TYPES=	overwrite pkgviews
> 
> @@ -30,8 +36,6 @@
>  INSTALL_TARGET=		install-exec
>  BUILD_DIRS=		${WRKSRC}/intl
> 
> -.include "../../mk/bsd.prefs.mk"
> -
>  .if ${OPSYS} == "Darwin"
>  CPPFLAGS+=		-D_INTL_REDIRECT_MACROS=1 -DSTATIC=static
>  .endif
> Index: devel/gettext-lib/buildlink3.mk
> ===================================================================
> RCS file: /cvsroot/pkgsrc/devel/gettext-lib/buildlink3.mk,v
> retrieving revision 1.21
> diff -b -u -r1.21 buildlink3.mk
> --- devel/gettext-lib/buildlink3.mk	3 Oct 2004 00:13:27 -0000	1.21
> +++ devel/gettext-lib/buildlink3.mk	6 Mar 2005 02:16:49 -0000
> @@ -11,9 +11,8 @@
>  BUILDLINK_PACKAGES+=	gettext
> 
>  .if !empty(GETTEXT_BUILDLINK3_MK:M+)
> -BUILDLINK_DEPENDS.gettext+=	gettext-lib>=0.10.35nb1
> -BUILDLINK_RECOMMENDED.gettext+=	gettext-lib>=0.11.5nb4
> -BUILDLINK_PKGSRCDIR.gettext?=	../../devel/gettext-lib
> +BUILDLINK_DEPENDS.gettext+=	gettext-runtime>=0.14.1
> +BUILDLINK_PKGSRCDIR.gettext?=	../../wip/gettext-runtime
>  .endif	# GETTEXT_BUILDLINK3_MK
> 
>  # libiconv/buildlink3.mk is included by gettext-lib/builtin.mk
> Index: devel/gettext-lib/builtin.mk
> ===================================================================
> RCS file: /cvsroot/pkgsrc/devel/gettext-lib/builtin.mk,v
> retrieving revision 1.17
> diff -b -u -r1.17 builtin.mk
> --- devel/gettext-lib/builtin.mk	11 Dec 2004 00:32:16 -0000	1.17
> +++ devel/gettext-lib/builtin.mk	6 Mar 2005 02:16:50 -0000
> @@ -29,10 +29,9 @@
>  .  endif
>  .  if !empty(IS_BUILTIN.gettext:M[yY][eE][sS])
>  # XXX
> -# XXX Consider the native libintl to be gettext-lib-0.10.35nb1 until we
> -# XXX find a way to more accurately determine the version.
> +# XXX Consider the native libintl to be gettext-runtime-0.14.1
>  # XXX
> -BUILTIN_PKG.gettext=	gettext-lib-0.10.35nb1
> +BUILTIN_PKG.gettext=	gettext-runtime-0.14.1
>  BUILDLINK_VARS+=	BUILTIN_PKG.gettext
>  .  endif
>  .endif	# IS_BUILTIN.gettext
> @@ -91,7 +90,7 @@
>  	fi
>  .    endif
>  #
> -# The listed platforms have an implementation of gettext that isn't
> +# The listed platforms have an implementation of libintl that isn't
>  # GNUish enough.
>  #
>  _INCOMPAT_GETTEXT=	SunOS-*-*
> @@ -133,9 +132,9 @@
>  #
>  # Determine if we need to include the libiconv buildlink3.mk file.
>  # We need to if we're using the pkgsrc gettext, and the version is
> -# at least gettext>=0.11.5nb1.
> +# at least gettext-runtime>=0.14.1.
>  #
> -_GETTEXT_ICONV_DEPENDS=	gettext-lib>=0.11.5nb1
> +_GETTEXT_ICONV_DEPENDS=	gettext-runtime>=0.14.1
>  .  if !defined(_GETTEXT_NEEDS_ICONV)
>  _GETTEXT_NEEDS_ICONV?=	no
>  .    for _depend_ in ${BUILDLINK_DEPENDS.gettext}
> Index: devel/gettext-m4/Makefile
> ===================================================================
> RCS file: /cvsroot/pkgsrc/devel/gettext-m4/Makefile,v
> retrieving revision 1.11
> diff -b -u -r1.11 Makefile
> --- devel/gettext-m4/Makefile	14 Oct 2004 16:04:49 -0000	1.11
> +++ devel/gettext-m4/Makefile	6 Mar 2005 02:16:50 -0000
> @@ -11,6 +11,7 @@
>  COMMENT=		Autoconf/automake m4 files for GNU NLS library
> 
>  CONFLICTS=		gettext<=0.10.35nb1
> +CONFLICTS+=		gettext-tools-[0-9]*
> 
>  PKG_INSTALLATION_TYPES=	overwrite pkgviews
> 
> 
> 
> I also commented out the BUILD_DEPENDS of gettext in mk/automake.mk.
> 
>  Jeremy C. Reed
> 
>  	  	 	 BSD News, BSD tutorials, BSD links
> 	  	 	 http://www.bsdnewsletter.com/
> 
> 
> 
> 
> 
> 
> 

-- 
Georg Schwarz    http://home.pages.de/~schwarz/
 georg.schwarz@freenet.de  +49 178 8545053