Package Details: libstdc++5 3.3.6-11

Git Clone URL: https://aur.archlinux.org/libstdc++5.git (read-only, click to copy)
Package Base: libstdc++5
Description: GNU Standard C++ library version 3
Upstream URL: https://gcc.gnu.org
Licenses: GPL, LGPL
Submitter: eworm
Maintainer: mikro
Last Packager: mikro
Votes: 9
Popularity: 0.41
First Submitted: 2022-02-10 14:18 (UTC)
Last Updated: 2025-05-24 22:15 (UTC)

Latest Comments

1 2 3 Next › Last »

mikro commented on 2025-05-24 22:18 (UTC)

Thanks @sevarch, should be fixed here as well.

I tried several ideas (--disable-sjlj-exceptions, changing only CXXFLAGS, ...) but none of them had any effect so in the end I went with your -O1 workaround.

Btw not sure why you added -std=c17 there considering that gcc-3.3.6 was released in 2005. -std=gnu99 did the trick and as a bonus, got rid of all that annoying warnings about using the K&R format.

severach commented on 2025-05-23 19:39 (UTC) (edited on 2025-05-24 00:10 (UTC) by severach)

gcc15 is now available on Manjaro but it doesn't matter. Even with my fixes this won't compile on gcc15 or gcc14 addon or gcc12 addon. It will build downgrading to gcc14 and using the gcc15 builds of glibc gcc-libs and binutils. It will not build with gcc15 and the same. The build fails with an xgcc "configure:3969: internal compiler error: Segmentation fault". I think it's a bug in gcc15 producing faulty C++ code that should be fixed soon.

Got it! It's a bug in gcc15 -O2 and -O3. Change to O1 and it builds. See lib32-libstdc++5 for the changes.

filiplaurentiu commented on 2025-05-23 11:33 (UTC)

I experience the same issue as others in the comment section.

gcc -Wno-implicit-int -Wno-implicit-function-declaration -Wno-incompatible-pointer-types -Wno-int-conversion -c -DHAVE_CONFIG_H -march=x86-64 -O2 -I. -I../../gcc-3.3.6/libibn -c -DHAVE_CONFIG_H -march=x86-64 -O2 -I. -I../../gcc-3.3.6/libiberty/../include  -W  -fpic ../../gcc-3.3.6/libiberty/getpwd.c -o pic/getpwd.o; \                             libiberty/getpwd.c -o pic/getpwd.o; \                                                                        else true; fi
else true; fi                                                                                                ../../gcc-3.3.6/libiberty/getpwd.c:41:14: error: conflicting types
../../gcc-3.3.6/libiberty/getpwd.c:41:14: error: conflicting types for ‘getwd’; have ‘char *(void)’             41 | extern char *getwd ();
   41 | extern char *getwd ();                                                                                     |              ^~~~~
      |              ^~~~~                                                                                   In file included from ../../gcc-3.3.6/libiberty/getpwd.c:30:
In file included from ../../gcc-3.3.6/libiberty/getpwd.c:30:                                                 /usr/include/unistd.h:545:14: note: previous declaration of ‘getwd
/usr/include/unistd.h:545:14: note: previous declaration of ‘getwd’ with type ‘char *(char *)’                 545 | extern char *getwd (char *__buf)
  545 | extern char *getwd (char *__buf)                                                                           |              ^~~~~
      |              ^~~~~                                                                                   make[1]: *** [Makefile:127: getpwd.o] Error 1
make[1]: *** [Makefile:127: getpwd.o] Error 1                                                                make[1]: Leaving directory '/home/filip/.cache/yay/libstdc++5/src/
make[1]: Leaving directory '/home/filip/.cache/yay/libstdc++5/src/gcc-build/libiberty'                       make: *** [Makefile:1293: all-libiberty] Error 2
make: *** [Makefile:1293: all-libiberty] Error 2                                                             ==> ERROR: A failure occurred in build().
==> ERROR: A failure occurred in build().

severach commented on 2025-05-19 20:32 (UTC) (edited on 2025-05-23 19:30 (UTC) by severach)

getcwd is easily fixed by adding -std=gnu17 to CFLAGS export CC=. The next error "C compiler cannot create executables" "unable to detect exception model" I haven't yet found a fix for.

FabioLolix commented on 2025-05-05 19:05 (UTC)

However my Manjaro still uses gcc 14.2.1 so I can't test it (yet). Will get back to it once I have gcc 15 installed.

Likely you can test using the Manjaro equivalent of devtools (manjaro-chroot I guess) for building in a chroot using the unstable branch where there is already gcc 15

mikro commented on 2025-05-05 18:41 (UTC)

@pobrn thanks for the build log. Indeed, this looks like an issue to be fixed. However my Manjaro still uses gcc 14.2.1 so I can't test it (yet). Will get back to it once I have gcc 15 installed.

pobrn commented on 2025-05-05 18:29 (UTC)

Does not build with GCC 15: https://gcc.gnu.org/gcc-15/porting_to.html#c23-fn-decls-without-parameters

../../gcc-3.3.6/libiberty/getpwd.c:41:14: error: conflicting types for ‘getwd’; have ‘char *(void)’
   41 | extern char *getwd ();
      |              ^~~~~
In file included from ../../gcc-3.3.6/libiberty/getpwd.c:30:
/usr/include/unistd.h:545:14: note: previous declaration of ‘getwd’ with type ‘char *(char *)’
  545 | extern char *getwd (char *__buf)
      |              ^~~~~
make[1]: *** [Makefile:127: getpwd.o] Error 1

mikro commented on 2025-05-04 15:15 (UTC)

Please don't flag it as "out of date only because you've experienced a build error. I built and installed this package in March 2025 without any issue so it's hardly out of date.

Unless you provide a more comprehensive bug report, I can't help you.

ok1dtm commented on 2025-05-04 14:14 (UTC)

No possible compile : gcc-3.3.6/libiberty/getpwd.c:41:14: error: conflicting types for ‘getwd’; have ‘char *(void)’

mikro commented on 2025-03-08 21:50 (UTC)

Works for me.