First Last Prev Next    No search results available      Search page      Enter new bug
Bug#: 175523
Alias:
Product:
Component:
Status: RESOLVED
Resolution: INVALID
Assigned To: Gentoo Toolchain Maintainers <toolchain@gentoo.org>
Hardware:
OS:
Version:
Priority:
Severity:
Reporter: OKUMURA N. Shin-ya <oku.ns@dream.com>
Add CC:
CC:
Remove selected CCs
URL:
Summary:
Status Whiteboard:
Keywords:

Filename Description Type Creator Created Size Actions
Create a New Attachment (proposed patch, testcase, etc.) View All

Bug 175523 depends on: Show dependency tree
Show dependency graph
Bug 175523 blocks:
Votes: 0    Show votes for this bug    Vote for this bug

Additional Comments: (this is where you put emerge --info)







View Bug Activity   |   Format For Printing   |   XML   |   Clone This Bug


Description:   Opened: 2007-04-22 05:27 0000
/usr/bin/gcov says, "gcc-config error: gcov wrapper: Could not determine which
compiler to use.  Invalid CTARGET or CTARGET has no selected profile."

$(gcc-config -B)/gcov works fine.

Reproducible: Always

Steps to Reproduce:
1. /usr/bin/gcov

Actual Results:  
$ gcov
gcc-config error: gcov wrapper: Could not determine which compiler to use. 
Invalid CTARGET or CTARGET has no selected profile.
$

Expected Results:  
$ $(gcc-config -B)/gcov
Usage: gcov [OPTION]... SOURCEFILE

Print code coverage information.

  -h, --help                      Print this help, then exit
  -v, --version                   Print version number, then exit
  -a, --all-blocks                Show information for every basic block
  -b, --branch-probabilities      Include branch probabilities in output
  -c, --branch-counts             Given counts of branches taken
                                    rather than percentages
  -n, --no-output                 Do not create an output file
  -l, --long-file-names           Use long output file names for included
                                    source files
  -f, --function-summaries        Output summaries for each function
  -o, --object-directory DIR|FILE Search for object files in DIR or called FILE
  -p, --preserve-paths            Preserve all pathname components
  -u, --unconditional-branches    Show unconditional branch counts too

For bug reporting instructions, please see:
<URL:http://bugs.gentoo.org/>.
$

$ emerge --info
Portage 2.1.2.4 (default-linux/amd64/2006.1/desktop, gcc-4.1.2, glibc-2.5-r1,
2.6.20-gentoo-r3 x86_64)
=================================================================
System uname: 2.6.20-gentoo-r3 x86_64 AMD Athlon(tm) 64 Processor 3500+
Gentoo Base System release 1.12.10
Timestamp of tree: Fri, 20 Apr 2007 03:01:02 +0000
ccache version 2.4 [disabled]
dev-java/java-config: 1.3.7, 2.0.31-r7
dev-lang/python:     2.3.6, 2.4.4
dev-python/pycrypto: 2.0.1-r5
dev-util/ccache:     2.4-r6
sys-apps/sandbox:    1.2.18.1
sys-devel/autoconf:  2.13, 2.61
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10
sys-devel/binutils:  2.17
sys-devel/gcc-config: 1.3.16
sys-devel/libtool:   1.5.23b
virtual/os-headers:  2.6.20-r2
ACCEPT_KEYWORDS="amd64 ~amd64"
AUTOCLEAN="yes"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config
/usr/kde/3.5/shutdown /usr/share/X11/xkb /usr/share/config /var/bind"
CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/gconf
/etc/java-config/vms/ /etc/php/apache1-php5/ext-active/
/etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/
/etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/terminfo
/etc/texmf/web2c"
CXXFLAGS="-O2 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="distlocks metadata-transfer sandbox sfperms strict"
GENTOO_MIRRORS="http://gentoo.gg3.net http://mirror.gentoo.gr.jp
http://gentoo.mirroed.ca"
LANG="ja_JP.eucJP"
LINGUAS="ja en"
PKGDIR="/usr/portage/packages"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress
--force --whole-file --delete --delete-after --stats --timeout=180
--exclude=/distfiles --exclude=/local --exclude=/packages
--filter=H_**/files/digest-*"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="X acl alsa amd64 apache2 arts audiofile avi berkdb bitmap-fonts bonobo
bzlib cairo canna cdparanoia cdr chardet chasen cjk cli cracklib crypt cscope
cups dbus doc dri dv dvd dvdr eds emboss emul-linux-x86 encode esd examples fam
firefox flash font-server fortran gcj gdbm gif gnome gpm gstreamer gtk gtk2
guile hal iconv ipv6 isdnlog java java5 javamail javascript jpeg jpeg2k kde
ldap libg++ libwww m17n-lib mad mbox midi mikmod milter mime mng modplug motif
mp3 mpeg mplayer mule ncurses nls nptl nptlonly oav objc ogg oggvorbis opengl
oss pam pcre pdf perl php png postgres ppds pppd python qt qt3 qt4 quicktime
readline reflection samba sdk sdl session sid slang spell spl ssl svg symlink
tcltk tcpd threads tiff timidity truetype truetype-fonts type1-fonts unicode
usb vorbis wma wmf xml xml2 xorg xpm xv zlib" ALSA_CARDS="ali5451 als4000
atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968
fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx
via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop
empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mulaw multi
null plug rate route share shm softvol" ELIBC="glibc" INPUT_DEVICES="keyboard
mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780
lb216 lcdm001 mtxorb ncurses text" LINGUAS="ja en" USERLAND="GNU"
VIDEO_CARDS="apm ark ati chips cirrus cyrix dummy fbdev glint i128 i810 mga
neomagic nv rendition s3 s3virge savage siliconmotion sis sisusb tdfx tga
trident tseng v4l vesa vga via vmware voodoo"
Unset:  CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, LDFLAGS, MAKEOPTS,
PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS

