Subject: pkg/22083: gcc3-xxx packages assume gcc3 is already installed
To: None <gnats-bugs@gnats.netbsd.org>
From: None <kre@munanri.OZ.AU>
List: netbsd-bugs
Date: 07/07/2003 16:10:30
>Number: 22083
>Category: pkg
>Synopsis: gcc3-xxx packages assume gcc3 is already installed
>Confidential: no
>Severity: non-critical
>Priority: medium
>Responsible: pkg-manager
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Mon Jul 07 09:11:01 UTC 2003
>Closed-Date:
>Last-Modified:
>Originator: Robert Elz
>Release: NetBSD 1.6Q ( -- pkgsrc of 2003-07-07 : ie: now)
>Organization:
Prince of Songkla University
>Environment:
System: NetBSD jade.coe.psu.ac.th 1.6Q NetBSD 1.6Q (JADE-HP) #0: Sun Mar 23 02:27:44 ICT 2003 kre@fuchsia.cs.mu.OZ.AU:/usr/obj/sys/JADE-HP i386
Architecture: i386
Machine: i386
>Description:
The gcc3-xxx packages (other than gcc3-c for obvious reasons)
want to execute gcc from gcc3 to get information. They do
that without checking that gcc3 is actually installed first
(and in any case, there really must be a better way, surely).
>How-To-Repeat:
Make sure that you don't have gcc3-c installed ..
pkg_delete -r gcc3-c
pkg_delete -r gcc3
Then attempt to "make fetch" or "make checksum" (or just about
anything) for one of the other gcc3-xxx packages, as ...
cd ..../pkgsrc/lang/gcc3-c++
make fetch
Expect to see something like ...
make fetch
/usr/pkg/gcc3/bin/gcc: not found
usage: dirname path
make: "/usr/src/pkgsrc/lang/gcc3-c++/../../lang/gcc3-c/buildlink2.mk" line 14: warning: "dirname `/usr/pkg/gcc3/bin/gcc --print-libgcc-file-name`" returned non-zero status
/usr/pkg/gcc3/bin/gcc: not found
usage: dirname path
make: "/usr/src/pkgsrc/lang/gcc3-c++/../../lang/gcc3-c/buildlink2.mk" line 14: warning: "dirname `/usr/pkg/gcc3/bin/gcc --print-libgcc-file-name`" returned non-zero status
===> Checking for vulnerabilities in gcc3-c++-3.3
/usr/pkg/gcc3/bin/gcc: not found
usage: dirname path
make: "/usr/src/pkgsrc/lang/gcc3-c++/../../lang/gcc3-c/buildlink2.mk" line 14: warning: "dirname `/usr/pkg/gcc3/bin/gcc --print-libgcc-file-name`" returned non-zero status
>Fix:
Beats me. But please *do not* require that gcc3-c be installed
in order to allow "make fetch" and "match checksum" to work, I
have a system which basically just does this, on everything in
pkgsrc, yet has almost no packages installed itself. It is
annoying that there are already a couple of packages that depend
upon something else being installed in order to fetch (understandable
when some wacko fetch method is demanded) - requiring gcc3 (even just
the C compiler) to be installed in order to "make fetch" of
gcc3-xxx packages would be revolting.
It may be that something simple, like checking the current target
in the gcc3-c/buildlink2.mk before attempting to run the command
causing the problems, ie:
_GCC_LIBGCCDIR!= \
dirname `${_GCC_PREFIX}bin/gcc --print-libgcc-file-name`
might be enough. I'm not sure.
>Release-Note:
>Audit-Trail:
>Unformatted: