Created attachment 472402 [details] build.log I get this error with GCC 7.1 and LTO * Checking for at least 512 MiB RAM ... [ ok ] * Checking for at least 6 GiB disk space at "/var/tmp/notmpfs/portage/app-office/libreoffice-5.3.3.2/temp" ... [ ok ] >>> Unpacking source... >>> Unpacking libreoffice-branding-gentoo-0.8.tar.xz to /var/tmp/notmpfs/portage/app-office/libreoffice-5.3.3.2/work >>> Unpacking libreoffice-5.3.3.2.tar.xz to /var/tmp/notmpfs/portage/app-office/libreoffice-5.3.3.2/work >>> Unpacking libreoffice-help-5.3.3.2.tar.xz to /var/tmp/notmpfs/portage/app-office/libreoffice-5.3.3.2/work >>> Source unpacked in /var/tmp/notmpfs/portage/app-office/libreoffice-5.3.3.2/work >>> Preparing source in /var/tmp/notmpfs/portage/app-office/libreoffice-5.3.3.2/work/libreoffice-5.3.3.2 ... * Applying libreoffice-5.3-system-pyuno.patch ... [ ok ] * Applying libreoffice-5.2.5.1-glibc-2.24.patch ... [ ok ] * Running eautoreconf in '/var/tmp/notmpfs/portage/app-office/libreoffice-5.3.3.2/work/libreoffice-5.3.3.2' ... * Running aclocal -I m4 ... [ ok ] * Running autoconf -I m4 --force ... [ ok ] * Running autoheader -I m4 ... [ !! ] * Running elibtoolize in: libreoffice-5.3.3.2/ '/var/tmp/notmpfs/portage/app-office/libreoffice-5.3.3.2/work/branding-intro.png' -> '/var/tmp/notmpfs/portage/app-office/libreoffice-5.3.3.2/work/libreoffice-5.3.3.2/icon-themes/galaxy/brand/intro.png' >>> Source prepared. >>> Configuring source in /var/tmp/notmpfs/portage/app-office/libreoffice-5.3.3.2/work/libreoffice-5.3.3.2 ... * econf: updating libreoffice-5.3.3.2/config.sub with /usr/share/gnuconfig/config.sub * econf: updating libreoffice-5.3.3.2/config.guess with /usr/share/gnuconfig/config.guess ./configure --prefix=/usr --build=x86_64-pc-linux-gnu --host=x86_64-pc-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib --disable-dependency-tracking --docdir=/usr/share/doc/libreoffice-5.3.3.2 --htmldir=/usr/share/doc/libreoffice-5.3.3.2/html --libdir=/usr/lib64 --docdir=/usr/share/doc/libreoffice-5.3.3.2/ --with-system-dicts --with-system-headers --with-system-jars --with-system-libs --enable-cairo-canvas --enable-graphite --enable-largefile --enable-mergelibs --enable-neon --enable-python=system --enable-randr --enable-release-build --disable-breakpad --disable-ccache --disable-dependency-tracking --disable-epm --disable-fetch-external --disable-firebird-sdbc --disable-gstreamer-0-10 --disable-online-update --disable-report-builder --with-alloc=system --with-build-version=Gentoo official package --enable-extension-integration --with-external-dict-dir=/usr/share/myspell --with-external-hyph-dir=/usr/share/myspell --with-external-thes-dir=/usr/share/myspell --with-external-tar=/var/tmp/notmpfs/portage/app-office/libreoffice-5.3.3.2/distdir --with-lang= --with-parallelism=3 --with-system-ucpp --with-vendor=Gentoo Foundation --with-x --without-fonts --without-myspell-dicts --without-help --with-helppack-integration --without-system-sane --disable-sdremote-bluetooth --disable-coinmp --disable-collada --enable-cups --disable-debug --enable-dbus --disable-evolution2 --disable-gltf --disable-gio --disable-dconf --disable-gstreamer-1-0 --disable-gtk --enable-gtk3 --disable-kde4 --disable-ext-mariadb-connector --disable-odk --enable-pdfimport --disable-postgresql-sdbc --disable-systray --disable-telepathy --disable-vlc --without-system-coinmp --without-system-opencollada --without-system-libgltf --with-gdrive-client-id=329227923882.apps.googleusercontent.com --with-gdrive-client-secret=vgKG0NNv7GoDpbtoFNLxCUXu --with-java --without-system-mysql-cppconn --without-doxygen --without-junit --without-system-hsqldb --with-ant-home=/usr/share/ant --with-jdk-home=/opt/oracle-jdk-bin-1.8.0.131 --with-jvm-path=/usr/lib/ --enable-ext-nlpsolver --disable-scripting-beanshell --disable-scripting-javascript --disable-ext-wiki-publisher configure: loading site script /usr/share/config.site ******************************************************************** * * Running LibreOffice build configuration. * ******************************************************************** checking build system type... x86_64-pc-linux-gnu checking host system type... x86_64-pc-linux-gnu checking for product name... LibreOffice checking for package version... 5.3.3.2 checking for product version... 5.3 checking for grep that handles long lines and -e... /bin/grep checking for egrep... /bin/grep -E checking for grep... (cached) /bin/grep checking for GNU Make... /usr/bin/make checking for sed... /bin/sed checking whether to use link-time optimization... no checking for x86_64-pc-linux-gnu-gcc... x86_64-pc-linux-gnu-gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether x86_64-pc-linux-gnu-gcc accepts -g... yes checking for x86_64-pc-linux-gnu-gcc option to accept ISO C89... none needed checking for library containing dlsym... -ldl checking whether build target is Release Build... yes checking whether to sign windows build... no checking for gawk... gawk checking for gawk... /usr/bin/gawk checking for bash... /bin/sh checking for GNU or BSD tar... bsdtar checking for tar's option to strip components... --strip-components checking how to build and package galleries... internal src images for desktop checking gcc home... /usr checking for x86_64-pc-linux-gnu-gcc... /usr/bin/x86_64-pc-linux-gnu-gcc checking whether to build with Java support... yes checking whether to treat the installation as read-only... no checking for -Bsymbolic-functions linker support ... found checking for -isystem ... yes checking whether the compiler is actually Clang... no checking whether x86_64-pc-linux-gnu-gcc supports -ggdb2... yes checking whether x86_64-pc-linux-gnu-gcc supports -finline-limit=0... yes checking whether x86_64-pc-linux-gnu-gcc supports -fno-inline... yes checking the GCC version... gcc 7.1.0 checking whether to build with additional debug utilities... no checking whether to do a debug build... no checking whether to generate debug information... no checking for explicit AFLAGS... no checking for explicit CFLAGS... -march=native -mfpmath=sse -flto=3 -flto-report -fuse-linker-plugin -pipe -O2 -msse2 -fvisibility=hidden checking for explicit CXXFLAGS... -march=native -mfpmath=sse -flto=3 -flto-report -fuse-linker-plugin -pipe -O2 -msse2 -fvisibility=hidden checking for explicit OBJCFLAGS... no checking for explicit OBJCXXFLAGS... no checking for explicit LDFLAGS... -Wl,--as-needed -Wl,-O1 -Wl,--sort-common -Wl,-z,combreloc -Wl,--trace -Wl,-z,relro -Wl,-z,now -Wl,--stats -flto=3 -flto-report -fuse-linker-plugin checking which package format to use... none checking how to run the C preprocessor... x86_64-pc-linux-gnu-gcc -E checking for ANSI C header files... yes checking for sys/types.h... yes checking for sys/stat.h... yes checking for stdlib.h... yes checking for string.h... yes checking for memory.h... yes checking for strings.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for unistd.h... yes checking syslog.h usability... yes checking syslog.h presence... yes checking for syslog.h... yes checking whether to turn warnings to errors... no checking whether to have assert to abort in release code... no checking whether to use ooenv for the instdir installation... yes checking whether to enable CUPS support... yes checking whether cups support is present... checking for cupsPrintFiles in -lcups... yes checking cups/cups.h usability... yes checking cups/cups.h presence... yes checking for cups/cups.h... yes checking for x86_64-pc-linux-gnu-pkg-config... /usr/bin/x86_64-pc-linux-gnu-pkg-config checking pkg-config is at least version 0.9.0... yes checking for fontconfig >= 2.4.1... yes checking whether we want to fetch tarballs... no checking whether to build help... no checking whether to include MySpell dictionaries... no checking whether to use dicts from external paths... yes checking for spelling dictionary directory... file:///usr/share/myspell checking for hyphenation patterns directory... file:///usr/share/myspell checking for thesaurus directory... file:///usr/share/myspell checking whether to enable pch feature... no checking the GNU Make version... /usr/bin/make 4.2.1 checking whether GNU Make supports the 'file' function... yes checking for --hash-style gcc linker support ... gnu checking for perl... /usr/bin/perl checking the Perl version... checked (perl 5) checking for required Perl modules... all modules found checking for x86_64-pc-linux-gnu-pkg-config... (cached) /usr/bin/x86_64-pc-linux-gnu-pkg-config checking pkg-config is at least version 0.9.0... yes checking for x86_64-pc-linux-gnu-ar... /usr/local/bin/gcc-ar checking for x86_64-pc-linux-gnu-nm... /usr/local/bin/gcc-nm checking for x86_64-pc-linux-gnu-ranlib... /usr/local/bin/gcc-ranlib checking for x86_64-pc-linux-gnu-objdump... x86_64-pc-linux-gnu-objdump checking for x86_64-pc-linux-gnu-readelf... x86_64-pc-linux-gnu-readelf checking for x86_64-pc-linux-gnu-strip... x86_64-pc-linux-gnu-strip checking for ANSI C header files... (cached) yes checking for x86_64-pc-linux-gnu-g++... x86_64-pc-linux-gnu-g++ checking whether we are using the GNU C++ compiler... yes checking whether x86_64-pc-linux-gnu-g++ accepts -g... yes checking the GNU C++ compiler version... checked (g++ 7.1.0) checking how to run the C++ preprocessor... x86_64-pc-linux-gnu-g++ -E checking whether x86_64-pc-linux-gnu-g++ is broken with boost.thread... yes checking how to run the C++ preprocessor... x86_64-pc-linux-gnu-g++ -E checking how to run the C preprocessor... x86_64-pc-linux-gnu-gcc -E checking size of long... 8 checking size of short... 2 checking size of int... 4 checking size of long long... 8 checking size of double... 8 checking size of void*... 8 checking alignment of short... 2 checking alignment of int... 4 checking alignment of long... 8 checking alignment of double... 8 checking for special C compiler options needed for large files... no checking for _FILE_OFFSET_BITS value needed for large files... no checking whether to enable runtime optimizations... yes checking valgrind/valgrind.h usability... yes checking valgrind/valgrind.h presence... yes checking for valgrind/valgrind.h... yes checking sys/sdt.h usability... no checking sys/sdt.h presence... no checking for sys/sdt.h... no checking whether x86_64-pc-linux-gnu-g++ supports thread safe statics... yes checking whether x86_64-pc-linux-gnu-gcc supports -fvisibility=hidden... yes checking whether x86_64-pc-linux-gnu-gcc supports -mno-avx... yes checking whether x86_64-pc-linux-gnu-gcc supports -fstack-protector-strong... yes checking whether x86_64-pc-linux-gnu-gcc supports atomic functions... yes checking whether x86_64-pc-linux-gnu-gcc supports __attribute__((deprecated(message)))... yes checking whether x86_64-pc-linux-gnu-g++ defines __base_class_type_info in cxxabi.h... yes checking whether x86_64-pc-linux-gnu-g++ defines __class_type_info in cxxabi.h... yes checking whether x86_64-pc-linux-gnu-g++ declares __cxa_allocate_exception in cxxabi.h... yes checking whether x86_64-pc-linux-gnu-g++ defines __cxa_eh_globals in cxxabi.h... no checking whether x86_64-pc-linux-gnu-g++ defines __cxa_exceptions in cxxabi.h... no checking whether x86_64-pc-linux-gnu-g++ declares __cxa_get_globals in cxxabi.h... yes checking whether x86_64-pc-linux-gnu-g++ declares __cxa_throw in cxxabi.h... yes checking whether x86_64-pc-linux-gnu-g++ defines __si_class_type_info in cxxabi.h... yes checking whether x86_64-pc-linux-gnu-g++ defines __vmi_class_type_info in cxxabi.h... yes checking whether STL uses __attribute__((warn_unused))... no checking whether x86_64-pc-linux-gnu-g++ supports __attribute__((warn_unused))... yes checking What the C++ library is... GNU libstdc++ checking whether x86_64-pc-linux-gnu-g++ supports C++14 or C++11... yes (-std=gnu++14) checking whether using C++11 causes libstdc++ 4.7.0/4.7.1 ABI breakage... no checking whether x86_64-pc-linux-gnu-g++ supports C++11 without Language Defect 757... yes checking whether x86_64-pc-linux-gnu-g++ supports C++11 without __float128 compile error... yes checking whether x86_64-pc-linux-gnu-g++ supports C++11 constexpr... yes checking whether x86_64-pc-linux-gnu-g++ supports C++14 constexpr... yes checking whether x86_64-pc-linux-gnu-g++ supports C++11 ref-qualifier... yes checking whether x86_64-pc-linux-gnu-g++ supports C++11 char16_t string literals... yes checking whether x86_64-pc-linux-gnu-g++ supports C++14 sized deallocation... yes checking whether x86_64-pc-linux-gnu-g++ supports _Pragma operator... yes checking whether x86_64-pc-linux-gnu-g++ supports -fno-sized-deallocation... yes checking if STL headers are visibility safe (GCC bug 22482)... yes checking if gcc is -fvisibility-inlines-hidden safe with STL headers... yes checking if gcc is -fvisibility-inlines-hidden safe (Clang bug 11250)... yes checking if gcc has a visibility bug with class-level attributes (GCC bug 26905)... yes configure: error: Your gcc is not -fvisibility=hidden safe. This is no longer supported.
Created attachment 472404 [details] emerge --info
I can succesfully compile LO (currently 5.2.6.2, older versions also worked) with GCC LTO by using: cat /etc/portage/env/lo-lto.conf: EXTRA_ECONF="--enable-lto" and grep libre /etc/portage/package.env: app-office/libreoffice lo-lto.conf
(In reply to Steffen Hau from comment #2) > I can succesfully compile LO (currently 5.2.6.2, older versions also worked) > with GCC LTO by using: > > cat /etc/portage/env/lo-lto.conf: > EXTRA_ECONF="--enable-lto" EXTRA_ECONF did the trick; at least for the configure phase. That's weird. I was expecting the ebuild to automatically append this if needed, based on the user's C(XX)FLAGS. Should we close the bug?
EXTRA_ECONF appends to the the configure call. As there is nothing similar in the ebuild, I did it that way (I read that in a LTO thread in the Gentoo forums). Perhaps a check if -flto is used or a use flag could simplify the things.
FYI: https://forums.gentoo.org/viewtopic-t-1052716-start-75.html#8011822
Use solution given in comment #2 if you must.
Just hit this issue, appropriate solution would be to add USE lto flag. Anyway, latest libreoffice with GCC 7.2.0 + -flto gets compiled just fine. Performance and reliability seems to be finest. Thank you for reopening :) if is Pull request needed, ping me.