Opened 7 years ago

Last modified 5 years ago

#12132 new Bugs

ubuntu 64 bit icu detaction fails

Reported by: konstantin.kivi@… Owned by: John Maddock
Milestone: To Be Determined Component: regex
Version: Boost 1.60.0 Severity: Problem
Keywords: icu regex boostrap Cc:

Description

bootstrap.sh code regarding icu presence looks like this

 $ECHO -n "Unicode/ICU support for Boost.Regex?... "
295 if test "x$flag_icu" != xno; then
296   if test "x$ICU_ROOT" = x; then
297     COMMON_ICU_PATHS="/usr /usr/local /sw"
298     for p in $COMMON_ICU_PATHS; do
299       if test -r $p/include/unicode/utypes.h; then
300         ICU_ROOT=$p

however on my 64 bit ubuntu 15.10 utypes.h is located here

konst@konst:~/work/DUP/petra-one/boost/boost_1_60_0> locate utypes.h
/usr/include/x86_64-linux-gnu/unicode/utypes.h

it even doesn't have a form of $p/include/unicode/utypes.h and thus it is not possible to provide path to icu manually

Change History (4)

comment:1 by John Maddock, 6 years ago

Component: Noneregex
Owner: set to John Maddock

comment:2 by John Maddock, 6 years ago

That's where that file is for me on Ubuntu and the build finds it just fine.

Can you:

cd into libs/regex/build run ../../../b2 --reconfigure toolset=gcc

At this point you should see:

  • has_icu builds - yes

near the start of the compilation, if not, then go to the file:

boost-root/bin.v2/config.log

which will contain the actual error messages from the failed configuration. My guess is that utypes.h is not in your compilers search paths for some reason, but we'll see...

comment:3 by anonymous, 6 years ago

This way it works. However this not the default action.

konst@misha:~/work/boost_1_60_0$ ./bootstrap.sh  --with-icu 
Building Boost.Build engine with toolset gcc... tools/build/src/engine/bin.linuxx86_64/b2
Detecting Python version... 2.7
Detecting Python root... /usr
Unicode/ICU support for Boost.Regex?... not found.
Generating Boost.Build configuration in project-config.jam...

Bootstrapping is done. To build, run:

    ./b2
    
To adjust configuration, edit 'project-config.jam'.
Further information:

   - Command line help:
     ./b2 --help
     
   - Getting started guide: 
     http://www.boost.org/more/getting_started/unix-variants.html
     
   - Boost.Build documentation:
     http://www.boost.org/build/doc/html/index.html

konst@misha:~/work/boost_1_60_0$ cd  libs/regex/build ;  ../../../b2 --reconfigure toolset=gcc 
Performing configuration checks

    - 32-bit                   : no
    - 64-bit                   : yes
    - arm                      : no
    - mips1                    : no
    - power                    : no
    - sparc                    : no
    - x86                      : yes
    - symlinks supported       : yes
    - has_icu builds           : yes
...patience...
...found 600 targets...
...updating 18 targets...
gcc.compile.c++ ../../../bin.v2/libs/regex/build/gcc-4.9.2/debug/c_regex_traits.o
gcc.compile.c++ ../../../bin.v2/libs/regex/build/gcc-4.9.2/debug/cpp_regex_traits.o

comment:4 by anonymous, 5 years ago

Same problem here on Linux Mint; detection fails during bootstrap, but --reconfigure works

Note: See TracTickets for help on using tickets.