ChanServ changed the topic of #libreoffice-ru to: Канал поддержки русскоязычных пользователей LibreOffice | Wiki TDF http://tdf.io/wikiru | On-line документация http://tdf.io/helpru | Логи канала: http://goo.gl/gzwdwU
JohnDoe_71Rus has joined #libreoffice-ru
lo-ru-tg has quit [Remote host closed the connection]
lo-ru-tg has joined #libreoffice-ru
mikekaganski has quit [Ping timeout: 264 seconds]
mikekaganski has joined #libreoffice-ru
JohnDoe6 has joined #libreoffice-ru
JohnDoe_71Rus has quit [Ping timeout: 258 seconds]
<lo-ru-tg> <m​ikhailnov> Сборка либры точно правильно понимает переменную окружения $LIBS?
<lo-ru-tg> <m​ikhailnov> export CXXFLAGS="$CXXFLAGS -stdlib=libc++ -nostdinc++ -I/usr/include/c++/v1 -Wno-unused-command-line-argument"
<lo-ru-tg> <m​ikhailnov> export LIBS="-lc++ -lc++abi"
<lo-ru-tg> <m​ikhailnov> export CXXFLAGS="$CXXFLAGS -D_LIBCPP_ENABLE_CXX17_REMOVED_AUTO_PTR"
<lo-ru-tg> <m​ikhailnov> export LDFLAGS="$LDFLAGS -Wl,--as-needed"
<lo-ru-tg> <m​ikhailnov> workdir/CxxObject/l10ntools/source/idxdict/idxdict.o: In function `std::__1::basic_ios<char, std::__1::char_traits<char> >::widen(char) const':
<lo-ru-tg> <m​ikhailnov> Приводит к:
<lo-ru-tg> <m​ikhailnov> /usr/include/c++/v1/ios:759: undefined reference to `std::__1::ios_base::getloc() const'
<lo-ru-tg> <m​ikhailnov> И множеству других undefined reference к std::
<lo-ru-tg> <m​ikhailnov> Похоже, что -lc++ -lc++abi теряется, не пойму, почему
<lo-ru-tg> <K​ompilainenn> Бггг, патч откатили уже
JohnDoe_71Rus has joined #libreoffice-ru
<lo-ru-tg> <Mike> А откуда уверенность, что эта переменная вдруг должна учитываться?
<lo-ru-tg> <m​ikhailnov> ./configure --help
JohnDoe6 has quit [Ping timeout: 256 seconds]
<lo-ru-tg> <Mike> Вы эту переменную задаёте перед ./autogen.sh?
<lo-ru-tg> <m​ikhailnov> autogen не делаю, использую заводской ./configure без его пересборки
<lo-ru-tg> <m​ikhailnov> задаю до ./configure
<lo-ru-tg> <Mike> В configure оно учитывается при определении разных вариаций FOO_LIBS. Теоретически должно работать. Но я проверять не буду
<lo-ru-tg> <Mike> patches are welcome
<lo-ru-tg> <m​ikhailnov> а какой штатный способ задать флаги линковщика?
<lo-ru-tg> <m​ikhailnov> еще make V=1 не пишет в лог команды компилятора
<lo-ru-tg> <m​ikhailnov> точнее, не в лог, а в stderr/stdout
<lo-ru-tg> <Mike> Не пользовался никогда заданием флагов извне. Когда нужно, исправляю в makefiles
<lo-ru-tg> <Mike> make verbose=t
<lo-ru-tg> <m​ikhailnov> t?
<lo-ru-tg> <m​ikhailnov> это как?
<lo-ru-tg> <Mike> не t?, а t
<lo-ru-tg> <m​ikhailnov> $(if $(verbose) - проверка на любое значение ?
<lo-ru-tg> <m​ikhailnov> спасибо, помогло
<lo-ru-tg> <m​ikhailnov> sal/cppunittester/cppunittester.cxx:259: undefined reference to `CppUnit::PlugInParameters::PlugInParameters(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)'
<lo-ru-tg> <m​ikhailnov> очень интересно, как так может быть, даже при CPPUNIT_LIBS="-lcppunit"
<lo-ru-tg> <m​ikhailnov> для добавления -lc++ пришлось писать скрипт обертку, котоырй в аргументы clang++ добавляет флаги в самый конец, все остальное не работает.
<lo-ru-tg> <m​ikhailnov> может такое быть, что для clang нужен другой порядок аргументов, чем для gcc?
<lo-ru-tg> <m​ikhailnov> Сейчас вот такая команда получается:
<lo-ru-tg> <m​ikhailnov> S=/builddir/build/BUILD/libreoffice-6.3.5 && I=$S/instdir && W=$S/workdir && clang++ -pthread -Wl,-z,origin '-Wl,-rpath,$ORIGIN/../Library' -Wl,-rpath-link,$I/program -Wl,-z,defs -fstack-protector-strong -Wl,-rpath-link,/lib:/usr/lib -Wl,-z,combreloc -Wl,--hash-style=gnu -Wl,-Bsymbolic-functions -L$W/LinkTarget/StaticLibrary -L$I/sdk/lib -L$I/program -L$I/program -L$W/Link
<lo-ru-tg> <m​ikhailnov> -bash-4.4# ls sal/cppunittester
<lo-ru-tg> <m​ikhailnov> Target/Library -Wl,--as-needed -Wl,--no-undefined -Wl,-z,now -Wl,-z,relro -Wl,-O1 -Wl,--build-id -Wl,--enable-new-dtags -Wl,--hash-style=gnu -L/usr/lib64 $W/CxxObject/sal/cppunittester/cppunittester.o -Wl,--start-group -lcppunit -Wl,--end-group -Wl,--no-as-needed -luno_sal -o $W/LinkTarget/Executable/cppunittester
<lo-ru-tg> <m​ikhailnov> [EDIT] может такое быть, что для clang нужен другой порядок аргументов, чем для gcc?
<lo-ru-tg> <m​ikhailnov> Сейчас вот такая команда получается:
<lo-ru-tg> <m​ikhailnov> Target/Library -Wl,--as-needed -Wl,--no-undefined -Wl,-z,now -Wl,-z,relro -Wl,-O1 -Wl,--build-id -Wl,--enable-new-dtags -Wl,--hash-style=gnu -L/usr/lib64 $W/CxxObject/sal/cppunittester/cppunittester.o -Wl,--start-group -lcppunit -Wl,--end-group -Wl,--no-as-needed -luno_sal -o $W/LinkTarget/Executable/cppunittester
<lo-ru-tg> <m​ikhailnov> S=/builddir/build/BUILD/libreoffice-6.3.5 && I=$S/instdir && W=$S/workdir && clang++ -pthread -Wl,-z,origin '-Wl,-rpath,$ORIGIN/../Library' -Wl,-rpath-link,$I/program -Wl,-z,defs -fstack-protector-strong -Wl,-rpath-link,/lib:/usr/lib -Wl,-z,combreloc -Wl,--hash-style=gnu -Wl,-Bsymbolic-functions -L$W/LinkTarget/StaticLibrary -L$I/sdk/lib -L$I/program -L$I/program -L$W/Link
<lo-ru-tg> <m​ikhailnov> такое ощущение, что гцц съедает -lxx до -o output, a clang нет
<lo-ru-tg> <K​ompilainenn> Тебе в дев рассылку такие вопросы задавать надо
<lo-ru-tg> <K​ompilainenn> Или дев чат в ирц
<lo-ru-tg> <m​ikhailnov> да на вики либрф написано, что с libc++ либо не собирается, либо падает при запуске, никто его так не собирает, похоже
<lo-ru-tg> <m​ikhailnov> в ppa для убунт нет сборок lo >= 6.3 для ubuntu 16.04, т.к. нужен gcc >= 7
<lo-ru-tg> <m​ikhailnov> а я пытаюсь собрать на системе с gcc 5
<lo-ru-tg> <m​ikhailnov> где C++17 есть только в clang и его libc++
<lo-ru-tg> <K​ompilainenn> Для Эльбруса что ли?
<lo-ru-tg> <m​ikhailnov> нет, для Росы
JohnDoe_71Rus has quit [Quit: KVIrc 5.0.0 Aria http://www.kvirc.net/]
<lo-ru-tg> <m​ikhailnov> В общем дохлый номер, ABI libstdc++ и libc++ конфликтуют