← All tasks
cppWerWolv/ImHex #755Not a task: not reproduced

[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.2
Continue on GitHub ↗

04 / LABELS

Labels from the report text only; not yet run

No supported category has been assigned.

Label rules and the text that matched
[]