$ gcc-config -l
 [1] x86_64-pc-linux-gnu-3.3.6
 [2] x86_64-pc-linux-gnu-3.3.6-hardened
 [3] x86_64-pc-linux-gnu-3.3.6-hardenednopie
 [4] x86_64-pc-linux-gnu-3.3.6-hardenednopiessp
 [5] x86_64-pc-linux-gnu-3.3.6-hardenednossp
 [6] x86_64-pc-linux-gnu-3.4.6
 [7] x86_64-pc-linux-gnu-3.4.6-hardened
 [8] x86_64-pc-linux-gnu-3.4.6-hardenednopie
 [9] x86_64-pc-linux-gnu-3.4.6-hardenednopiessp
 [10] x86_64-pc-linux-gnu-3.4.6-hardenednossp
 [11] x86_64-pc-linux-gnu-4.0.4
 [12] x86_64-pc-linux-gnu-4.1.2 *
$ gcc-config -B
/usr/x86_64-pc-linux-gnu/gcc-bin/4.1.2
$

------- Comment #1 From Robin Johnson 2007-04-22 08:33:40 0000 -------
Did you have eselect-compiler installed at some point in the past?

------- Comment #2 From OKUMURA N. Shin-ya 2007-04-22 10:03:59 0000 -------
(In reply to comment #1)
> Did you have eselect-compiler installed at some point in the past?
> 

Probably, yes.
I had installed (and removed) eselect-compiler, as far as I remember.
Does it affect?

...
O.K, now I found /etc/eselect/compiler/select.conf, which says;
-----------
[i686-pc-linux-gnu]
        profile=x86_64-pc-linux-gnu-4.1.1/x86-vanilla

[x86_64-pc-linux-gnu]
        profile=x86_64-pc-linux-gnu-4.1.1/amd64-vanilla
-----------

Modified as s/4.1.1/4.1.2/, then the problem seems be solved.
Which is it a bug or not?
Can I close this issue?

------- Comment #3 From Kevin F. Quinn (RETIRED) 2007-04-22 15:50:59 0000 -------
If you removed eselect-compiler, and put back gcc-config, then you probably
have some stale wrapper binaries lying around from eselect-compiler.

You need to get rid of these; I posted some instructions somewhere but can't
find them now :/  Anyway; try something like:

$ find /usr/bin | \
  xargs grep -l "Could not determine which compiler to use" 2> /dev/null 

to find the stale wrappers, and just remove them.  The list should include
'gcov' but should _not_ include 'gcc' itself - if it does include 'gcc',
_don't_ delete anything but report back here first (otherwise you may end up
with no compiler!).

------- Comment #4 From OKUMURA N. Shin-ya 2007-04-22 16:31:48 0000 -------
(In reply to comment #3)
> to find the stale wrappers, and just remove them.  The list should include
> 'gcov' but should _not_ include 'gcc' itself - if it does include 'gcc',
> _don't_ delete anything but report back here first (otherwise you may end up
> with no compiler!).
> 

