Skip to content

Compiling error in env_linux.cpp #157

@NormalDev

Description

@NormalDev

I'm trying to build maat from source on Windows 10 64bit, I'm using MSYS2 to download z3, LIEF and GMP.
when running

cmake --build build

I encounter a couple of issues during compilation

The first one is an issue while compiling env_linux.cpp at line 45 std::string stdin = fs.get_stdin_for_pid(pinfo.pid);

In file included from /usr/lib/gcc/x86_64-pc-msys/11.3.0/include/c++/cstdio:42,
                 from /usr/lib/gcc/x86_64-pc-msys/11.3.0/include/c++/ext/string_conversions.h:43,
                 from /usr/lib/gcc/x86_64-pc-msys/11.3.0/include/c++/bits/basic_string.h:6608,
                 from /usr/lib/gcc/x86_64-pc-msys/11.3.0/include/c++/string:55,
                 from /c/Users/user/Desktop/prog/SymbolicExe/maat/src/include/maat/expression.hpp:5,
                 from /c/Users/user/Desktop/prog/SymbolicExe/maat/src/include/maat/value.hpp:4,
                 from /c/Users/user/Desktop/prog/SymbolicExe/maat/src/include/maat/env/library.hpp:4,
                 from /c/Users/user/Desktop/prog/SymbolicExe/maat/src/include/maat/env/env.hpp:4,
                 from /c/Users/user/Desktop/prog/SymbolicExe/maat/src/env/env_linux.cpp:1:
/c/Users/user/Desktop/prog/SymbolicExe/maat/src/env/env_linux.cpp: In member function ‘virtual void maat::env::LinuxEmulator::add_running_process(const maat::ProcessInfo&, const string&)’:
/c/Users/user/Desktop/prog/SymbolicExe/maat/src/env/env_linux.cpp:45:17: error: no matching function for call to ‘std::__cxx11::basic_string<char>::basic_string(__FILE*&)’
   45 |     std::string stdin = fs.get_stdin_for_pid(pinfo.pid);
      |

the second one is in /usr/lib/gcc/x86_64-pc-msys/11.3.0/include/c++/type_traits at line 2585

In file included from /usr/lib/gcc/x86_64-pc-msys/11.3.0/include/c++/bits/move.h:57,
                 from /usr/lib/gcc/x86_64-pc-msys/11.3.0/include/c++/bits/stl_pair.h:59,
                 from /usr/lib/gcc/x86_64-pc-msys/11.3.0/include/c++/bits/stl_algobase.h:64,
                 from /usr/lib/gcc/x86_64-pc-msys/11.3.0/include/c++/bits/char_traits.h:39,
                 from /usr/lib/gcc/x86_64-pc-msys/11.3.0/include/c++/string:40,
                 from /c/Users/user/Desktop/prog/SymbolicExe/maat/src/include/maat/expression.hpp:5,
                 from /c/Users/user/Desktop/prog/SymbolicExe/maat/src/include/maat/value.hpp:4,
                 from /c/Users/user/Desktop/prog/SymbolicExe/maat/src/include/maat/env/library.hpp:4,
                 from /c/Users/user/Desktop/prog/SymbolicExe/maat/src/include/maat/env/env.hpp:4,
                 from /c/Users/user/Desktop/prog/SymbolicExe/maat/src/env/env_linux.cpp:1:
/usr/lib/gcc/x86_64-pc-msys/11.3.0/include/c++/type_traits: In substitution of ‘template<bool _Cond, class _Tp> using enable_if_t = typename std::enable_if::type [with bool _Cond = false; _Tp = void]’:
/usr/lib/gcc/x86_64-pc-msys/11.3.0/include/c++/bits/basic_string.h:125:8:   required by substitution of ‘template<class _CharT, class _Traits, class _Alloc> template<class _Tp, class _Res> using _If_sv = std::enable_if_t<std::__and_<std::is_convertible<const _Tp&, std::basic_string_view<_CharT, _Traits> >, std::__not_<std::is_convertible<const _Tp*, const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>*> >, std::__not_<std::is_convertible<const _Tp&, const _CharT*> > >::value, _Res> [with _Tp = __sFILE64*; _Res = void; _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]’
/usr/lib/gcc/x86_64-pc-msys/11.3.0/include/c++/bits/basic_string.h:662:30:   required from here
/usr/lib/gcc/x86_64-pc-msys/11.3.0/include/c++/type_traits:2585:11: error: no type named ‘type’ in ‘struct std::enable_if<false, void>’
 2585 |     using enable_if_t = typename enable_if<_Cond, _Tp>::type;
      |        

I think the problem may be in the first line of env_linux.hpp, the compiler could have an issue including env.hpp

#include "maat/env/env.hpp"

but i'm having trouble finding a solution.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions