Compilation fails
vanhauser-thc opened this issue · 2 comments
vanhauser-thc commented
I follow the README but compilation fails:
$ cd /
$ git clone --depth=1 https://github.com/eurecom-s3/symcc
$ cd symcc
$ git submodule update --init && mkdir build && cd build
$ cmake -G Ninja -DQSYM_BACKEND=ON -DZ3_TRUST_SYSTEM_VERSION=on ..
$ ninja
$ cargo install --path util/symcc_fuzzing_helper
[this all succeeds]
$ git clone --depth=1 https://github.com/eurecom-s3/symqemu
$ cd symqemu
$ ./configure --audio-drv-list= --disable-bluez --disable-sdl --disable-gtk --disable-vte --disable-opengl --disable-virglrenderer --target-list=x86_64-linux-user --disable-werror --enable-capstone=git --symcc-source=/symcc/ --symcc-build=/symcc/build
[...]
$ make
[...]
CC x86_64-linux-user/trace/control-target.o
CC x86_64-linux-user/gdbstub-xml.o
CC x86_64-linux-user/trace/generated-helpers.o
LINK x86_64-linux-user/symqemu-x86_64
/usr/bin/ld: accel/tcg/tcg-runtime-sym.o: in function `sym_setcond_internal':
/symcc/symqemu/accel/tcg/tcg-runtime-sym.c:618: undefined reference to `_sym_build_bool_to_bits'
collect2: error: ld returned 1 exit status
make[1]: *** [Makefile:209: symqemu-x86_64] Error 1
make: *** [Makefile:472: x86_64-linux-user/all] Error 2
sebastianpoeplau commented
Ah, good point! Someone spotted a bug in the SymCC runtime a few days ago that caused us to change the semantics of _sym_build_bool_to_bits
- we'll have to update SymQEMU's use of the runtime accordingly (and possibly set up a CI pipeline that triggers on runtime changes 🤔).
sebastianpoeplau commented
As a workaround, you can use eurecom-s3/symcc@abd6c3b or older (i.e., before we renamed the function in the runtime).