Skip to content
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

Add support for a system-wide shared libraries #356

Open
blshkv opened this issue Jul 16, 2018 · 4 comments
Open

Add support for a system-wide shared libraries #356

blshkv opened this issue Jul 16, 2018 · 4 comments

Comments

@blshkv
Copy link

blshkv commented Jul 16, 2018

First of all, thank you for fixing the issue #94 , this is a good progress.
As the way of improvement, I would like to suggest implementing support of system-wide dependencies as well. For example, there are few tools which require capstone, libdwarf and all of them want to compile their own copy and link to it statically and there are a lot obvious disadvantages of such approach.

There is a way to verify if a system-wide library matches retdec requirements using pkg-config or cmake files and it should be possible to compile against them instead of compiling a static copy.
The tools which do not match can be still compiled locally (optionally).

The full list of the external tools is getting downloaded to the following location: external/src

@PeterMatula
Copy link
Collaborator

Yes, this could be done. We might play work on this in the future, but it is not priority at the moment. If anyone would like to help in the meantime, please go on.

@blshkv
Copy link
Author

blshkv commented Jul 16, 2018

I have tried to unbundle some packages but hit the very old llvm (3.0) compiler quicky. It will take way too many changes to upgrade to v5 so I gave up at this point

@blshkv
Copy link
Author

blshkv commented Apr 20, 2019

@PeterMatula
This is a good start:
https://github.com/avast/retdec/blob/master/deps/openssl/CMakeLists.txt
RETDEC_FORCE_OPENSSL_BUILD

Please implement similar variables for the remaining deps packages

@blshkv
Copy link
Author

blshkv commented Apr 17, 2020

This is another short stopper:
https://github.com/avast/retdec/blob/master/src/bin2llvmir/utils/llvm.cpp#L382-L402
I'm unable to compile with system llvm just because of that part.

Possible solution:
https://stackoverflow.com/questions/16296480/iterate-over-all-structs-in-a-module/16297885

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants