Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 38634 - arts-1.1.5 gives "no known STL type found"
Summary: arts-1.1.5 gives "no known STL type found"
Status: RESOLVED INVALID
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] KDE (show other bugs)
Hardware: x86 Linux
: High normal (vote)
Assignee: Gentoo KDE team
URL:
Whiteboard:
Keywords:
: 38869 39024 (view as bug list)
Depends on:
Blocks:
 
Reported: 2004-01-18 12:28 UTC by Derrick Coetzee
Modified: 2004-01-27 11:18 UTC (History)
4 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Derrick Coetzee 2004-01-18 12:28:26 UTC
While doing a regular emerge -U world, I encountered this error while emerging arts, a KDE subsystem. My guess is that it can't find the standard C++ include files for some reason; the CFLAGS might need adjusting. My standard C++ headers are all found at this path:

/usr/lib/gcc-lib/i686-pc-linux-gnu/3.2.3/include/g++-v3


Reproducible: Always
Steps to Reproduce:
1. emerge arts

Actual Results:  
checking if Qt compiles without flags... no
checking if STL implementation is SGI like... no
checking if STL implementation is HP like... no
configure: error: "no known STL type found - did you forget to install 
libstdc++-devel ?"

!!! ERROR: kde-base/arts-1.1.5 failed.
!!! Function kde_src_compile, Line 117, Exitcode 1
!!! died running ./configure, kde_src_compile:configure


Expected Results:  
Installed the arts package with no errors.

# emerge info
Gentoo Base System version 1.4.3.10
Portage 2.0.49-r20 (default-x86-1.4, gcc-3.2.3, glibc-2.3.2-r9, 2.6.0-gentoo)
=================================================================
System uname: 2.6.0-gentoo i686 Intel(R) Pentium(R) 4 CPU 2.80GHz
ccache version 2.3 [enabled]
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CFLAGS="-O3 -march=pentium4 -fomit-frame-pointer -funroll-loops -pipe"
CHOST="i686-pc-linux-gnu"
COMPILER="gcc3"
CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3.1
/share/config /usr/kde/3/share/config /usr/share/config /usr/share/texmf/tex/gen
eric/config/ /usr/share/texmf/tex/platex/config/ /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d"
CXXFLAGS="-O3 -march=pentium4 -fomit-frame-pointer -funroll-loops -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoaddcvs ccache sandbox"
GENTOO_MIRRORS="http://mirror.tucdemonic.org/gentoo/ ftp://gentoo.ccccom.com 
http://gentoo.ccccom.com"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY=""
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="3dnow X aalib apache2 apm arts avi berkdb cdr crypt cups curl dvd dvdr 
emacs encode esd fastcgi fbcon foomaticdb gd gdbm gif gnome gpm gtk gtk2 imap 
imlib java jikes jpeg kde leim libg++ libwww mad maildir mbox mikmod mmx motif 
mozilla mpeg ncurses nls oggvorbis opengl oss pam pdflib perl png python qt 
quicktime readline samba scanner sdl slang spell sse ssl svga tcltk tcpd tetex 
truetype unicode usb videos x86 xface xinerama xml xml2 xmms xosd xv zlib"
Comment 1 Derrick Coetzee 2004-01-18 12:29:55 UTC
Oh, I forgot to mention. I have the gcc-3.2.3-r3 installed.
Comment 2 Leonid Podolny 2004-01-18 14:25:31 UTC
Same behaviour here
Comment 3 Darryl VanDorp 2004-01-18 17:22:08 UTC
i get the same error
Comment 4 Darryl VanDorp 2004-01-18 18:10:41 UTC
re-emerging gcc fixes it.
Comment 5 Derrick Coetzee 2004-01-18 19:06:15 UTC
Re-emerging gcc worked for me too.
Comment 6 Brian Litzinger 2004-01-19 09:00:57 UTC
I hit this same problem on some machines but not others.
Comment 7 Paul de Vrieze (RETIRED) gentoo-dev 2004-01-19 10:51:35 UTC
Ok, closing this bug. Note that this is normally a gcc problem. (Which should be triggered by any C++ app that uses STL)
Comment 8 Paul de Vrieze (RETIRED) gentoo-dev 2004-01-21 04:20:41 UTC
*** Bug 38869 has been marked as a duplicate of this bug. ***
Comment 9 Justin Findlay 2004-01-21 17:19:16 UTC
gcc (GCC) 3.2.3 20030422 (Gentoo Linux 1.4 3.2.3-r3, propolice)
Copyright (C) 2002 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Same error here.  I'll try re-emerging gcc.
Comment 10 Caleb Tennis (RETIRED) gentoo-dev 2004-01-22 05:04:20 UTC
*** Bug 39024 has been marked as a duplicate of this bug. ***
Comment 11 Justin Findlay 2004-01-24 10:47:47 UTC
Re-emerging gcc (and glibc) fixed this for me.
Comment 12 Alexey Starinsky 2004-01-27 06:15:37 UTC
Could you recommend users how to avoid this bug situation in possible future builds made from-the-very-beginning?
Comment 13 Caleb Tennis (RETIRED) gentoo-dev 2004-01-27 06:20:24 UTC
Yes, gcc and glibc updates go hand in hand.  You should always update glibc first, followed by gcc.  If you do it the other way around you can create inconsistent header files, which cause problems for C++ based programs (KDE apps being the most notorious).
Comment 14 Alexey Starinsky 2004-01-27 10:10:10 UTC
1) If I understood well, is it necessary every time to emerge glibc _and_only_then_ - gcc? If yes, why there is no warning about that when emerge updates the gcc or glibc separately? Or may be, it would be reasonable to do it automatically when doing such emerges? Unfortunately, the current portage tree does not handle such an "unlucky dependency". 

