facebook / hhvm

A virtual machine for executing programs written in Hack.
https://hhvm.com
Other
18.13k stars 2.99k forks source link

icu.h missing unistr.h include #7843

Open thedjnK opened 7 years ago

thedjnK commented 7 years ago

Tried building HHVM and it's encountered an issue when building the icu extension. According to http://icu-project.org/apiref/icu4c/classicu_1_1UnicodeString.html unistr.h must be included to reference icu::UnicodeString but this is missing from icu.h and it fails to build, putting #include <unicode/unistr.h> in icu.h fixes the problem.

HHVM Version

Pulled directly from git (latest)

Standalone code, or other way to reproduce the problem

Build on arch linux with default options

Expected result

Build to be successful

Actual result

In file included from /tmp/hhvm/hphp/runtime/base/zend-collator.h:21:0,
                 from /tmp/hhvm/hphp/runtime/base/zend-collator.cpp:17:
/tmp/hhvm/hphp/runtime/ext/icu/icu.h:84:6: error: 'UnicodeString' in namespace 'icu' does not name a type
 icu::UnicodeString u16(const char* u8, int32_t u8_len, UErrorCode &error,
      ^~~~~~~~~~~~~
/tmp/hhvm/hphp/runtime/ext/icu/icu.h:86:13: error: 'UnicodeString' in namespace 'icu' does not name a type
 inline icu::UnicodeString u16(const String& u8, UErrorCode& error,
             ^~~~~~~~~~~~~
/tmp/hhvm/hphp/runtime/ext/icu/icu.h:91:29: error: 'UnicodeString' in namespace 'icu' does not name a type
 inline String u8(const icu::UnicodeString& u16, UErrorCode& error) {
                             ^~~~~~~~~~~~~
/tmp/hhvm/hphp/runtime/ext/icu/icu.h: In function 'HPHP::String HPHP::Intl::u8(const int&, UErrorCode&)':
/tmp/hhvm/hphp/runtime/ext/icu/icu.h:92:17: error: request for member 'getBuffer' in 'u16', which is of non-class type 'const int'
   return u8(u16.getBuffer(), u16.length(), error);
                 ^~~~~~~~~
/tmp/hhvm/hphp/runtime/ext/icu/icu.h:92:34: error: request for member 'length' in 'u16', which is of non-class type 'const int'
   return u8(u16.getBuffer(), u16.length(), error);
mofarrell commented 7 years ago

It would be great if you could you put up a pull request!