[Bug] ImHex doesn't compile under MacOS 10.15.7
envgap__WerWolv__ImHex-755
01 / FAILURE SIGNATURE
As reported upstream
/Users/Sensei/OpenSource/ImHex/plugins/builtin/source/content/views/view_disassembler.cpp:196:105: error: 'CS_MODE_SPE' was not declared in this scope; did you mean 'CS_MODE_QPX'?
Not a benchmark task.
- In a clean container the reported failure did not reproduce, or the known fix did not make the project run.
02 / ENVIRONMENT RECIPE
- Base commit
84530e08174a49890402f13437f3db8ac3125fcf- Manifest
CMakeLists.txt- Reproduce
Awaiting issue-specific recipe- Run under trace
Awaiting a meaningful runtime command
03 / ORIGINAL ISSUE TEXT
WerWolv/ImHex #755 · read the original issue
### Operating System
MacOS
### What's the issue you encountered?
Building on MacOS 10.15 using the steps described [here](https://github.com/WerWolv/ImHex/blob/master/dist/compiling/macOS.md), the build fails at 84% with the following error messages:
```
[ 84%] Building CXX object plugins/builtin/CMakeFiles/builtin.dir/source/content/views/view_disassembler.cpp.o
/Users/Sensei/OpenSource/ImHex/plugins/builtin/source/content/views/view_disassembler.cpp: In member function 'virtual void hex::plugin::builtin::ViewDisassembler::drawContent()':
/Users/Sensei/OpenSource/ImHex/plugins/builtin/source/content/views/view_disassembler.cpp:196:105: error: 'CS_MODE_SPE' was not declared in this scope; did you mean 'CS_MODE_QPX'?
196 | this->m_mode = cs_mode(mode | (qpx ? CS_MODE_QPX : cs_mode(0)) | (spe ? CS_MODE_SPE : cs_mode(0)) | (booke ? CS_MODE_BOOKE : cs_mode(0)));
| ^~~~~~~~~~~
| CS_MODE_QPX
/Users/Sensei/OpenSource/ImHex/plugins/builtin/source/content/views/view_disassembler.cpp:196:142: error: 'CS_MODE_BOOKE' was not declared in this scope; did you mean 'CS_MODE_V9'?
196 | this->m_mode = cs_mode(mode | (qpx ? CS_MODE_QPX : cs_mode(0)) | (spe ? CS_MODE_SPE : cs_mode(0)) | (booke ? CS_MODE_BOOKE : cs_mode(0)));
| ^~~~~~~~~~~~~
| CS_MODE_V9
/Users/Sensei/OpenSource/ImHex/plugins/builtin/source/content/views/view_disassembler.cpp:209:51: error: 'CS_MODE_RISCV32' was not declared in this scope; did you mean 'CS_MODE_MIPS32'?
209 | static int mode = CS_MODE_RISCV32;
| ^~~~~~~~~~~~~~~
| CS_MODE_MIPS32
/Users/Sensei/OpenSource/ImHex/plugins/builtin/source/content/views/view_disassembler.cpp:212:103: error: 'CS_MODE_RISCV64' was not declared in this scope; did you mean 'CS_MODE_MIPS64'?
212 | ImGui::RadioButton("hex.builtin.view.disassembler.64bit"_lang, &mode, CS_MODE_RISCV64);
| ^~~~~~~~~~~~~~~
| CS_MODE_MIPS64
/Users/Sensei/OpenSource/ImHex/plugins/builtin/source/content/views/view_disassembler.cpp:217:77: error: 'CS_MODE_RISCVC' was not declared in this scope; did you mean 'CS_MODE_MICRO'?
217 | this->m_mode = cs_mode(mode | (compressed ? CS_MODE_RISCVC : cs_mode(0)));
| ^~~~~~~~~~~~~~
| CS_MODE_MICRO
/Users/Sensei/OpenSource/ImHex/plugins/builtin/source/content/views/view_disassembler.cpp:277:99: error: 'CS_MODE_MOS65XX_6502' was not declared in this scope; did you mean 'CS_MODE_M680X_6809'?
277 | {"hex.builtin.view.disassembler.mos65xx.6502"_lang, CS_MODE_MOS65XX_6502 },
| ^~~~~~~~~~~~~~~~~~~~
| CS_MODE_M680X_6809
/Users/Sensei/OpenSource/ImHex/plugins/builtin/source/content/views/view_disassembler.cpp:278:99: error: 'CS_MODE_MOS65XX_65C02' was not declared in this scope; did you mean 'CS_MODE_M680X_6809'?
278 | { "hex.builtin.view.disassembler.mos65xx.65c02"_lang, CS_MODE_MOS65XX_65C02 },
| ^~~~~~~~~~~~~~~~~~~~~
| CS_MODE_M680X_6809
/Users/Sensei/OpenSource/ImHex/plugins/builtin/source/content/views/view_disassembler.cpp:279:99: error: 'CS_MODE_MOS65XX_W65C02' was not declared in this scope; did you mean 'CS_MODE_M680X_6809'?
279 | { "hex.builtin.view.disassembler.mos65xx.w65c02"_lang, CS_MODE_MOS65XX_W65C02 },
| ^~~~~~~~~~~~~~~~~~~~~~
| CS_MODE_M680X_6809
/Users/Sensei/OpenSource/ImHex/plugins/builtin/source/content/views/view_disassembler.cpp:280:99: error: 'CS_MODE_MOS65XX_65816' was not declared in this scope; did you mean 'CS_MODE_M680X_6811'?
280 | { "hex.builtin.view.disassembler.mos65xx.65816"_lang, CS_MODE_MOS65XX_65816 },
| ^~~~~~~~~~~~~~~~~~~~~
| CS_MODE_M680X_6811
/Users/Sensei/OpenSource/ImHex/plugins/builtin/source/content/views/view_disassembler.cpp:281:99: error: 'CS_MODE_MOS65XX_65816_LONG_M' was not declared in this scope
281 | { "hex.builtin.view.disassembler.mos65xx.65816_long_m"_lang, CS_MODE_MOS65XX_65816_LONG_M },
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/Sensei/OpenSource/ImHex/plugins/builtin/source/content/views/view_disassembler.cpp:282:99: error: 'CS_MODE_MOS65XX_65816_LONG_X' was not declared in this scope
282 | { "hex.builtin.view.disassembler.mos65xx.65816_long_x"_lang, CS_MODE_MOS65XX_65816_LONG_X },
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/Sensei/OpenSource/ImHex/plugins/builtin/source/content/views/view_disassembler.cpp:283:99: error: 'CS_MODE_MOS65XX_65816_LONG_MX' was not declared in this scope
283 | { "hex.builtin.view.disassembler.mos65xx.65816_long_mx"_lang, CS_MODE_MOS65XX_65816_LONG_MX},
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/Sensei/OpenSource/ImHex/plugins/builtin/source/content/views/view_disassembler.cpp:284:33: error: could not convert '{hex::operator""_lang(const char*, size_t)(42), <expression error>}' from '<brace-enclosed initializer list>' to 'std::pair<const char*, cs_mode>'
284 | };
| ^
| |
| <brace-enclosed initializer list>
/Users/Sensei/OpenSource/ImHex/plugins/builtin/source/content/views/view_disassembler.cpp:284:33: error: could not convert '{hex::operator""_lang(const char*, size_t)(43), <expression error>}' from '<brace-enclosed initializer list>' to 'std::pair<const char*, cs_mode>'
284 | };
| ^
| |
| <brace-enclosed initializer list>
/Users/Sensei/OpenSource/ImHex/plugins/builtin/source/content/views/view_disassembler.cpp:284:33: error: could not convert '{hex::operator""_lang(const char*, size_t)(44), <expression error>}' from '<brace-enclosed initializer list>' to 'std::pair<const char*, cs_mode>'
284 | };
| ^
| |
| <brace-enclosed initializer list>
/Users/Sensei/OpenSource/ImHex/plugins/builtin/source/content/views/view_disassembler.cpp:284:33: error: could not convert '{hex::operator""_lang(const char*, size_t)(43), <expression error>}' from '<brace-enclosed initializer list>' to 'std::pair<const char*, cs_mode>'
284 | };
| ^
| |
| <brace-enclosed initializer list>
/Users/Sensei/OpenSource/ImHex/plugins/builtin/source/content/views/view_disassembler.cpp:284:33: error: could not convert '{hex::operator""_lang(const char*, size_t)(50), <expression error>}' from '<brace-enclosed initializer list>' to 'std::pair<const char*, cs_mode>'
284 | };
| ^
| |
| <brace-enclosed initializer list>
/Users/Sensei/OpenSource/ImHex/plugins/builtin/source/content/views/view_disassembler.cpp:284:33: error: could not convert '{hex::operator""_lang(const char*, size_t)(50), <expression error>}' from '<brace-enclosed initializer list>' to 'std::pair<const char*, cs_mode>'
284 | };
| ^
| |
| <brace-enclosed initializer list>
/Users/Sensei/OpenSource/ImHex/plugins/builtin/source/content/views/view_disassembler.cpp:284:33: error: could not convert '{hex::operator""_lang(const char*, size_t)(51), <expression error>}' from '<brace-enclosed initializer list>' to 'std::pair<const char*, cs_mode>'
284 | };
| ^
| |
| <brace-enclosed initializer list>
/Users/Sensei/OpenSource/ImHex/plugins/builtin/source/content/views/view_disassembler.cpp:299:51: error: 'CS_MODE_BPF_CLASSIC' was not declared in this scope; did you mean 'CS_MODE_MCLASS'?
299 | static int mode = CS_MODE_BPF_CLASSIC;
| ^~~~~~~~~~~~~~~~~~~
| CS_MODE_MCLASS
/Users/Sensei/OpenSource/ImHex/plugins/builtin/source/content/views/view_disassembler.cpp:302:110: error: 'CS_MODE_BPF_EXTENDED' was not declared in this scope
302 | ImGui::RadioButton("hex.builtin.view.disassembler.bpf.extended"_lang, &mode, CS_MODE_BPF_EXTENDED);
| ^~~~~~~~~~~~~~~~~~~~
make[2]: *** [plugins/builtin/CMakeFiles/builtin.dir/source/content/views/view_disassembler.cpp.o] Error 1
make[1]: *** [plugins/builtin/CMakeFiles/builtin.dir/all] Error 2
make: *** [all] Error 2
```
XCode CLT, as well as all the required brew libraries are installed. Output of `brew doctor`:
### How can the issue be reproduced?
Compile on MacOS 10.15 using the same steps described above
### ImHex Version
1.23.2 (#f52dae42976e646726ee87bc4ce3afae3a91a8ae)
### ImHex Build Type
- [X] Nightly or built from sources
### Additional context?
g++-12 v.12.2.0, llvm v.15.0.1, pkgconfig v.0.29.204 / LABELS
Labels from the report text only; not yet run
No supported category has been assigned.
Label rules and the text that matched
[]