Comments (25)
Currently, I am using -ifeellucky
option to support Ubuntu 16.04.
But it seems like 4.17 is not supportable even with the option.
from qsym.
Thanks, Ben.
I will add Dockerfile to ease your setup.
Sorry for inconvinience!
from qsym.
@benlaurie Hi, Ben. Could you check the latest README.md and Dockerfile?
Thanks.
from qsym.
I think you need to run python setup.py build
to build the libqsym.so file. It works for me.
from qsym.
@tunz I think pip install .
will do that for you. no?
from qsym.
yes, it seems like pip install .
works well.
from qsym.
I'd rather not add docker to the list of stuff I have to mess with.
Are you saying there's a step I missed? Where am I supposed to run what?
from qsym.
Ah, I see the revised instructions. Now I get:
g++ -DBIGARRAY_MULTIPLIER=1 -Wall -Werror -Wno-unknown-pragmas -fno-stack-protector -DTARGET_IA32E -DHOST_IA32E -fPIC -DTARGET_LINUX -I/tmp/pip-req-build-o3KA32/third_party/pin-2.14-71313-gcc.4.4.7-linux/source/include/pin -I/tmp/pip-req-build-o3KA32/third_party/pin-2.14-71313-gcc.4.4.7-linux/source/include/pin/gen -I/tmp/pip-req-build-o3KA32/third_party/pin-2.14-71313-gcc.4.4.7-linux/extras/components/include -I/tmp/pip-req-build-o3KA32/third_party/pin-2.14-71313-gcc.4.4.7-linux/extras/xed-intel64/include -I/tmp/pip-req-build-o3KA32/third_party/pin-2.14-71313-gcc.4.4.7-linux/source/tools/InstLib -O3 -fomit-frame-pointer -fno-strict-aliasing -I/tmp/pip-req-build-o3KA32/qsym/pintool -g -Wno-error=unused-function -std=c++11 -DCONFIG_CONTEXT_SENSITIVE -I/tmp/pip-req-build-o3KA32/third_party/z3/include -c -o obj-intel64/dependency.o dependency.cpp
In file included from /tmp/pip-req-build-o3KA32/third_party/pin-2.14-71313-gcc.4.4.7-linux/source/include/pin/pin.H:41:0,
from analysis_instruction.h:4,
from analysis_instruction.cpp:2:
/tmp/pip-req-build-o3KA32/third_party/pin-2.14-71313-gcc.4.4.7-linux/source/include/pin/compiler_version_check2.H:102:2: error: #error The C++ ABI of your compiler does not match the ABI of the pin kit.
#error The C++ ABI of your compiler does not match the ABI of the pin kit.
^~~~~
/tmp/pip-req-build-o3KA32/third_party/pin-2.14-71313-gcc.4.4.7-linux/source/include/pin/compiler_version_check2.H:117:2: error: #error This kit requires gcc 3.4 or later
#error This kit requires gcc 3.4 or later
^~~~~
$ g++ --version
g++ (Debian 7.3.0-5) 7.3.0
from qsym.
This is when doing pip install .
from qsym.
Could you let me know your environment to build this system?
QSYM is only tested in Ubuntu 16.04 and 14.04 with compilers that are installed by apt.
from qsym.
This is Google's internal version of Debian. I have apt if I need to install different versions of things (probably), or I can take a look at debugging.
from qsym.
Currently, QSYM is based on PIN 2.14 which is old, but stable version.
PIN 3.x has some problems in supporting external libraries (JonathanSalwan/Triton#324)
and dynamo rio has problems in supporting z3 (DynamoRIO/dynamorio#1881).
That's why I choose PIN 2.14 as our DBT, but it has several dependencies on compilers.
I hope you can fix the issue, if not, I think it would be better to use Docker or VM.
Sorry for that.
from qsym.
What version of gcc/g++ are you using?
from qsym.
gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.10)
Quiet old one.
from qsym.
Hmm. Well, I made it build with gcc 7, but now when I run qsym it doesn't do anything. The root cause seems to be this file is missing: /usr/local/google/home/benl/git-work/qsym/venv/lib/python2.7/site-packages/qsym/../third_party/pin-2.14-71313-gcc.4.4.7-linux/pin.sh
from qsym.
Tests all still fail, by the way.
from qsym.
@benlaurie Could you check your conf.py is the latest one?
I fix some bug in conf.py.
It should check other path if pin.sh does not exist in the path.
NOTE: https://github.com/sslab-gatech/qsym/blob/master/qsym/conf.py#L3
from qsym.
It would have been helpful to note that I have to redo pip install .
to make that change work.
Anyway, now I hit:
Pin 2.14 kit 71293
E: 4.16 is not a supported linux release
This appears to originate from something that is supplied as a binary, so I can't easily fix it.
Presumably docker will not help with this.
from qsym.
True. My bad.
from qsym.
This issue is related to #9
from qsym.
There's -ifeellucky
option for 4.x kernel in Pin 2.x version, it enables execution on unsupported linux versions. Maybe this can be a workaround? I didn't see any incompatible case on 4.4.0.
from qsym.
Not sure what has changed, but I'm now getting a different error:
timeout -k 5 90 /usr/local/google/home/benl/git-work/qsym/venv/lib/python2.7/site-packages/qsym/../../../../third_party/pin-2.14-71313-gcc.4.4.7-linux/pin.sh -ifeellucky -t /usr/local/google/home/benl/git-work/qsym/venv/lib/python2.7/site-packages/qsym/pintool/obj-intel64/libqsym.so -logfile /tmp/tmpaEmmUX/qsym-out-11/pin.log -i /usr/local/google/home/benl/git-work/qsym/afl-out/4/.cur_input -f 1 -o /tmp/tmpaEmmUX/qsym-out-11 -l 1 -b afl-out/4/bitmap -- ../boringssl/fuzz/fuzz/pkcs12 /usr/local/google/home/benl/git-work/qsym/afl-out/4/.cur_input
E: Unable to load /usr/local/google/home/benl/git-work/qsym/venv/lib/python2.7/site-packages/qsym/pintool/obj-intel64/libqsym.so: /usr/local/google/home/benl/git-work/qsym/venv/lib/python2.7/site-packages/qsym/pintool/obj-intel64/libqsym.so: undefined symbol: _ZN10LEVEL_BASE9KNOBVALUEImE10FromStringERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE
from qsym.
That is the function in the pin's static library.
But I don't know why it cannot find symbol.
from qsym.
The comment on #14 (comment) says you are on Pin 2.x because of libz3 incompatibility. Have you tried boolector or STP as alternatives? They are actually more performant on bitvector solving in many cases.
from qsym.
@richinseattle No. I have never tried them. I know that boolector and STP's are good for bitvectors, but z3 is easy to use for me.
from qsym.
Related Issues (20)
- `./setup.sh` error when install qsym in my computer HOT 2
- `DEBUG:qsym.afl:Total=0 s, Emulation=0 s, Solver=0 s, Return=255`the return value of output is invalid. HOT 19
- All test cases failed and simple cases also failed HOT 7
- The return code of qsym is always 1 HOT 4
- Error when testing in docker. HOT 1
- Error when fuzzing with AFL HOT 4
- Qsym package not found for python HOT 1
- Assertion Failed in qsym/pintool/solver.cpp HOT 1
- Do you have any plan to port the version of pintools to new version ? HOT 1
- the experiment on the CGC dataset HOT 4
- question about DARPA CGC dataset HOT 2
- get the error when I pip install . in venv HOT 3
- get the error when I docker build -t qsym ./ HOT 5
- qsym.afl:Cannot find pintool. Maybe updating? HOT 2
- error: execute ./setup.sh in Ubuntu16 HOT 7
- `DEBUG:qsym.afl:Sleep for getting files`
- Question about trace_map in QSYM HOT 2
- How to change the number of the additional constraints when using Optimistic Solving? HOT 2
- There is a problem with the last step "pip install ." HOT 1
- get error with tests/build.py HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from qsym.