2) Why do users have this issue when not updating but _building_ the system from the very beginning (as I had the same trouble when tried to build from the _first_ stage)?

May be, my questions should be addressed not to kde maintainers team, but to gcc maintainers team? If yes, sorry for insistence, and if would not take too much efforts, please pass this note to proper addressee.
Comment 15 Caleb Tennis (RETIRED) gentoo-dev 2004-01-27 10:18:24 UTC
your questions are valid ones, the answer I can give you is a resounding "I don't know" :)

See, gcc is the culprit that is creating the header files (see /usr/lib/gcc-lib/.../.../include/README).  Obviously they are incorrectly being created.  My presumption here is that they are being created by looking at headers provided by glibc, and as such if you update glibc you may get two sets of incompatible headers.

This is all speculation.  I don't seem to have this problem on any of my machines here locally, and others don't as well, but a lot of people *do* have the problem.  My hope is that someone with the problem is able to help deduce what is causing it, and we can figure out a way to fix it.  It's probably best left to the gcc people as they're the experts in this field: gcc-porting@gentoo.org
Comment 16 Derrick Coetzee 2004-01-27 10:21:07 UTC
I second the sentiments of Alexey. I do _not_ consider it a reasonable solution for people experiencing problems to come search the bugs database, happen to stumble upon our walkthrough, and then use it. While eliminating the problem is the responsibility of the gcc team, portage should be doing something about it actively, even if it's only a warning message. Ideally, it should automatically re-emerge gcc after emerging glibc.
Comment 17 Caleb Tennis (RETIRED) gentoo-dev 2004-01-27 10:25:51 UTC
it's also looking like gcc-3.2.3-r4 has the fix for this problem in the ebuild:

< # $Header: /home/cvsroot/gentoo-x86/sys-devel/gcc/gcc-3.2.3-r3.ebuild,v 1.4 2004/01/21 18:42:08 azarah Exp $
---
> # $Header: /home/cvsroot/gentoo-x86/sys-devel/gcc/gcc-3.2.3-r4.ebuild,v 1.1 2004/01/27 10:04:46 lu_zero Exp $
100c100
< KEYWORDS="x86 ppc sparc alpha arm mips -hppa"
---
> KEYWORDS="~ppc" #x86 ppc sparc alpha arm mips -hppa"
424a425,433
>       # Remove generated headers, as they can cause things to break
>       # (ncurses, openssl, etc).
>       for x in `find ${WORKDIR}/build/gcc/include/ -name '*.h'`
>       do
>               if grep -q 'It has been auto-edited by fixincludes from' ${x}
>               then
>                       rm -f ${x}
>               fi
>       done
Comment 18 Paul de Vrieze (RETIRED) gentoo-dev 2004-01-27 11:18:08 UTC
Basically the only perfect way to do it is
- emerge gcc (c-only is good)
- emerge glibc
- emerge gcc

This is also what bootstrap.sh does/should do.