linked by target "spectrum2_manager" in directory /var/tmp/portage/net-im/spectrum2-2.0.9/work/spectrum2-2.0.9/spectrum_manager/src -- Configuring incomplete, errors occurred! See also "/var/tmp/portage/net-im/spectrum2-2.0.9/work/spectrum2-2.0.9_build/CMakeFiles/CMakeOutput.log". * ERROR: net-im/spectrum2-2.0.9::gentoo failed (configure phase): * cmake failed ------------------------------------------------------------------- This is an unstable amd64 chroot image at a tinderbox (==build bot) name: 17.0-no-multilib-hardened_20181118-113156 ------------------------------------------------------------------- gcc-config -l: [1] x86_64-pc-linux-gnu-7.3.1 [2] x86_64-pc-linux-gnu-8.2.0 * Available Python interpreters, in order of preference: [1] python3.6 [2] python2.7 (fallback) [3] pypy3 (fallback) [4] pypy (fallback) Available Ruby profiles: [1] ruby23 (with Rubygems) [2] ruby24 (with Rubygems) [3] ruby25 (with Rubygems) * Available Rust versions: [1] rust-1.30.1 * emerge -qpvO net-im/spectrum2 [ebuild N ] net-im/spectrum2-2.0.9 USE="sqlite -debug -doc -frotz -irc -mysql -postgres -purple -sms -test -twitter -whatsapp -xmpp" PYTHON_TARGETS="python2_7"
Created attachment 556096 [details] emerge-info.txt
Created attachment 556098 [details] CMakeOutput.log
Created attachment 556100 [details] emerge-history.txt
Created attachment 556102 [details] environment
Created attachment 556104 [details] etc.portage.tbz2
Created attachment 556106 [details] logs.tbz2
Created attachment 556108 [details] net-im:spectrum2-2.0.9:20181124-060919.log
Created attachment 556110 [details] temp.tbz2
Looking into the CMakeFile, I see the problem. Currently, net-im/swift and also dev-libs/libev are always needed, otherwise, if tails (net-im/swift) or only warns (dev-libs/libev) about incompletness. Submited PR.
Thanks for tinderboxing, Toralf! Thanks for PR, Conrad! While this fix (proposed in PR) is immediate and practical, I am not sure it's optimal. I tend to think it's upstream bug. If swift(en) is to be always a dependency, then `xmpp` USE flag is pointless. So I'd rather wait a bit and figure out the details to get it right. I have asked upstream devs, in which way we got it wrong, at xmpp:spectrum@conference.spectrum.im , waiting for answers. > hi, is swiften required even if spectrum2 is being built with XMPP support disabled? > i.e., to resolve a Gentoo bug https://bugs.gentoo.org/671798 , should we require swiften unconditionally, or is upstream build system require fixing (= this is an upstream bug)?
So there's some missing conditional operators in the build system scripts. Removing all the references to SWIFTEN_INCLUDE_DIR and SWIFTEN_LIBRARY makes "configure" stage pass, but compile phase fails with stuff like [ 4%] Building CXX object plugin/cpp/CMakeFiles/transport-plugin.dir/__/__/libtransport/Config.cpp.o cd /var/tmp/portage/net-im/spectrum2-2.0.9/work/spectrum2-2.0.9_build/plugin/cpp && /usr/bin/x86_64-pc-linux-gnu-g++ -DBOOST_FILESYSTEM_VERSION=3 -DIRC_SHARED -DPURPLE_RUNTIME=0 -DSPECTRUM_VERSION=\"2.0.9\" -DSUPPORT_LEGACY_CAPS -DWITH_LIBEVENT -DWITH_LOG4CXX -DWITH_PQXX -DWITH_PROTOBUF -DWITH_SQLITE -Dtransport_plugin_EXPORTS -I/usr/include/jsoncpp -I/usr/include/libpurple -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/qt5/Communi/IrcCore -I/usr/include/qt5/Communi/IrcUtil -I/usr/include/qt5/Communi/IrcModel -I/var/tmp/portage/net-im/spectrum2-2.0.9/work/spectrum2-2.0.9/include -DNDEBUG -Os -pipe -fPIC -fPIC -o CMakeFiles/transport-plugin.dir/__/__/libtransport/Config.cpp.o -c /var/tmp/portage/net-im/spectrum2-2.0.9/work/spectrum2-2.0.9/libtransport/Config.cpp In file included from /var/tmp/portage/net-im/spectrum2-2.0.9/work/spectrum2-2.0.9/include/transport/Config.h:29:0, from /var/tmp/portage/net-im/spectrum2-2.0.9/work/spectrum2-2.0.9/libtransport/Config.cpp:21: /var/tmp/portage/net-im/spectrum2-2.0.9/work/spectrum2-2.0.9/include/Swiften/SwiftenCompat.h:21:10: fatal error: Swiften/Version.h: No such file or directory #include <Swiften/Version.h> ^~~~~~~~~~~~~~~~~~~ compilation terminated. make[2]: *** [plugin/cpp/CMakeFiles/transport-plugin.dir/build.make:135: plugin/cpp/CMakeFiles/transport-plugin.dir/__/__/libtransport/Config.cpp.o] Error 1 Removing that include gets you [ 4%] Building CXX object plugin/cpp/CMakeFiles/transport-plugin.dir/__/__/include/transport/protocol.pb.cc.o cd /var/tmp/portage/net-im/spectrum2-2.0.9/work/spectrum2-2.0.9_build/plugin/cpp && /usr/bin/x86_64-pc-linux-gnu-g++ -DBOOST_FILESYSTEM_VERSION=3 -DIRC_SHARED -DPURPLE_RUNTIME=0 -DSPECTRUM_VERSION=\"2.0.9\" -DSUPPORT_LEGACY_CAPS -DWITH_LIBEVENT -DWITH_LOG4CXX -DWITH_PQXX -DWITH_PROTOBUF -DWITH_SQLITE -Dtransport_plugin_EXPORTS -I/usr/include/jsoncpp -I/usr/include/libpurple -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/qt5/Communi/IrcCore -I/usr/include/qt5/Communi/IrcUtil -I/usr/include/qt5/Communi/IrcModel -I/var/tmp/portage/net-im/spectrum2-2.0.9/work/spectrum2-2.0.9/include -DNDEBUG -Os -pipe -fPIC -fPIC -o CMakeFiles/transport-plugin.dir/__/__/include/transport/protocol.pb.cc.o -c /var/tmp/portage/net-im/spectrum2-2.0.9/work/spectrum2-2.0.9/include/transport/protocol.pb.cc In file included from /var/tmp/portage/net-im/spectrum2-2.0.9/work/spectrum2-2.0.9/libtransport/Util.cpp:21:0: /var/tmp/portage/net-im/spectrum2-2.0.9/work/spectrum2-2.0.9/include/transport/Util.h:27:10: fatal error: Swiften/StringCodecs/Base64.h: No such file or directory #include "Swiften/StringCodecs/Base64.h" ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ compilation terminated. make[2]: *** [plugin/cpp/CMakeFiles/transport-plugin.dir/build.make:159: plugin/cpp/CMakeFiles/transport-plugin.dir/__/__/libtransport/Util.cpp.o] Error 1 Looks like swiften is used in the core, libtransport.
@ConiKost i am thinking about pushing your fix and also dropping `xmpp` USE flag, with a reasoning which I think is quite conventional: no extra deps, no extra build time, the fewer USE flags, the less is mental load on user. Please review https://github.com/andrey-utkin/gentoo/commit/2786c94cd6f410f438eb93632b381773241769ae @ConiKost what do you think?
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f78b3b7f82c4de98c22ca940891804f4784f5cd4 commit f78b3b7f82c4de98c22ca940891804f4784f5cd4 Author: Conrad Kostecki <conrad@kostecki.com> AuthorDate: 2018-11-24 10:46:29 +0000 Commit: Andrey Utkin <andrey_utkin@gentoo.org> CommitDate: 2018-11-25 02:58:27 +0000 net-im/spectrum2: fix build depenencies The current build of net-im/spectrum2 needs always net-im/swift and dev-libs/ev to be installed, otherwise it fails. Closes: https://bugs.gentoo.org/671798 Package-Manager: Portage-2.3.51, Repoman-2.3.12 Signed-off-by: Conrad Kostecki <conrad@kostecki.com> Signed-off-by: Andrey Utkin <andrey_utkin@gentoo.org> net-im/spectrum2/spectrum2-2.0.9.ebuild | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)