Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 22 Apr 2003 20:43:02 -0500
From:      "Brandon D. Valentine" <ports@geekpunk.net>
To:        ports@freebsd.org
Cc:        "Mezz bsdforums.org" <reigncracks@hotmail.com>
Subject:   [bug & patch] libstdc++ in linux_base-7.1_3
Message-ID:  <20030423014302.GA27748@geekpunk.net>
In-Reply-To: <Sea2-F20WPQjeMAs4PJ000115df@hotmail.com>
References:  <Sea2-F20WPQjeMAs4PJ000115df@hotmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help

--J2SCkAp4GZ/dPZZf
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

Summary:

This began as a problem report from <reigncracks@hotmail.com> inquiring
about my linux-flashplugin6 port's dependency on the Linux libstdc++
shared library.  I traced this to a bug in the linux_base-7.1 port.
Patch is attached.

Feel free to tell me to go file a PR, but this seems like a pretty
trivial fix to go to all of that trouble.  This is going to -ports since
-ports is listed as the MAINTAINER.

On Mon, Apr 21, 2003 at 06:19:39PM -0500, Mezz bsdforums.org wrote:
> I seem to not able find libstdc++-libc6.2-2.so.3 in the ports tree, but 
> only can find libstdc++-libc6.1-1.so.2 (linked to 
> libstdc++-2-libc6.1-1-2.9.0.so) that came with the lastest linux_base. Just 
> asking, because linux-flash6 required the libstdc++-libc6.2-2.so.3 to make 
> it works. So, I linked it libstdc++-libc6.2-2.so.3 -> 
> libstdc++-2-libc6.1-1-2.9.0.so to get linux-flash6 works with the Opera.
> 
> Perhaps, either linux_base or linux-flash6 needs to update to get 
> linux-flash6 works?
> 
> ================
> $ pkg_info | grep linux
> linux-flashplugin-6.0r69
> linux-opera-7.1.0.20030410
> linux_base-7.1_3
> ================

This appears to be the result of a bug introduced into the linux_base
port in PORTREVISION 7.1_2.  linux_base-7.1 originally installed the
RedHat 7.1 libstdc++ RPM (libstdc++-2.96-81.i386.rpm) as a PATCHFILE.
In Revision 1.64 of the Makefile the logic to install the PATCHFILES was
removed.  In the same commit the libstdc++ RPM was moved from the
PATCHFILES to the DISTFILES and so no problem manifested at that time.
Revision 1.69 of ports/emulators/linux_base/Makefile upgraded the
libstdc++ RPM to the RedHat 7.1 update package
(libstdc++-2.96-112.7.1.i386.rpm).  The upgrade moved libstdc++ back to
the PATCHFILES because the RPM was only available in the
PATCH_SITE_SUBDIR.  Since PORTREVISION 2 the linux_base port has not
install the libstdc++ shared library.  This is a Bad Thing<tm>.

733 taran:/home/bandix% pkg_info | grep linux_base
linux_base-7.1_3    The base set of packages needed in Linux mode
734 taran:/home/bandix% /usr/compat/linux/bin/rpm -qa | grep libstdc++
compat-libstdc++-6.2-2.9.0.14

The libstdc++ file is _fetched_, just not installed:

735 taran:/home/bandix% rpm -qpl /usr/ports/distfiles/rpm/libstdc++-2.96-112.7.1.i386.rpm
/usr/lib/libstdc++-3-libc6.2-2-2.10.0.so
/usr/lib/libstdc++-libc6.2-2.so.3

The attached patch to the linux_base Makefile bumps PORTREVISION and
reverts the change in v1.64 of the Makefile which removed the logic to
install the PATCHFILES.

Note: It is messy to put the logic to install PATCHFILES inside
do-install but there's no way it can go inside of do-patch since during
do-patch the RPM database isn't initialized.  I assume this is why this
was done this way in the original port.

Thanks,

Brandon D. Valentine
-- 
brandon@dvalentine.com                                 http://www.geekpunk.net
Pseudo-Random Googlism:  peace is not

--J2SCkAp4GZ/dPZZf
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename="linux_base.patch"

Index: Makefile
===================================================================
RCS file: /home/ncvs/ports/emulators/linux_base/Makefile,v
retrieving revision 1.73
diff -r1.73 Makefile
10c10
< PORTREVISION=		3
---
> PORTREVISION=		4
146a147,152
> 	done
> #
> # Install updates
> 	@for R in ${PATCHFILES}; do \
> 		${ECHO} $$R; \
> 		${RPM} -U ${RPMFLAGS} ${RPMDIR}/$$R; \

--J2SCkAp4GZ/dPZZf--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20030423014302.GA27748>