Boost logo

Boost Users :

Subject: Re: [Boost-users] error: unicode/uversion.h: No such file buildingBoost 1.44.0
From: Robert McCullough (proengin13_at_[hidden])
Date: 2010-09-28 10:57:20


On Tue, Sep 28, 2010 at 1:50 AM, Vladimir Prus <vladimir_at_[hidden]>wrote:

> Robert McCullough wrote:
>
> > On Sat, Sep 25, 2010 at 4:45 AM, John Maddock <boost.regex_at_[hidden]
> >wrote:
> >
> >> I have written a bash build script do this build. It has worked fine
> for
> >>> previous version of boost.
> >>> i.e. 1.37.0, 1.40.0, 1.43.0
> >>> But when I tried to build 1.44.0 I get the following errors.
> >>>
> >>
> >> Does the regex lib go on to build OK?
> >>
> >> Those compiler errors are from a configuration check that looks to see
> if
> >> ICU is present or not - you shouldn't actually see those messages at all
> >> (they should be suppressed and written to file rather like autoconf
> does).
> >>
> >> Is there a bjam command line that reliably reproduces this?
> >>
> >> Thanks, John.
> >> ost-users <http://lists.boost.org/mailman/listinfo.cgi/boost-users>
> >>
> >
> > John,
> >
> > No, the regex lib does not go on to build.
> > The compiler error:
> > libs/regex/build/has_icu_test.cpp:12:30: error: unicode/uversion.h: No
> such
> > file or directory
> > is from trying to compile has_icu_test.cpp with my cross-compiler tools
> > which do not have the icu libraries and header files installed.
> > So it can not find unicode/uversion.h.
> >
> > Why is it trying to compile has_icu_test.cpp when has_icu builds = no, as
> > shown below in my output?
> >
> > libs/regex/build/has_icu_test.cpp:12:30: error: unicode/uversion.h: No
> such
> > file or directory
> > libs/regex/build/has_icu_test.cpp:13:28: error: unicode/utypes.h: No such
> > file or directory
> > libs/regex/build/has_icu_test.cpp:14:27: error: unicode/uchar.h: No such
> > file or directory
> > libs/regex/build/has_icu_test.cpp:15:26: error: unicode/coll.h: No such
> file
> > or directory
> > libs/regex/build/has_icu_test.cpp:26:2: warning: no newline at end of
> file
> > libs/regex/build/has_icu_test.cpp: In function 'int main()':
> > libs/regex/build/has_icu_test.cpp:23: error: 'UErrorCode' was not
> declared
> > in this scope
> > libs/regex/build/has_icu_test.cpp:23: error: expected `;' before 'err'
> > libs/regex/build/has_icu_test.cpp:24: error: 'UChar32' was not declared
> in
> > this scope
> > libs/regex/build/has_icu_test.cpp:24: error: expected `;' before 'c'
> > libs/regex/build/has_icu_test.cpp:25: error: 'err' was not declared in
> this
> > scope
> > ...failed updating 1 target...
> > Performing configuration checks
> >
> > - has_icu builds : no
>
> I think you misread this output. The error message is from the
> configuration check --
> exactly the check that causes "has_icu builds" to output "no". Besides
> slight
> inconvenience, this should not cause any problems, and regex should be
> built,
> albeit without ICU support.
>
> Do you actually observe that regex is not built? If so, there must be some
> further
> error messages. Would you please put a complete build log somewhere?
>
> - Volodya
>
> I found my problem.
I was building boost with the bjam -q option.
When I build using the bjam -q option the build stops on the above error and
does not build the libraries.
I removed the -q and it ignored the above error, as you explained, and
everything built fine.

Thanks,
Rob



Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net