Running an emerge --update world fails with >>> Unpacking source... >>> Unpacking STLport-5.1.2.tar.bz2 to /var/tmp/portage/dev-libs/STLport-5.1.2/work * Applying STLport-5.1.2-wrong_russian_currency_name.patch ... [ ok ] >>> Source unpacked. >>> Compiling source in /var/tmp/portage/dev-libs/STLport-5.1.2/work/STLport-5.1.2 ... make: Entering directory `/var/tmp/portage/dev-libs/STLport-5.1.2/work/STLport-5.1.2/build/lib' powerpc-unknown-linux-gnu-g++ -pthread -fexceptions -fident -fPIC -fuse-cxa-atexit -O2 -pipe -mcpu=G4 -maltivec -mabi=altivec -fno-strict-aliasing -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_REENTRANT -D_STLP_REAL_LOCALE_IMPLEMENTED -D_GNU_SOURCE -I../../stlport -c -o obj/gcc/so/dll_main.o ../../src/dll_main.cpp ../../stlport/stl/_cstdlib.h:91: error: '__std_alias::llabs' has not been declared ../../stlport/stl/_cstdlib.h:92: error: '__std_alias::lldiv_t' has not been declared ../../stlport/stl/_cstdlib.h:93: error: '__std_alias::lldiv' has not been declared ../../stlport/stl/_cstdlib.h: In function 'long long int abs(long long int)': ../../stlport/stl/_cstdlib.h:144: error: 'llabs' is not a member of '__std_alias' ../../stlport/stl/_cstdlib.h: In function 'lldiv_t div(long long int, long long int)': ../../stlport/stl/_cstdlib.h:145: error: 'lldiv' is not a member of '__std_alias' make: *** [obj/gcc/so/dll_main.o] Error 1 make: Leaving directory `/var/tmp/portage/dev-libs/STLport-5.1.2/work/STLport-5.1.2/build/lib' !!! ERROR: dev-libs/STLport-5.1.2 failed. Call stack: ebuild.sh, line 1614: Called dyn_compile ebuild.sh, line 971: Called qa_call 'src_compile' environment, line 3501: Called src_compile STLport-5.1.2.ebuild, line 79: Called die Reproducible: Always emerge info *** Deprecated use of action 'info', use '--info' instead Portage 2.1.2.2 (default-linux/ppc/ppc32/2006.1, gcc-4.1.1, glibc-2.4-r4, 2.6.18.4 ppc) ================================================================= System uname: 2.6.18.4 ppc 7447/7457, altivec supported Gentoo Base System release 1.12.9 Timestamp of tree: Sun, 15 Apr 2007 18:20:01 +0000 dev-lang/python: 2.4.3-r4 dev-python/pycrypto: 2.0.1-r5 sys-apps/sandbox: 1.2.17 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.15-r1 sys-devel/libtool: 1.5.22 virtual/os-headers: 2.6.17-r2 ACCEPT_KEYWORDS="ppc" AUTOCLEAN="yes" CBUILD="powerpc-unknown-linux-gnu" CFLAGS="-O2 -pipe -mcpu=G4 -maltivec -mabi=altivec -fno-strict-aliasing" CHOST="powerpc-unknown-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" CONFIG_PROTECT_MASK="/etc/env.d /etc/gconf /etc/terminfo /etc/texmf/web2c" CXXFLAGS="-O2 -pipe -mcpu=G4 -maltivec -mabi=altivec -fno-strict-aliasing" DISTDIR="/usr/portage/distfiles" FEATURES="distlocks metadata-transfer sandbox sfperms strict" GENTOO_MIRRORS="http://linux.rz.ruhr-uni-bochum.de/download/gentoo-mirror/ ftp://ftp.wh2.tu-dresden.de/pub/mirrors/gentoo http://ftp-stud.fht-esslingen.de/pub/Mirrors/gentoo/ " MAKEOPTS="-j2" 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" SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage" USE="X alsa apache2 arts berkdb bitmap-fonts bonobo cdr cli cracklib crypt cups dri dvd eds emboss encode esd firefox fortran gdbm gif gnome gpm gstreamer gtk gtkhtml iconv ipv6 isdnlog jpeg kde ldap libg++ libwww mad midi mikmod mozilla mp3 mpeg ncurses nls nptl nptlonly ogg opengl pam pcre pdf perl png ppc pppd python qt3 qt4 quicktime readline reflection ruby sdl session spell spl ssl tcpd truetype truetype-fonts type1-fonts unicode vorbis xml xorg xv zlib" ALSA_CARDS="aoa aoa-fabric-layout aoa-onyx aoa-soundbus aoa-soundbus-i2s aoa-tas aoa-toonie powermac usb-audio via82xx" 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" USERLAND="GNU" VIDEO_CARDS="ati chips dummy fbdev glint imstt mga nv s3 s3virge savage sisusb tdfx trident v4l voodoo" Unset: CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, LDFLAGS, LINGUAS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY
Ditto for me. I'm on lynx atm so it's hard to include emerge --info. It's a ppc G3, though, with similar settings to Martin's.
Please re-emerge gcc and try again.
(In reply to comment #2) > Please re-emerge gcc and try again. > Even emerge -e gcc doesn't help. The same problem is still there.
... and what about glibc? As far as I know, ppc has glibc-2.5 stable. Could you please try to emerge that one first? This is basically the same bug we had during stabilization: https://bugs.gentoo.org/show_bug.cgi?id=173175#c2 ... and it worked there after re-emerging gcc with glibc-2.5. @toolchain: Still no idea what causes this bug?
my guess is that full long long support on ppc is relatively new ... you need gcc/glibc in sync in order to have these features available you prob wouldnt see the issue on say amd64 as it has had full long long support for quite a long time
Another re-emerge of glibc doesn't solve it. Nevertheless I already emerged gcc with the -e option where glibc was also emerged.
Hmm, could you please attach the following file: /usr/lib/gcc/powerpc-unknown-linux-gnu/4.1.1/include/g++-v4/powerpc-unknown-linux-gnu/bits/c++config.h matti: You had the same problem during stabilization, could you please attach the file above as well?
Created attachment 116881 [details] config.h Here it is.
Created attachment 116883 [details] c++config.h ok, it gets stranger with every minute :-) A user gave me this c++config, he runs a stable ppc-profile on a G4 with gcc-4.1.1 and glibc-2.5. As you can see, he has the following: /* Define if C99 functions or macros from <wchar.h>, <math.h>, <complex.h>, <stdio.h>, and <stdlib.h> can be used or exposed. */ /* #undef _GLIBCXX_USE_C99 */ /* Define if C99 functions in <complex.h> should be used in <complex>. Using compiler builtins for these functions requires corresponding C99 library functions to be present. */ /* #undef _GLIBCXX_USE_C99_COMPLEX */ while Matti has: /* Define if C99 functions or macros from <wchar.h>, <math.h>, <complex.h>, <stdio.h>, and <stdlib.h> can be used or exposed. */ #define _GLIBCXX_USE_C99 1 /* Define if C99 functions in <complex.h> should be used in <complex>. Using compiler builtins for these functions requires corresponding C99 library functions to be present. */ #define _GLIBCXX_USE_C99_COMPLEX 1
@martin: could you also please paste the output of the following two commands? gcc -dM -E /usr/include/features.h | grep __USE_ISOC99 g++ -dM -E /usr/include/features.h | grep __USE_ISOC99 Thanks!
@martin: and while you're at it, please try to compile this file: http://dev.gentoo.org/~truedfx/complex.c thanks a lot!
no output from lapsus ~ # gcc -dM -E /usr/include/features.h | grep __USE_ISOC99 lapsus ~ # g++ -dM -E /usr/include/features.h | grep __USE_ISOC99 #define __USE_ISOC99 1 ...and complex.c compiles fine.
Well it compiles with gcc, but not with g++. g++ complex.c In file included from /usr/lib/gcc/powerpc-unknown-linux-gnu/4.1.1/include/g++-v4/backward/complex.h:31, from complex.c:1: /usr/lib/gcc/powerpc-unknown-linux-gnu/4.1.1/include/g++-v4/backward/backward_warning.h:32:2: warning: #warning This file includes at least one deprecated or antiquated header. Please consider using one of the 32 headers found in section 17.4.1.2 of the C++ standard. Examples include substituting the <X> header for the <X.h> header for C++ includes, or <iostream> instead of the deprecated header <iostream.h>. To disable this warning use -Wno-deprecated. complex.c: In function 'int main()': complex.c:4: error: 'cabsf' was not declared in this scope complex.c:5: error: 'cargf' was not declared in this scope complex.c:6: error: 'ccosf' was not declared in this scope complex.c:7: error: 'ccoshf' was not declared in this scope complex.c:8: error: 'cexpf' was not declared in this scope complex.c:9: error: 'clogf' was not declared in this scope complex.c:10: error: 'csinf' was not declared in this scope complex.c:11: error: 'csinhf' was not declared in this scope complex.c:12: error: 'csqrtf' was not declared in this scope complex.c:13: error: 'ctanf' was not declared in this scope complex.c:14: error: 'ctanhf' was not declared in this scope complex.c:15: error: 'cpowf' was not declared in this scope complex.c:17: error: 'cabs' was not declared in this scope complex.c:18: error: 'carg' was not declared in this scope complex.c:19: error: 'ccos' was not declared in this scope complex.c:20: error: 'ccosh' was not declared in this scope complex.c:21: error: 'cexp' was not declared in this scope complex.c:22: error: 'clog' was not declared in this scope complex.c:23: error: 'csin' was not declared in this scope complex.c:24: error: 'csinh' was not declared in this scope complex.c:25: error: 'csqrt' was not declared in this scope complex.c:26: error: 'ctan' was not declared in this scope complex.c:27: error: 'ctanh' was not declared in this scope complex.c:28: error: 'cpow' was not declared in this scope complex.c:30: error: 'cabsl' was not declared in this scope complex.c:31: error: 'cargl' was not declared in this scope complex.c:32: error: 'ccosl' was not declared in this scope complex.c:33: error: 'ccoshl' was not declared in this scope complex.c:34: error: 'cexpl' was not declared in this scope complex.c:35: error: 'clogl' was not declared in this scope complex.c:36: error: 'csinl' was not declared in this scope complex.c:37: error: 'csinhl' was not declared in this scope complex.c:38: error: 'csqrtl' was not declared in this scope complex.c:39: error: 'ctanl' was not declared in this scope complex.c:40: error: 'ctanhl' was not declared in this scope complex.c:41: error: 'cpowl' was not declared in this scope
Yes, that's normal (although it doesn't seem to happen for everybody). The command libstdc++-v3's configure uses to test whether to define _GLIBCXX_USE_C99_COMPLEX (and from there, _GLIBCXX_USE_C99) is gcc -shared-libgcc -nostdinc++ -c -D_GNU_SOURCE conftest.cc (except it also refers to the gcc build directory). It compiles in C++ mode, but without C++ headers. When C++ headers are included, the wrong <complex.h> gets pulled in. Could you try it like that, with g++ -shared-libgcc -nostdinc++ -c -D_GNU_SOURCE complex.c ? (Or with gcc, and renaming the file to have a .cc extension.)
g++ -shared-libgcc -nostdinc++ -c -D_GNU_SOURCE complex.c works fine. gcc -shared-libgcc -nostdinc++ -c -D_GNU_SOURCE complex.cc works fine, too. No warnings, no errors.
In that case, I don't see why _GLIBCXX_USE_C99 and -_COMPLEX might not get defined by gcc. Is it possible for you to re-emerge gcc with FEATURES="keepwork" and to attach libstdc++-v3's config.log?
After running again an emerge gcc it's magically fixed now. My history looks like emerge gcc emerge -e gcc emerge glibc emerge gcc I really don't understand it. But it is fixed somehow after emerging gcc for the third time. And it was definitely still broken after the second gcc emerge. Nevertheless, thank you very much for all your help. Thanks!