report a build error with the up-to-date s2e

33 views
Skip to first unread message

Yukinari

unread,
Jan 30, 2023, 6:08:55 PM1/30/23
to S2E Developer Forum
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

Vitaly Chipounov

unread,
Jan 30, 2023, 7:36:18 PM1/30/23
to s2e...@googlegroups.com
Hi,

Looks like #include <errno.h> is missing in error.c. Please add, rebuild, then send a PR.

Vitaly

--
You received this message because you are subscribed to the Google Groups "S2E Developer Forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email to s2e-dev+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/s2e-dev/61c8daed-7ba1-48e4-a676-5edfad1996c7n%40googlegroups.com.
Reply all
Reply to author
Forward
0 new messages