Apache OpenOffice (AOO) Bugzilla – Issue 128148
build of trunk fails, because of icu
Last modified: 2019-10-03 07:57:25 UTC
I'm trying to build trunk on linux, using the configure options as included further in the post (development snapshot options, minus some things I don't need right now, plus options to minimize system dependencies). The build fails on icuversion.mk not being there (the relevant part of diagnostics included). The file in question resides in 'icu' subdir, but I don't see how to put it to use. Doing 'build --all:icu' does nothing. The source for icu4c actually exists in external_sources. Looks like dependencies generation is broken by such a combination of configuration options. What do I do? I don't want to install all the stuff which is required by build with complete set of 'category-b' enabled. *********************************** ./configure \ --with-build-version="$(date +"%Y-%m-%d %H:%M") - `uname -sm`" \ --enable-verbose \ --enable-crashdump=yes \ --enable-opengl \ --enable-dbus \ --with-package-format="installed" \ --with-dmake-url=https://sourceforge.net/projects/oooextras.mirror/files/dmake-4.12.tar.bz2 \ --with-epm-url=https://sourceforge.net/projects/oooextras.mirror/files/epm-3.7.tar.gz \ --without-junit \ --without-stlport \ --with-system-stdlibs \ \ --disable-gstreamer \ --disable-wiki-publisher \ --disable-bundled-dictionaries \ --disable-category-b \ --disable-pam \ \ --with-jdk-home=/usr/lib64/java \ \ --with-system-libs=no \ --enable-hyphen \ --enable-hunspell \ --enable-graphite \ \ --with-system-lucene=no \ --with-system-hsqldb=no \ --with-system-beanshell=no \ --with-system-saxon=no \ --with-system-redland=no \ --with-system-mythes=no \ *********************************** ============= Building module i18npool ============= Entering /d/home/ty/c/+ooo/AOO45X/main/i18npool/prj cd .. && make -r -j1 && make -r deliverlog make: Circular /d/home/ty/c/+ooo/AOO45X/main/solver/450/unxlngx6.pro/workdir/ExternalHeaders/Library/libi18npaper.so <- /d/home/ty/c/+ooo/AOO45X/main/solver/450/unxlngx6.pro/workdir/Headers/Library/libi18nisolang1gcc3.so dependency dropped. make: Circular /d/home/ty/c/+ooo/AOO45X/main/solver/450/unxlngx6.pro/workdir/ExternalHeaders/Library/i18npool.uno.so <- /d/home/ty/c/+ooo/AOO45X/main/solver/450/unxlngx6.pro/workdir/Headers/Library/libi18nisolang1gcc3.so dependency dropped. make: Circular /d/home/ty/c/+ooo/AOO45X/main/solver/450/unxlngx6.pro/workdir/Package/i18npool_inc <- /d/home/ty/c/+ooo/AOO45X/main/solver/450/unxlngx6.pro/workdir/ExternalHeaders/Library/i18nsearch.uno.so dependency dropped. /d/home/ty/c/+ooo/AOO45X/main/solenv/gbuild/Package.mk:28: *** gb_Deliver_deliver: file does not exist in solver, and cannot be delivered: /d/home/ty/c/+ooo/AOO45X/main/solver/450/unxlngx6.pro/inc/icuversion.mk. Stop. dmake: Error code 2, while making 'all' 1 module(s): i18npool need(s) to be rebuilt
Which build command do you use? (make or build) Why without-stlport Then you have with-system-libs=no and With-system-stdlibs This seems strange. Did the option work before?
I was able to build trunk about 2-3 months ago, only I didn't save the configuration. The '--without-stlport' and '--with-system-stdlibs' come from the development snapshot build options, as published on wiki: https://cwiki.apache.org/confluence/display/OOOUSERS/Development+Snapshot+Builds#DevelopmentSnapshotBuilds-buildflags I use those together '--with-system-libs=no' because my guess is those refer to the different sets of libraries. ********************************** BTW, I was able to 'activate' the 'icu' module by poking things and it happens I needed to add '--with-system-icu=no' to my configuration. However, build still fails in 'i18npool' when using things from 'icu' module, only now it is because of namespaces mismatch: ........... lots of those (note the icu_64:: prefix) .............. /usr/bin/ld: /d/home/ty/c/+ooo/AOO45X/main/i18npool/source/search/textsearch.cxx:831: undefined reference to `icu_64::UnicodeString::~UnicodeString()' .................................. collect2: error: ld returned 1 exit status make: *** [/d/home/ty/c/+ooo/AOO45X/main/solenv/gbuild/LinkTarget.mk:330: /d/home/ty/c/+ooo/AOO45X/main/solver/450/unxlngx6.pro/workdir/LinkTarget/Library/i18nsearch.uno.so] Error 1 and libicuuc.so in main/solver/450/unxlngx6.pro/lib' contains: 000000000006fe9c T icu_4_0::UnicodeString::~UnicodeString() 000000000006fe7a T icu_4_0::UnicodeString::~UnicodeString() 000000000006fe7a T icu_4_0::UnicodeString::~UnicodeString()
Possibly a regression from: https://svn.apache.org/repos/asf/openoffice/trunk@1852965
Indeed it was a regression from commit 1852965. Fixed by commit 1862776, where I made it not include the icuversion.mk file if it wasn't delivered (which will be the case when using system ICU).
@Damjan: The best way to ask for granting this as a release blocker is to set the respective flag. I've set this for you. ;-)
I assume the original issue's fixed now? Thank you very much! Now, do I open a separate ticket on ICU namespaces mismatch issue, as in the 2nd part of #2? Also, the use of several libraries is not configured properly when '--without-system-libs' is specified together with '--disable-category-b' and then some of the category-b modules are enabled separately (as seen in the #1). A separate issue for this as well?
I think you should.
Merged to AOO42X with r1862920