Thank you for your information.
I did as follows;
----------
$ find /usr/bin -type f -print0 | xargs -0 fgrep -la 'Could not determine which
compiler to use' 2>/dev/null
/usr/bin/x86_64-pc-linux-gnu-addr2name.awk
/usr/bin/addr2name.awk
/usr/bin/x86_64-pc-linux-gnu-fastjar
/usr/bin/fastjar
/usr/bin/x86_64-pc-linux-gnu-gccbug
/usr/bin/gccbug
/usr/bin/gcov
/usr/bin/gcj-dbtool
/usr/bin/gij
/usr/bin/x86_64-pc-linux-gnu-gcov
/usr/bin/gjnih
/usr/bin/x86_64-pc-linux-gnu-gcj-dbtool
/usr/bin/grepjar
/usr/bin/x86_64-pc-linux-gnu-gij
/usr/bin/i686-pc-linux-gnu-addr2name.awk
/usr/bin/grmic
/usr/bin/i686-pc-linux-gnu-gccbug
/usr/bin/grmiregistry
/usr/bin/i686-pc-linux-gnu-fastjar
/usr/bin/jcf-dump
/usr/bin/jv-scan
/usr/bin/jv-convert
/usr/bin/i686-pc-linux-gnu-gcov
/usr/bin/protoize
/usr/bin/i686-pc-linux-gnu-gcj-dbtool
/usr/bin/i686-pc-linux-gnu-gij
/usr/bin/i686-pc-linux-gnu-gjnih
/usr/bin/i686-pc-linux-gnu-grepjar
/usr/bin/i686-pc-linux-gnu-grmic
/usr/bin/i686-pc-linux-gnu-grmiregistry
/usr/bin/i686-pc-linux-gnu-jcf-dump
/usr/bin/i686-pc-linux-gnu-c++
/usr/bin/unprotoize
/usr/bin/i686-pc-linux-gnu-rmic
/usr/bin/i686-pc-linux-gnu-rmiregistry
/usr/bin/i686-pc-linux-gnu-jv-convert
/usr/bin/i686-pc-linux-gnu-jv-scan
/usr/bin/i686-pc-linux-gnu-protoize
/usr/bin/i686-pc-linux-gnu-unprotoize
/usr/bin/i686-pc-linux-gnu-cpp
/usr/bin/i686-pc-linux-gnu-g++
/usr/bin/x86_64-pc-linux-gnu-gjnih
/usr/bin/x86_64-pc-linux-gnu-grepjar
/usr/bin/x86_64-pc-linux-gnu-grmic
/usr/bin/x86_64-pc-linux-gnu-grmiregistry
/usr/bin/x86_64-pc-linux-gnu-jcf-dump
/usr/bin/x86_64-pc-linux-gnu-jv-convert
/usr/bin/x86_64-pc-linux-gnu-jv-scan
/usr/bin/x86_64-pc-linux-gnu-rmic
/usr/bin/x86_64-pc-linux-gnu-rmiregistry
/usr/bin/x86_64-pc-linux-gnu-protoize
/usr/bin/x86_64-pc-linux-gnu-unprotoize
/usr/bin/i686-pc-linux-gnu-gcc
/usr/bin/i686-pc-linux-gnu-gcj
/usr/bin/i686-pc-linux-gnu-cc
/usr/bin/i686-pc-linux-gnu-gcjh
/usr/bin/i686-pc-linux-gnu-gfortran
$ 
----------

Well...
I cannot believe that deleting all of them is really safe.
I will try re-emerge sys-devel/gcc and sys-devel/gcc-config, rather than
deletion.

------- Comment #5 From Kevin F. Quinn (RETIRED) 2007-04-22 17:13:57 0000 -------
Re-emerging those two won't get rid of the extraneous wrappers, although if any
of those files should come from gcc and gcc-config, they'll be replaced by
emerging - it certainly won't hurt if you have the time and resource to do
that.

However gcc-config installs wrappers for:
  {,${CTARGET}-}{cpp,cc,gcc,c++,g++,f77,g77,gcj,gcjh,gfortran,gdc,gdmd}

and none of the files you list match that (note that with gcc-config, on amd64
you just get wrappers for x86_64-pc-linux-gnu and none for i686-pc-linux-gnu),
so all the ones you listed are redundant and can be safely removed.  Note that
they're just eselect-compiler wrappers, the actual binaries are still present
elsewhere and should be set in your path by the gcc-config setup.

------- Comment #6 From OKUMURA N. Shin-ya 2007-04-25 18:05:26 0000 -------
(In reply to comment #5)

You are right.
After re-emerge, I did;
----------
find /usr/bin -type f -ctime +3 -print0 | xargs -0 fgrep -al 'Could not
determine which compiler to use' | xargs rm; gcc-config
x86_64-pc-linux-gnu-4.1.2
----------

Any problem has not seen currently.

I am changing the status as "INVALID" for the moment.
If anyone thought that stale binaries should be deleted when uninstall, then
please change the status (and severity, probably).

------- Comment #7 From Kevin F. Quinn (RETIRED) 2007-04-30 18:48:36 0000 -------
*** Bug 176524 has been marked as a duplicate of this bug. ***

------- Comment #8 From SpanKY 2007-05-02 19:01:31 0000 -------
gcc-config also installs a gcov wrapper so as to clobber any eselect stuff left
over

First Last Prev Next    No search results available      Search page      Enter new bug