Hi,
I am trying to build the latest version of s2e and got a compilation error. This build is based on:
commit 60a21a84fa1ab4754c1067f4efa3188feba59dcb (HEAD -> master, s2e/master, m/master)
Merge: 7e2e73b 560119d
Author: Vitaly Chipounov <
vita...@users.noreply.github.com>
Date: Sun Jan 22 14:05:18 2023 +0100
Merge pull request #70 from S2E/issue/xxx-qmp
Upgraded qmp library to that of qemu 7.2
and the error message is:
% s2e build
INFO: [build] Building S2E (release) in /home/chenghung/s2e/build
make: Entering directory '/home/chenghung/s2e/build'
INFO: [sh.command] <Command '/usr/bin/make --directory=/home/chenghung/s2e/build --file=/home/chenghung/s2e/source/Makefile install', pid 625945>: process started
cd libq-release && cmake -DCMAKE_MODULE_PATH=/home/chenghung/s2e/source/s2e/cmake -DCMAKE_C_COMPILER=/home/chenghung/s2e/install/bin/clang -DCMAKE_CXX_COMPILER=/home/chenghung/s2e/install/bin/clang++ -DCMAKE_C_FLAGS="-march=native" -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_CXX_FLAGS="-march=native" /home/chenghung/s2e/source/s2e/libq
-- Configuring done
-- Generating done
-- Build files have been written to: /home/chenghung/s2e/build/libq-release
touch stamps/libq-release-configure
make -j6 -C libq-release
make[1]: Entering directory '/home/chenghung/s2e/build/libq-release'
make[2]: Entering directory '/home/chenghung/s2e/build/libq-release'
make[3]: Entering directory '/home/chenghung/s2e/build/libq-release'
Scanning dependencies of target q
make[3]: Leaving directory '/home/chenghung/s2e/build/libq-release'
make[3]: Entering directory '/home/chenghung/s2e/build/libq-release'
[ 11%] Building C object src/CMakeFiles/q.dir/qobject/json-parser.c.o
[ 11%] Building C object src/CMakeFiles/q.dir/qobject/json-writer.c.o
[ 11%] Building C object src/CMakeFiles/q.dir/qobject/json-lexer.c.o
[ 11%] Building C object src/CMakeFiles/q.dir/qobject/json-streamer.c.o
[ 13%] Building C object src/CMakeFiles/q.dir/qobject/qbool.c.o
[ 16%] Building C object src/CMakeFiles/q.dir/qobject/qdict.c.o
[ 19%] Building C object src/CMakeFiles/q.dir/qobject/qjson.c.o
[ 22%] Building C object src/CMakeFiles/q.dir/qobject/qlist.c.o
[ 25%] Building C object src/CMakeFiles/q.dir/qobject/qlit.c.o
[ 27%] Building C object src/CMakeFiles/q.dir/qobject/qnull.c.o
[ 30%] Building C object src/CMakeFiles/q.dir/qobject/qnum.c.o
[ 33%] Building C object src/CMakeFiles/q.dir/qobject/qobject.c.o
[ 36%] Building C object src/CMakeFiles/q.dir/qobject/qstring.c.o
[ 38%] Building C object src/CMakeFiles/q.dir/qapi/qobject-output-visitor.c.o
[ 41%] Building C object src/CMakeFiles/q.dir/qapi/qobject-input-visitor.c.o
[ 44%] Building C object src/CMakeFiles/q.dir/qapi/qapi-forward-visitor.c.o
[ 47%] Building C object src/CMakeFiles/q.dir/qapi/qapi-visit-core.c.o
[ 50%] Building C object src/CMakeFiles/q.dir/qapi/qapi-util.c.o
[ 52%] Building C object src/CMakeFiles/q.dir/error.c.o
[ 55%] Building C object src/CMakeFiles/q.dir/unicode.c.o
[ 58%] Building C object src/CMakeFiles/q.dir/cutils.c.o
/home/chenghung/s2e/source/s2e/libq/src/error.c:53:23: error: use of undeclared identifier 'errno'; did you mean 'errp'?
int saved_errno = errno;
^~~~~
errp
/home/chenghung/s2e/source/s2e/libq/src/error.c:50:32: note: 'errp' declared here
static void error_setv(Error **errp, const char *src, int line, const char *func, ErrorClass err_class, const char *fmt,
^
/home/chenghung/s2e/source/s2e/libq/src/error.c:53:9: error: incompatible pointer to integer conversion initializing 'int' with an expression of type 'Error **' (aka 'struct Error **') [-Werror,-Wint-conversion]
int saved_errno = errno;
^ ~~~~~
/home/chenghung/s2e/source/s2e/libq/src/error.c:75:5: error: use of undeclared identifier 'errno'
errno = saved_errno;
^
/home/chenghung/s2e/source/s2e/libq/src/error.c:98:23: error: use of undeclared identifier 'errno'; did you mean 'errp'?
int saved_errno = errno;
^~~~~
errp
/home/chenghung/s2e/source/s2e/libq/src/error.c:95:40: note: 'errp' declared here
void error_setg_errno_internal(Error **errp, const char *src, int line, const char *func, int os_errno, const char *fmt,
^
/home/chenghung/s2e/source/s2e/libq/src/error.c:98:9: error: incompatible pointer to integer conversion initializing 'int' with an expression of type 'Error **' (aka 'struct Error **') [-Werror,-Wint-conversion]
int saved_errno = errno;
^ ~~~~~
/home/chenghung/s2e/source/s2e/libq/src/error.c:104:5: error: use of undeclared identifier 'errno'
errno = saved_errno;
^
/home/chenghung/s2e/source/s2e/libq/src/error.c:136:23: error: use of undeclared identifier 'errno'; did you mean 'errp'?
int saved_errno = errno;
^~~~~
errp
/home/chenghung/s2e/source/s2e/libq/src/error.c:134:38: note: 'errp' declared here
void error_append_hint(Error *const *errp, const char *fmt, ...) {
^
/home/chenghung/s2e/source/s2e/libq/src/error.c:136:9: error: incompatible pointer to integer conversion initializing 'int' with an expression of type 'Error *const *' (aka 'struct Error *const *') [-Werror,-Wint-conversion]
int saved_errno = errno;
^ ~~~~~
/home/chenghung/s2e/source/s2e/libq/src/error.c:152:5: error: use of undeclared identifier 'errno'
errno = saved_errno;
^
9 errors generated.
make[3]: *** [src/CMakeFiles/q.dir/build.make:297: src/CMakeFiles/q.dir/error.c.o] Error 1
make[3]: *** Waiting for unfinished jobs....
make[3]: Leaving directory '/home/chenghung/s2e/build/libq-release'
make[2]: *** [CMakeFiles/Makefile2:297: src/CMakeFiles/q.dir/all] Error 2
make[2]: Leaving directory '/home/chenghung/s2e/build/libq-release'
make[1]: *** [Makefile:84: all] Error 2
make[1]: Leaving directory '/home/chenghung/s2e/build/libq-release'
make: *** [/home/chenghung/s2e/source/scripts//..//s2e/Makefile:210: stamps/libq-release-make] Error 2
make: Leaving directory '/home/chenghung/s2e/build'
ERROR: [build]
Best,
Yukinari