REDasm icon indicating copy to clipboard operation
REDasm copied to clipboard

share library support

Open blshkv opened this issue 5 years ago • 3 comments

Hi, I'm trying to package this tool for Pentoo Linux and have suggestions.

You have released REDasm v 2.1.1 recently, however the tar-ball is not really useful. The current build does not support shared libraries and you seem expecting a user to download a random version of QHexView, REDasm-Library and Capstone into correct directories and compile everything statically in one directory.

The better way would be to use shared libraries. You would need to release dependencies (QHexView and Library), search for them (including capstone) in a system (not a local folder) and compile as shared libraries.

blshkv avatar May 25 '19 04:05 blshkv

Mmmmh, QHexView, REDasm-Library and Capstone are submodules that points to a specific version.

  • REDasm-Library contains a statically compiled version of capstone.
  • REDasm contains the source code of QHexView.

Every REDasm release is unit-tested with a specific version of those libraries.

See here for info: https://github.com/REDasmOrg/REDasm/blob/master/COMPILE.md

Dax89 avatar May 25 '19 07:05 Dax89

well, anyway, my point is that I already have capstone in my system. But many tools are trying to install its own (static) copy of capstone. Can you change the logic to use a system capstone library first if the required version is already available?

The next thing, is to follow FHS, https://en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard The LibREDasm.so should be installed into /usr/lib{64}/, the binary into /usr/bin

Could you fix CMakeLists.txt to install it properly? The current "install" section is broken: it doesn't install either of these two, but installs capstone headers for no reason ;-)

blshkv avatar May 25 '19 08:05 blshkv

well, anyway, my point is that I already have capstone in my system. But many tools are trying to install its own (static) copy of capstone. Can you change the logic to use a system capstone library first if the required version is already available?

Yes, I can, but they can create issues during the analysis, however it's not a problem.

The next thing, is to follow FHS, https://en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard The LibREDasm.so should be installed into /usr/lib{64}/, the binary into /usr/bin Could you fix CMakeLists.txt to install it properly? The current "install" section is broken: it doesn't install either of these two, but installs capstone headers for no reason ;-)

Ok, no problem! :+1:

Dax89 avatar May 25 '19 08:05 Dax89