Hi Matthias

I see. The ubrk_openBinaryRules function was only added in ICU 59, it
definitely won't work on our ICU 4.2.1.

Only an earlier version of this branch, where I commented out the custom
rules for break iterators, would have worked on Windows.

The other errors seem to involve missing include files. I'll try to fix
them soon. But the only way we will get ICU fully working on Windows is if
we upgrade to a newer ICU.

Thank you for testing
Damjan

On Wed, May 7, 2025 at 4:28 PM Matthias Seidel <matthias.sei...@hamburg.de>
wrote:

> Hi Damjan,
>
> I tried to build on Windows with my usual configuration, but it breaks
> in i18pool:
>
> ---
>
> $  build --from i18npool
> build -- version: -
>
> WARNING(S):
> Some modules contain old output trees! Please check: i18npool
>
> ATTENTION: If you are performing an incompatible build, please break the
> build with Ctrl+C and prepare the workspace with "--prepare" switch!
>
>
> =============
> Building module i18npool
> =============
>
> Entering /cygdrive/c/Source/openoffice/main/i18npool/prj
>
> cd .. && make -s -r -j1   && make -s -r deliverlog
> make: Circular
> /cygdrive/c/Source/openoffice/main/solver/450/
> wntmsci12.pro/workdir/ExternalHeaders/Library/ii18npaper.lib
> <-
> /cygdrive/c/Source/openoffice/main/solver/450/
> wntmsci12.pro/workdir/Headers/Library/ii18nisolang.lib
> dependency dropped.
> make: Circular
> /cygdrive/c/Source/openoffice/main/solver/450/
> wntmsci12.pro/workdir/ExternalHeaders/Library/ii18npool.lib
> <-
> /cygdrive/c/Source/openoffice/main/solver/450/
> wntmsci12.pro/workdir/Headers/Library/ii18nisolang.lib
> dependency dropped.
> make: Circular
> /cygdrive/c/Source/openoffice/main/solver/450/
> wntmsci12.pro/workdir/ExternalHeaders/Library/ii18nsearch.lib
> <-
> /cygdrive/c/Source/openoffice/main/solver/450/
> wntmsci12.pro/workdir/Headers/Library/ii18nisolang.lib
> dependency dropped.
> [ build CXX ] i18npool/source/breakiterator/breakiterator_unicode
> breakiterator_unicode.cxx
> c:/Source/openoffice/main/i18npool/source/breakiterator/breakiterator_unicode.cxx(114)
>
> : error C3861: 'ubrk_openBinaryRules': identifier not found
> [ build CXX ] i18npool/source/search/textsearch
> textsearch.cxx
> c:/Source/openoffice/main/i18npool/source/search/textsearch.cxx(752) :
> error C2039: 'vector' : is not a member of 'std'
> c:/Source/openoffice/main/i18npool/source/search/textsearch.cxx(752) :
> error C2065: 'vector' : undeclared identifier
> c:/Source/openoffice/main/i18npool/source/search/textsearch.cxx(752) :
> error C2275: 'sal_uInt16' : illegal use of this type as an expression
> C:/Source/openoffice/main/solver/450/wntmsci12.pro/inc\sal/types.h(76)
> <http://wntmsci12.pro/inc%5Csal/types.h(76)> :
> see declaration of 'sal_uInt16'
> c:/Source/openoffice/main/i18npool/source/search/textsearch.cxx(752) :
> error C3861: 'replacedTextB': identifier not found
> c:/Source/openoffice/main/i18npool/source/search/textsearch.cxx(753) :
> error C2065: 'replacedTextB' : undeclared identifier
> c:/Source/openoffice/main/i18npool/source/search/textsearch.cxx(753) :
> error C2228: left of '.data' must have class/struct/union
>          type is ''unknown-type''
> c:/Source/openoffice/main/i18npool/source/search/textsearch.cxx(753) :
> error C2065: 'replacedTextB' : undeclared identifier
> c:/Source/openoffice/main/i18npool/source/search/textsearch.cxx(753) :
> error C2228: left of '.capacity' must have class/struct/union
>          type is ''unknown-type''
> c:/Source/openoffice/main/i18npool/source/search/textsearch.cxx(754) :
> error C2065: 'replacedTextB' : undeclared identifier
> c:/Source/openoffice/main/i18npool/source/search/textsearch.cxx(754) :
> error C2228: left of '.capacity' must have class/struct/union
>          type is ''unknown-type''
> c:/Source/openoffice/main/i18npool/source/search/textsearch.cxx(755) :
> error C2065: 'replacedTextB' : undeclared identifier
> c:/Source/openoffice/main/i18npool/source/search/textsearch.cxx(755) :
> error C2228: left of '.reserve' must have class/struct/union
>          type is ''unknown-type''
> c:/Source/openoffice/main/i18npool/source/search/textsearch.cxx(756) :
> error C2065: 'replacedTextB' : undeclared identifier
> c:/Source/openoffice/main/i18npool/source/search/textsearch.cxx(756) :
> error C2228: left of '.data' must have class/struct/union
>          type is ''unknown-type''
> c:/Source/openoffice/main/i18npool/source/search/textsearch.cxx(756) :
> error C2065: 'replacedTextB' : undeclared identifier
> c:/Source/openoffice/main/i18npool/source/search/textsearch.cxx(756) :
> error C2228: left of '.capacity' must have class/struct/union
>          type is ''unknown-type''
> c:/Source/openoffice/main/i18npool/source/search/textsearch.cxx(763) :
> error C2065: 'replacedTextB' : undeclared identifier
> c:/Source/openoffice/main/i18npool/source/search/textsearch.cxx(763) :
> error C2228: left of '.data' must have class/struct/union
>          type is ''unknown-type''
> c:/Source/openoffice/main/i18npool/source/search/textsearch.cxx(764) :
> error C2039: 'vector' : is not a member of 'std'
> c:/Source/openoffice/main/i18npool/source/search/textsearch.cxx(764) :
> error C2065: 'vector' : undeclared identifier
> c:/Source/openoffice/main/i18npool/source/search/textsearch.cxx(764) :
> error C2275: 'sal_uInt16' : illegal use of this type as an expression
> C:/Source/openoffice/main/solver/450/wntmsci12.pro/inc\sal/types.h(76)
> <http://wntmsci12.pro/inc%5Csal/types.h(76)> :
> see declaration of 'sal_uInt16'
> c:/Source/openoffice/main/i18npool/source/search/textsearch.cxx(764) :
> error C2065: 'replacedTextB' : undeclared identifier
> c:/Source/openoffice/main/i18npool/source/search/textsearch.cxx(764) :
> error C2228: left of '.capacity' must have class/struct/union
>          type is ''unknown-type''
> c:/Source/openoffice/main/i18npool/source/search/textsearch.cxx(764) :
> error C3861: 'replacedTextE': identifier not found
> c:/Source/openoffice/main/i18npool/source/search/textsearch.cxx(765) :
> error C2065: 'replacedTextE' : undeclared identifier
> c:/Source/openoffice/main/i18npool/source/search/textsearch.cxx(765) :
> error C2228: left of '.data' must have class/struct/union
>          type is ''unknown-type''
> c:/Source/openoffice/main/i18npool/source/search/textsearch.cxx(765) :
> error C2065: 'replacedTextE' : undeclared identifier
> c:/Source/openoffice/main/i18npool/source/search/textsearch.cxx(765) :
> error C2228: left of '.capacity' must have class/struct/union
>          type is ''unknown-type''
> c:/Source/openoffice/main/i18npool/source/search/textsearch.cxx(766) :
> error C2065: 'replacedTextE' : undeclared identifier
> c:/Source/openoffice/main/i18npool/source/search/textsearch.cxx(766) :
> error C2228: left of '.capacity' must have class/struct/union
>          type is ''unknown-type''
> c:/Source/openoffice/main/i18npool/source/search/textsearch.cxx(767) :
> error C2065: 'replacedTextE' : undeclared identifier
> c:/Source/openoffice/main/i18npool/source/search/textsearch.cxx(767) :
> error C2228: left of '.reserve' must have class/struct/union
>          type is ''unknown-type''
> c:/Source/openoffice/main/i18npool/source/search/textsearch.cxx(768) :
> error C2065: 'replacedTextE' : undeclared identifier
> c:/Source/openoffice/main/i18npool/source/search/textsearch.cxx(768) :
> error C2228: left of '.data' must have class/struct/union
>          type is ''unknown-type''
> c:/Source/openoffice/main/i18npool/source/search/textsearch.cxx(768) :
> error C2065: 'replacedTextE' : undeclared identifier
> c:/Source/openoffice/main/i18npool/source/search/textsearch.cxx(768) :
> error C2228: left of '.capacity' must have class/struct/union
>          type is ''unknown-type''
> c:/Source/openoffice/main/i18npool/source/search/textsearch.cxx(772) :
> error C2065: 'replacedTextE' : undeclared identifier
> c:/Source/openoffice/main/i18npool/source/search/textsearch.cxx(772) :
> error C2228: left of '.data' must have class/struct/union
>          type is ''unknown-type''
> [ build LNK ] Library/ii18npaper.lib
> Microsoft (R) Incremental Linker Version 9.00.30729.01
> Copyright (C) Microsoft Corporation.  All rights reserved.
>
> c:/Source/openoffice/main/solver/450/
> wntmsci12.pro/workdir/CxxObject/i18npool/source/paper/paper.o
> c:/Source/openoffice/main/solver/450/
> wntmsci12.pro/workdir/WinResTarget/i18npaper/default.r
> es
>     Creating library
> c:/Source/openoffice/main/solver/450/
> wntmsci12.pro/workdir/LinkTarget/Library/ii18npaper.lib
> and object
> c:/Source/openoffice/main/solver/450/wntmsci12.pro/workdir/LinkTar
> get/Library/ii18npaper.exp
> <http://wntmsci12.pro/workdir/LinkTarget/Library/ii18npaper.exp>
> Microsoft (R) Manifest Tool version 5.2.3790.2076
> Copyright (c) Microsoft Corporation 2005.
> All rights reserved.
> make: *** No rule to make target
> '/cygdrive/c/Source/openoffice/main/solver/450/
> wntmsci12.pro/workdir/CxxObject/i18npool/source/breakiterator/breakiterator_unicode.o',
>
> needed by
> '/cygdrive/c/Source/openoffice/main/solver/450/
> wntmsci12.pro/workdir/LinkTarget/Library/ii18npool.lib'.
> Stop.
> dmake:  Error code 2, while making 'all'
>
> 1 module(s):
>          i18npool
> need(s) to be rebuilt
>
> Reason(s):
>
> ERROR: error 65280 occurred while making
> /cygdrive/c/Source/openoffice/main/i18npool/prj
>
> When you have fixed the errors in that module you can resume the build
> by running:
>
>          build --from i18npool
>
> ---
>
> Regards,
>
>     Matthias
>
> Am 04.05.25 um 19:43 schrieb Damjan Jovanovic:
> > Hi
> >
> > As promised, here are the details of how I patched OpenOffice to use
> > (system) ICU 76.1 on FreeBSD by converting all C++ calls to ICU to use
> > ICU's C API instead, the issues that were found, and how you can try it
> out.
> ...
> > ------------------
> > Trying it out
> > ------------------
> > While further work remains, I've pushed my changes into the "icu-c-api"
> > branch, if anyone wants to try it out. Just remember to pass
> > --with-system-icu to ./configure, to use the system ICU on *nix. I
> believe
> > it should still work with the internal ICU 4.2.1 we use now too, but
> > haven't tested in a while (the only place it previously broke was the
> data
> > files - the C code works equally well with ICU 4.2.1 and 76.1).
> >
> > Regards
> > Damjan
> >
>

Reply via email to