Try to force -lc++ lc++abi which are lost when in $LIBS or $LDFLAGS, be verbose

```
/builddir/build/BUILD/libreoffice-6.3.5/workdir/CxxObject/l10ntools/source/idxdict/idxdict.o: In function `main':
/builddir/build/BUILD/libreoffice-6.3.5/l10ntools/source/idxdict/idxdict.cxx:30: undefined reference to `std::__1::ios_base::sync_with_stdio(bool)'
/builddir/build/BUILD/libreoffice-6.3.5/workdir/CxxObject/l10ntools/source/idxdict/idxdict.o: In function `std::__1::basic_istream<char, std::__1::char_traits<char> >::getline(char*, long)':
/usr/include/c++/v1/istream:275: undefined reference to `std::__1::cin'
/builddir/build/BUILD/libreoffice-6.3.5/workdir/CxxObject/l10ntools/source/idxdict/idxdict.o: In function `std::__1::basic_ios<char, std::__1::char_traits<char> >::widen(char) const':
/usr/include/c++/v1/ios:759: undefined reference to `std::__1::ios_base::getloc() const'
/builddir/build/BUILD/libreoffice-6.3.5/workdir/CxxObject/l10ntools/source/idxdict/idxdict.o: In function `std::__1::ctype<char> const& std::__1::use_facet<std::__1::ctype<char> >(std::__1::locale const&)':
/usr/include/c++/v1/__locale:234: undefined reference to `std::__1::ctype<char>::id'
<...>
```

https://t.me/libreofficeru/25659
This commit is contained in:
Mikhail Novosyolov 2020-04-01 08:52:36 +03:00
parent 0817154876
commit 7d34a85093
2 changed files with 8 additions and 4 deletions

View file

@ -78,6 +78,7 @@ Source70: %{srcurl}1f467e5bb703f12cbbb09d5cf67ecf4a-converttexttonumber-1-5-0.ox
Source71: %{srcurl}lxml-4.1.1.tgz Source71: %{srcurl}lxml-4.1.1.tgz
Source72: %{devexurl}/884ed41809687c3e168fc7c19b16585149ff058eca79acbf3ee784f6630704cc-opens___.ttf Source72: %{devexurl}/884ed41809687c3e168fc7c19b16585149ff058eca79acbf3ee784f6630704cc-opens___.ttf
Source80: loffice-libcxx-wrapper.sh
Source1000: libreoffice.rpmlintrc Source1000: libreoffice.rpmlintrc
Patch0: libreoffice-5.4.0.1-disable-test-languagetag.patch Patch0: libreoffice-5.4.0.1-disable-test-languagetag.patch
@ -2958,12 +2959,13 @@ export CCACHE_DIR=%{ccachedir}
# -> "argument unused during compilation: '-stdlib=libc++'" -> # -> "argument unused during compilation: '-stdlib=libc++'" ->
# -> -Wno-unused-command-line-argument # -> -Wno-unused-command-line-argument
export CXXFLAGS="$CXXFLAGS -stdlib=libc++ -nostdinc++ -I/usr/include/c++/v1 -Wno-unused-command-line-argument" export CXXFLAGS="$CXXFLAGS -stdlib=libc++ -nostdinc++ -I/usr/include/c++/v1 -Wno-unused-command-line-argument"
# Try to avoid overlinkg C code with libc++ by adjusting CXXFLAGS instead of LDFLAGS
export CXXFLAGS="$CXXFLAGS -Xlinker -lc++ -Xlinker -lc++abi"
# Workaround old system boost being incompatible with C++17 which removed std::auto_ptr # Workaround old system boost being incompatible with C++17 which removed std::auto_ptr
# https://github.com/TRIQS/triqs/issues/523#issuecomment-351960463 # https://github.com/TRIQS/triqs/issues/523#issuecomment-351960463
export CXXFLAGS="$CXXFLAGS -D_LIBCPP_ENABLE_CXX17_REMOVED_AUTO_PTR" export CXXFLAGS="$CXXFLAGS -D_LIBCPP_ENABLE_CXX17_REMOVED_AUTO_PTR"
%clang_gcc_wrapper %clang_gcc_wrapper
export LIBCCX_LIBS="-lc++ -lc++abi"
install -m0755 %{SOURCE80} "local_bin/clang++wr"
sed -i -e "s,/usr/bin/clang++,${PWD}/local_bin/clang++wr,g" "local_bin/clang++"
%endif %endif
echo "Configure start at: "`date` >> ooobuildtime.log echo "Configure start at: "`date` >> ooobuildtime.log
@ -3079,10 +3081,9 @@ cp %{SOURCE72} external/tarballs/
touch external/tarballs/.downloaded touch external/tarballs/.downloaded
# (tpg) silent output to reduce memory and free space
# We use make build here because the default target is "allandcheck". # We use make build here because the default target is "allandcheck".
# Checking should go to check # Checking should go to check
%make -r -s V=0 build-nocheck %make V=1 verbose=t build-nocheck
echo "Make end at: "`date` >> ooobuildtime.log echo "Make end at: "`date` >> ooobuildtime.log
echo "Install start at: "`date` >> ooobuildtime.log echo "Install start at: "`date` >> ooobuildtime.log

View file

@ -0,0 +1,3 @@
#!/bin/sh
/usr/bin/clang++ "$@" $LIBCCX_LIBS