-
Notifications
You must be signed in to change notification settings - Fork 3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Compile error #39
Comments
What version of Thread Building Blocks do you have? We need a lot more information to try and diagnose this. |
I have had the exact same issue as this. TBB is tbb22_20090809oss, and I started with Boost 1.42, and also tried 1.41, 1.40, 1.39. I haven't used TBB before and pointed to the precompiled intel64/cc4.1.0_libc2.4_kernel2.6.16.21 platform, but the running kernel is 2.6.18 - i don't know if this could be relevant. |
Did you completely remove all the other versions of boost before installing the new one? I can't reproduce this error and it's showing in Boost that its having a problem. |
I did remove all the boost library files and headers before installing the different versions. I also removed the git hiphop-php dir and started fresh each time. This is on CentOS 5.4, and the boost versions are all compiled from source as it only has 1.33 in yum. |
I've been getting exactly the same on an RHEL 5.4 machine, but decided to be a bit drastic and downgraded to boost 1.37 (available on their sourceforge page) and found that it worked. |
I am using CentOS 5.3 and installed all the libraries needed as instructed. My TBB is pre-compiled version: tbb22_20090809oss_lin.tgz and boost is 1.42.0. What else information do I need to offer for diagnosing? |
erikljungstrom - Thanks for that, I tried with 1.38 after seeing your comment, and that also worked. cysin - If you use Boost 1.37 or 1.38 it should compile for you. You may need to move the header files to /usr/include/boost/ with these versions as the default install location was /usr/local/include/boost-1_38/boost/ |
Summary: We never supported the other quote styles for html_entity_decode() and htmlspecialchars_decode(). The default was always to decode " but leave ' alone. Add support so single quotes can be decoded with ENT_QUOTES and also allow ENT_NOQUOTES Test Plan: fast_tests scanned www to see what might break Compared PHP and HPHP with: <?php echo "ENT_QUOTES\n"; var_dump(html_entity_decode("'", ENT_QUOTES)); var_dump(html_entity_decode(""", ENT_QUOTES)); var_dump(html_entity_decode("'", ENT_QUOTES)); echo "ENT_COMPAT\n"; var_dump(html_entity_decode("'", ENT_COMPAT)); var_dump(html_entity_decode(""", ENT_COMPAT)); var_dump(html_entity_decode("'", ENT_COMPAT)); echo "ENT_NOQUOTES\n"; var_dump(html_entity_decode("'", ENT_NOQUOTES)); var_dump(html_entity_decode(""", ENT_NOQUOTES)); var_dump(html_entity_decode("'", ENT_NOQUOTES)); Reviewed By: mwilliams Reviewers: mwilliams, myang, andrewparoski CC: ps, mwilliams Revert Plan: Ok Tags: - begin *PUBLIC* platform impact section - Bugzilla: # - end platform impact - Differential Revision: 279238
…ble in the typing environment Summary: This is a followup to D7179617, which made the wrong assumption that a variable can never be bound to another variable in the typing environment, and as a consequence `Env.expand_type` can never return a `Tvar`. The following example proved this assumption wrong: ``` <?hh // strict // Copyright 2004-present Facebook. All Rights Reserved. class C<T> { final public function __construct( private T $obj, ) {} final public function f<Tu>(): void where T = ?Tu {} } function test(bool $b, ?int $x): void { if ($b) { $y = null; } else { $y = $x; } hh_show($x); hh_show($y); $c = new C($y); hh_show($c); hh_log_level(2); $c->f(); hh_log_level(0); } ``` It was hitting `assert false` that I put in to preserve completeness of the pattern match: ``` File "hphp/hack/test/typecheck/meh_test.php", line 18, characters 3-13: ^(mixed) File "hphp/hack/test/typecheck/meh_test.php", line 19, characters 3-13: ^(^mixed) File "hphp/hack/test/typecheck/meh_test.php", line 21, characters 3-13: C as C<^(^mixed)> File "hphp/hack/test/typecheck/meh_test.php", line 9, characters 49-51: Typing_subtype.sub_type_with_uenv uenv_sub.unwrappedToption=false uenv_super.unwrappedToption=false ty_sub: ?#39[unresolved] ty_super: #31(#27mixed) File "hphp/hack/test/typecheck/meh_test.php", line 14, characters 10-13: Typing_subtype.sub_type_with_uenv uenv_sub.unwrappedToption=false uenv_super.unwrappedToption=false ty_sub: (#27#42mixed) ty_super: ?#39mixed File "", line 0, characters 0--1: Typing_subtype.sub_type_with_uenv uenv_sub.unwrappedToption=false uenv_super.unwrappedToption=false ty_sub: #27#42mixed ty_super: ?#39mixed Fatal error: exception File "/data/users/manzyuk/fbsource/fbcode/hphp/hack/src/typing/typing_subtype.ml", line 1109, characters 35-41: Assertion failed ``` As can be seen from the debugging info, we are getting a type `^^mixed` (i.e., a variable pointing to a variable pointing to `mixed`). This is a result of unifying `^mixed` with another type: to unify a variable with a type, we unify the type the variable is bound to with the other type, create a new variable pointing to the unification, and add a binding from the old variable to the new one in the typing environment instead of the substitution map. This diff changes that. Reviewed By: andrewjkennedy Differential Revision: D7287484 fbshipit-source-id: f4b21b0d14d90520d1e5b16d14890a1220d8b004
[ 22%] Building CXX object src/CMakeFiles/hphp_runtime_static.dir/cpp/base/shared/shared_map.cpp.o
[ 22%] Building CXX object src/CMakeFiles/hphp_runtime_static.dir/cpp/base/shared/shared_string.cpp.o
[ 23%] Building CXX object src/CMakeFiles/hphp_runtime_static.dir/cpp/base/shared/shared_store.cpp.o
/usr/include/boost/interprocess/containers/container/map.hpp: In member function ‘T& boost::container::map<Key, T, Pred, Alloc>::operator[](boost::interprocess::rv<typename boost::container::containers_detail::rbtree<Key, std::pair<const _Key, _Tp>, boost::container::containers_detail::select1st<std::pair<const _Key, _Tp> >, Pred, Alloc>::key_type>&) [with Key = boost::container::basic_string<char, std::char_traits, std::allocator >, T = HPHP::StoreValue, Pred = std::less<boost::container::basic_string<char, std::char_traits, std::allocator > >, Alloc = HPHP::SharedMemoryAllocator<std::pair<boost::container::basic_string<char, std::char_traits, std::allocator >, HPHP::StoreValue> >]’:
/root/hiphop-php/src/cpp/base/shared/shared_store.cpp:106: instantiated from here
/usr/include/boost/interprocess/containers/container/map.hpp:363: error: invalid initialization of non-const reference of type ‘HPHP::StoreValue&’ from a temporary of type ‘HPHP::StoreValue’
/usr/include/boost/interprocess/detail/move.hpp:135: error: in passing argument 1 of ‘typename boost::disable_ifboost::interprocess::is_movable<T, T&>::type boost::interprocess::move(T&) [with T = HPHP::StoreValue]’
make[2]: *** [src/CMakeFiles/hphp_runtime_static.dir/cpp/base/shared/shared_store.cpp.o] Error 1
make[1]: *** [src/CMakeFiles/hphp_runtime_static.dir/all] Error 2
make: *** [all] Error 2
The text was updated successfully, but these errors were encountered: