Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

webkit-gtk, unrecognized command-line option ‘-stdlib=libstdc++’ #844

Open
StefanSalewski opened this issue Jun 1, 2022 · 4 comments

Comments

@StefanSalewski
Copy link

I got this error already on a fresh install one week ago, and now again.

It was reported already long time ago, #808

I have no idea why the clang option is enabled for gcc. And what makes it really ugly is, that we have to touch the original files to fix it,

/etc/portage/package.cflags # cat clang.conf

# BEGIN: Packages which require libstdc++
media-libs/exempi CXXFLAGS+=-stdlib=libstdc++ # fatal error: 'tr1/memory' file not found
#net-libs/webkit-gtk CXXFLAGS+=-stdlib=libstdc++ # error: use of undeclared identifier 'LC_ALL'
# END: Packages which require libstdc++

which then makes it difficult to update the original package.

@TheMBL09898
Copy link

I have the same error, this fixes it

@StefanSalewski
Copy link
Author

And again, when installing emerge -pv webkit-gtk, net-libs/webkit-gtk-2.38.2:4/37::gentoo

  The C++ compiler

    "/usr/bin/x86_64-pc-linux-gnu-g++"

  is not able to compile a simple test program.

  It fails with the following output:

    Change Dir: /var/tmp/portage/net-libs/webkit-gtk-2.38.2/work/webkitgtk-2.38.2_build/CMakeFiles/CMakeTmp
    
    Run Build Command(s):/usr/bin/ninja cmTC_61634 && [1/2] Building CXX object CMakeFiles/cmTC_61634.dir/testCXXCompiler.cxx.o
    FAILED: CMakeFiles/cmTC_61634.dir/testCXXCompiler.cxx.o 
    /usr/bin/x86_64-pc-linux-gnu-g++    -DNDEBUG -march=native -O3 -fgraphite-identity -floop-nest-optimize -fdevirtualize-at-ltrans -fipa-pta -fno-semantic-interposition -fuse-linker-plugin -fomit-frame-pointer -pipe -stdlib=libstdc++ -Wl,-O1 -Wl,--as-needed -fuse-ld=mold -o CMakeFiles/cmTC_61634.dir/testCXXCompiler.cxx.o -c /var/tmp/portage/net-libs/webkit-gtk-2.38.2/work/webkitgtk-2.38.2_build/CMakeFiles/CMakeTmp/testCXXCompiler.cxx
    x86_64-pc-linux-gnu-g++: error: unrecognized command-line option ‘-stdlib=libstdc++’
    ninja: build stopped: subcommand failed.

Something has updated clang.conf in

ls -lt /var/db/repos/lto-overlay/sys-config/ltoize/files/package.cflags/
total 76
-rw-r--r-- 1 root root  1239 Dec 11 09:24 clang.conf
-rw-r--r-- 1 root root   321 May 31  2022 cmake-makefile.conf
-rw-r--r-- 1 root root   174 May 31  2022 devirtualize-at-ltrans.conf
-rw-r--r-- 1 root root  1826 May 31  2022 flag-o-matic.conf
-rw-r--r-- 1 root root   270 May 31  2022 graphite.conf
-rw-r--r-- 1 root root  2005 May 31  2022 ipa-pta.conf
-rw-r--r-- 1 root root 13196 May 31  2022 lto.conf
-rw-r--r-- 1 root root  4302 May 31  2022 no-common.conf
-rw-r--r-- 1 root root  2528 May 31  2022 no-common-libtool.conf
-rw-r--r-- 1 root root   510 May 31  2022 no-plt.conf
-rw-r--r-- 1 root root  1182 May 31  2022 no-semantic-interposition.conf
-rw-r--r-- 1 root root  3703 May 31  2022 optimizations.conf
-rw-r--r-- 1 root root   181 May 31  2022 portage-bashrc-mv.conf
-rw-r--r-- 1 root root   672 May 31  2022 tls-dialect.conf
-rw-r--r-- 1 root root   286 May 31  2022 use-ld.conf

back to

# BEGIN: Workarounds for LTO with Clang
dev-lang/python *FLAGS-=-flto* # https://bugs.gentoo.org/700012 : No -ffat-lto-objects on clang
dev-libs/libffi *FLAGS-=-flto* # error: changed section flags for .eh_frame https://github.com/libffi/libffi/issues/626 (abi_x86_32)
dev-util/colm *FLAGS-=-flto* # ld: libcolm.a: error adding symbols: file format not recognized
media-libs/dav1d *FLAGS-=-flto* # general protection fault https://code.videolan.org/videolan/dav1d/-/issues/362
>=app-office/libreoffice-7.1.2.2 "has clang ${IUSE//+} && use clang && NOLDADD=1" "has clang ${IUSE//+} && use clang && has custom-cflags ${IUSE//+} && use custom-cflags && FlagSubAllFlags ${GRAPHITE} ${DEVIRTLTO} ${IPAPTA} ${FLTO} -fuse-linker-plugin" # fails to configure, see issue #734
# END: Workarounds for LTO with Clang

# BEGIN: Packages which require Full LTO
media-libs/libglvnd LTO_FULL=1 # ld.lld: error: undefined symbol: entrypointFunctions
# END: Packages which require Full LTO

# BEGIN: Packages which require libstdc++
media-libs/exempi CXXFLAGS+=-stdlib=libstdc++ # fatal error: 'tr1/memory' file not found
net-libs/webkit-gtk CXXFLAGS+=-stdlib=libstdc++ # error: use of undeclared identifier 'LC_ALL'
# END: Packages which require libstdc++

@MCPO-Spartan-117
Copy link

MCPO-Spartan-117 commented Dec 19, 2022

You can make a file named like zz-clang.conf in /etc/portage/package.cflags and put net-libs/webkit-gtk CXXFLAGS-=-stdlib=libstdc++ in it to revert this, but it's probably best to remove the use flag clang from sys-config/ltoize.

Just to mention the other issue and pull request, not sure of a better way to do this.
#808
#836

@StefanSalewski
Copy link
Author

best to remove the use flag clang from sys-config/ltoize.

Good idea, thanks.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants