-
Notifications
You must be signed in to change notification settings - Fork 440
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
compilation/installation issues #1206
Comments
Thanks for reporting. Except for gcc 13.2.1, could you please help with a pull request to fix the other issues first? |
For the gcc 13.2.1 compilation error, could we fix the code rather than changing the compiler option? |
Sorry, but at the moment I don't have the time to fix it. Maybe @shuangxiangkan can help with the ExtAPI implementation? The gcc issue is caused by the overloading of the virtual operators in the Abstract Execution module:
|
Thanks, @shuangxiangkan could you please fix the issue mention above? |
There is another issue with the extapi handling: Line 776 in ce5ca74
Whenever one links SVF, it calls |
I see. Thanks for reporting this. @shuangxiangkan please have a look at this too |
Hi @yuleisui, I had a look at the latest version. The build issues are fixed (besides the uncopied files), thanks for that. But there are still some issues with extapi.bc:
Line 103 in 62e1cf4
Line 41 in 62e1cf4
Line 101 in 62e1cf4
A simple |
I see. I think @shuangxiangkan should be able to fix it soon |
Hi, @251, thank you for your suggestions, I have some questions before I submit new pr,
In the next pr, the path to the user's own extapi.bc will be set using the
The reason for not using getenv() to handle Line 81 in 62e1cf4
You're right. If we are looking for extapi.bc through the $SVF_DIR, and it's in Debug mode, it should append
If you use getenv("SVF_DIR") without any suffix (e.g., "Debug-build/svf-llvm/extapi.bc"), SVF_DIR is just the build directory for SVF. SVF won't be able to locate extapi.bc. Furthermore, could you provide further explanation for this ?
I'm not clear on how this error is produced.
|
Hi @shuangxiangkan, thanks for having a look at those issues.
Sounds good but I'm also looking for something like
The getenv version because it's much simpler for that case. Also, I think there is a performance penalty. The path is not stored and
That wouldn't work either, because there is no src/build directory on my machine, I just use the installation directory. What I meant is:
or
should work without appending suffixes such as
Ah, sorry. I was confused about the error message (+ there is a plenk at the end):
I thought
No hard feelings about that one because this is not how I use SVF. I install SVF roughly similar to: /build/svf$ cmake -DCMAKE_INSTALL_PREFIX=/my_root -DSVF_ENABLE_ASSERTIONS:BOOL=true -DCMAKE_BUILD_TYPE=Debug -DLLVM_DIR=/my_root/lib/cmake/llvm -DZ3_INCLUDES=/my_root/include -DZ3_LIBRARIES=/muy_root/lib/libz3.so /src/SVF
/build/svf$ make -j4 && make install
/build/svf$ cp svf/libSvfCore.a /my_root/lib
/build/svf$ cp include/Util/config.h /my_root/include/svf/Util
/build/svf$ cp svf-llvm/lib/extapi.c /my_root/data/my_extapi.bc |
Hi, @251 Because you're not using SVF's default installation method (
SVF encounters issues when attempting to find extapi.bc using the default installation method in
However, typically |
PR #1212 provides two ways to specify extapi.bc path: You can try this pr, and if there are any further issues, please let me know. |
The thing is,
Thanks, I added two comments. |
Hi,
I updated my SVF installation and came across some issues (at least in my opinion):
svf/include/SVFIR/SVFType.h
lacks#include <cstdint>
(compilation fails)-Werror
withCXXFLAGS="-Wno-error=overloaded-virtual"
to get it to compile with gcc 13.2.1make install
does not copylibSvfCore.a
,Util/config.h
, andextapi.bc
(which actually is an .ll file, not a .bc file)ExtAPI::getExtBcPath()
needs some improvements:SVF/svf/lib/Util/ExtAPI.cpp
Line 108 in ce5ca74
"echo $SVF_DIR"
it should just usegetenv
setExtBcPath
function for a simplified API¹EXTAPI_PATH
is defined based on the source directory, imho that should be the installation directorySVF/.config.in
Line 4 in ce5ca74
¹
path
is now unused in:SVF/svf/lib/Util/ExtAPI.cpp
Line 38 in c0dac77
The text was updated successfully, but these errors were encountered: