标签归档:分布式编译

icecream – configure: error: Could not figure out what C++ library this is

今日在尝试编译libreoffice时,据说启用icecream能够加速编译,于是就在将一台Fedora 26主机设置为scheduler,这台Fedora主机和另一台Ubuntu主机上启用iceccd守护进程。通过icecc-monitor能够看到两台机器上的icecream均正常。但是当在libreoffice源代码下的 autogen.input 中加入 –enable-icecream 选项后,运行autogen.sh出现以下错误:
...
checking whether gcc supports -mno-avx... yes
checking whether gcc supports -fstack-protector-strong... yes
checking whether gcc supports atomic functions... yes
checking whether gcc supports __builtin_ffs... yes
checking whether gcc supports __attribute__((deprecated(message)))... yes
checking whether /usr/sbin/bin/g++ defines __base_class_type_info in cxxabi.h... no
checking whether /usr/sbin/bin/g++ defines __class_type_info in cxxabi.h... no
checking whether /usr/sbin/bin/g++ declares __cxa_allocate_exception in cxxabi.h... no
checking whether /usr/sbin/bin/g++ defines __cxa_eh_globals in cxxabi.h... no
checking whether /usr/sbin/bin/g++ defines __cxa_exceptions in cxxabi.h... no
checking whether /usr/sbin/bin/g++ declares __cxa_get_globals in cxxabi.h... no
checking whether /usr/sbin/bin/g++ declares __cxa_throw in cxxabi.h... no
checking whether /usr/sbin/bin/g++ defines __si_class_type_info in cxxabi.h... no
checking whether /usr/sbin/bin/g++ defines __vmi_class_type_info in cxxabi.h... no
checking whether /usr/sbin/bin/g++ supports __attribute__((warn_unused))... no
checking What the C++ library is... configure: error: Could not figure out what C++ library this is
Error running configure at ./autogen.sh line 293.

经过在irc频道询问,最终找到了如下解决办法:原来,Fedora默认将icecream的c++ wrapper安装到了 /usr/libexec/icecc,在 autogen.input 中加入 –with-gcc-home=/usr/libexec/icecc 重新运行autogen.sh即可解决。

When compile libreoffice in Fedora with icecream, you may encounter the above error message. To fix the above error, add the option “–with-gcc-home=/usr/libexec/icecc” in your autogen.input file.