Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 402655 - app-office/calligra-2.3.87 fails to build with -calligra_features_words
Summary: app-office/calligra-2.3.87 fails to build with -calligra_features_words
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Andreas K. Hüttel
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-02-08 10:01 UTC by Rafal Rzepecki
Modified: 2012-02-24 22:22 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Rafal Rzepecki 2012-02-08 10:01:20 UTC
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
Comment 1 Ian Delaney (RETIRED) gentoo-dev 2012-02-10 10:41:10 UTC
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
Comment 2 Ian Delaney (RETIRED) gentoo-dev 2012-02-10 13:53:01 UTC
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.
Comment 3 Andreas K. Hüttel archtester gentoo-dev 2012-02-24 21:54:02 UTC
Fixed, thanks.