I've tried to build calligra-2.3.87 with CALLIGRA_FEATURES: -* tables only to have it fail when linking libkoabstraction with: /usr/lib/gcc/i686-pc-linux-gnu/4.4.5/../../../../i686-pc-linux-gnu/bin/ld: cannot find -lwordsprivate collect2: ld returned 1 exit status make[2]: *** [lib/libkoabstraction.so.9.0.0] Error 1 make[1]: *** [tools/koabstraction/CMakeFiles/koabstraction.dir/all] Error 2 libwordsprivate is a private library of words. Making koabstraction compilation dependent on words, by adding the following line near the end of the ebuild: mycmakeargs+=( $(cmake-utils_use_build calligra_features_words koabstraction) ) # koabstraction needs libwordsprivate fixed the problem. Reproducible: Always Building koabstraction should probably be prevented by the buildsystem if its dependencies are not built as well. I've reported this upstream at https://bugs.kde.org/show_bug.cgi?id=293612
archtester / # USE=kdepim emerge =app-office/calligra-2.3.86 [ 0%] Built target okularGenerator_odp_automoc Scanning dependencies of target koabstraction_automoc Generating moc_ChartTableModel.cpp [ 0%] Built target koabstraction_automoc couldn't replicate in 2.3.86 Try 2.3.87 upon acquiring it
calligra-2.3.87 with CALLIGRA_FEATURES: -* tables only So this now tells us CALLIGRA_FEATURES = unset all, and tables only, and includes words. A case of not making your fundamental statement clear. So, pushing on. archtester calligra # USE=kdepim ebuild calligra-2.3.86.ebuild clean install with CALLIGRA_FEATURES="tables words" in /etc/make.conf finally sees an effective build. However there was a second source of build failure that by rights warrants a new bug, but save making a new one can be incorporated here. in ebuilds of both 2.3.87 and 2.3.87, the libwf lib is nominated in the line; $(cmake-utils_use_build wmf libkowmf). Don't know where the ko comes from, and as importantly I don't know if anyone else has had build failures with "not finding -llibwmf." It's lllibwmf that is being sought, not llibkowmf. Subsequently, the entry in both ebuilds require changing to $(cmake-utils_use_build wmf libwmf) This yields an effective build for me, so warrants some testing and confirming. The inclusion of the line mycmakeargs+=( $(cmake-utils_use_build calligra_features_words koabstraction) ) with 'words' unset in CALLIGRA_FEATURES sees the build fail. The inclusion of the line with 'words' set in CALLIGRA_FEATURES sees it build archtester calligra # USE=kdepim ebuild calligra-2.3.87.ebuild clean install ecompressdir: bzip2 -9 /usr/share/doc * QA Notice: Package triggers severe warnings which indicate that it * may exhibit random runtime failures. * /mnt/gen2/tmpdir/portage/app-office/calligra-2.3.87/work/calligra-2.3.87/filters/words/msword-odf/wv2/src/ustring.cpp:58:70: warning: dereferencing type-punned pointer will break strict-aliasing rules * /mnt/gen2/tmpdir/portage/app-office/calligra-2.3.87/work/calligra-2.3.87/filters/words/msword-odf/wv2/src/ustring.cpp:59:70: warning: dereferencing type-punned pointer will break strict-aliasing rules ditto calligra-2.3.86.ebuild Now that it finally builds, there is yet another thing to address, the QA notice. -------------------------------------------------------- So; $(cmake-utils_use_build wmf libwmf) warrants testing, and line mycmakeargs+=( $(cmake-utils_use_build calligra_features_words koabstraction) ) can go after the current line starting with mycmakeargs+=, BUT it need be made conditional in CALLIGRA_FATURES including words. This I am not sure how to do, so I shall leave it thus. The feature can be set on the cmd line CALLIGRA_FATURES=".. " or it can be set in /etc/make.conf. Both need be captured. archtester calligra # USE=kdepim ebuild calligra-2.3.87.ebuild merge ----------------------------------------------------------------- * Updating desktop mime database ... * Updating shared mime info database ... >>> app-office/calligra-2.3.87 merged.
Fixed, thanks.