setzer22/blackjack

mlua 0.8.3 fails to build

krumelmonster opened this issue · 0 comments

mlua 0.8.3 (up to 0.8.6), as specified in Cargo.lock, fails to build with gcc 13.1.1 due to a missing include in the luau version it uses.

I got to build and run blackjack by running cargo update -p mlua --precise 0.8.7 or cargo update -p mlua (0.8.9).

gcc errors index.crates.io-6f17d22bba15001f/luau0-src-0.3.8+luau545/luau/Ast/src/StringUtils.cpp: In function ‘bool Luau::equalsLower(std::string_view, std::string_view)’: index.crates.io-6f17d22bba15001f/luau0-src-0.3.8+luau545/luau/Ast/src/StringUtils.cpp:208:21: error: ‘uint8_t’ was not declared in this scope 208 | if (tolower(uint8_t(lhs[i])) != tolower(uint8_t(rhs[i]))) | ^~~~~~~ index.crates.io-6f17d22bba15001f/luau0-src-0.3.8+luau545/luau/Ast/src/StringUtils.cpp:10:1: note: ‘uint8_t’ is defined in header ‘’; did you forget to ‘#include ’? 9 | #include +++ |+#include 10 | index.crates.io-6f17d22bba15001f/luau0-src-0.3.8+luau545/luau/Ast/src/StringUtils.cpp: In function ‘size_t Luau::hashRange(const char*, size_t)’: index.crates.io-6f17d22bba15001f/luau0-src-0.3.8+luau545/luau/Ast/src/StringUtils.cpp:217:5: error: ‘uint32_t’ was not declared in this scope 217 | uint32_t hash = 2166136261; | ^~~~~~~~ index.crates.io-6f17d22bba15001f/luau0-src-0.3.8+luau545/luau/Ast/src/StringUtils.cpp:217:5: note: ‘uint32_t’ is defined in header ‘’; did you forget to ‘#include ’? index.crates.io-6f17d22bba15001f/luau0-src-0.3.8+luau545/luau/Ast/src/StringUtils.cpp:221:9: error: ‘hash’ was not declared in this scope; did you mean ‘std::hash’? 221 | hash ^= uint8_t(data[i]); | ^~~~ | std::hash In file included from /usr/include/c++/13.1.1/bits/stl_bvector.h:61, from /usr/include/c++/13.1.1/vector:67, from index.crates.io-6f17d22bba15001f/luau0-src-0.3.8+luau545/luau/Ast/include/Luau/StringUtils.h:4, from index.crates.io-6f17d22bba15001f/luau0-src-0.3.8+luau545/luau/Ast/src/StringUtils.cpp:2: /usr/include/c++/13.1.1/bits/functional_hash.h:59:12: note: ‘std::hash’ declared here 59 | struct hash; | ^~~~ index.crates.io-6f17d22bba15001f/luau0-src-0.3.8+luau545/luau/Ast/src/StringUtils.cpp:221:17: error: ‘uint8_t’ was not declared in this scope 221 | hash ^= uint8_t(data[i]); | ^~~~~~~ index.crates.io-6f17d22bba15001f/luau0-src-0.3.8+luau545/luau/Ast/src/StringUtils.cpp:221:17: note: ‘uint8_t’ is defined in header ‘’; did you forget to ‘#include ’? index.crates.io-6f17d22bba15001f/luau0-src-0.3.8+luau545/luau/Ast/src/StringUtils.cpp:225:12: error: ‘hash’ was not declared in this scope; did you mean ‘std::hash’? 225 | return hash; | ^~~~ | std::hash /usr/include/c++/13.1.1/bits/functional_hash.h:59:12: note: ‘std::hash’ declared here 59 | struct hash; | ^~~~ index.crates.io-6f17d22bba15001f/luau0-src-0.3.8+luau545/luau/Ast/src/StringUtils.cpp: In function ‘std::string Luau::escape(std::string_view, bool)’: index.crates.io-6f17d22bba15001f/luau0-src-0.3.8+luau545/luau/Ast/src/StringUtils.cpp:238:10: error: ‘uint8_t’ was not declared in this scope 238 | for (uint8_t c : s) | ^~~~~~~ index.crates.io-6f17d22bba15001f/luau0-src-0.3.8+luau545/luau/Ast/src/StringUtils.cpp:238:10: note: ‘uint8_t’ is defined in header ‘’; did you forget to ‘#include ’? index.crates.io-6f17d22bba15001f/luau0-src-0.3.8+luau545/luau/Ast/src/StringUtils.cpp:290:5: error: expected primary-expression before ‘return’ 290 | return r; | ^~~~~~ index.crates.io-6f17d22bba15001f/luau0-src-0.3.8+luau545/luau/Ast/src/StringUtils.cpp:288:6: error: expected ‘;’ before ‘return’ 288 | } | ^ | ; 289 | 290 | return r; | ~~~~~~ index.crates.io-6f17d22bba15001f/luau0-src-0.3.8+luau545/luau/Ast/src/StringUtils.cpp:290:5: error: expected primary-expression before ‘return’ 290 | return r; | ^~~~~~ index.crates.io-6f17d22bba15001f/luau0-src-0.3.8+luau545/luau/Ast/src/StringUtils.cpp:288:6: error: expected ‘)’ before ‘return’ 288 | } | ^ | ) 289 | 290 | return r; | ~~~~~~ index.crates.io-6f17d22bba15001f/luau0-src-0.3.8+luau545/luau/Ast/src/StringUtils.cpp:238:9: note: to match this ‘(’ 238 | for (uint8_t c : s) | ^ index.crates.io-6f17d22bba15001f/luau0-src-0.3.8+luau545/luau/Ast/src/StringUtils.cpp:291:1: warning: control reaches end of non-void function [-Wreturn-type] 291 | } | ^ exit status: 1