panda-re / lava

LAVA: Large-scale Automated Vulnerability Addition
Other
371 stars 60 forks source link

[make --no-print-directory -j4 -C fbi install] cmd did not execute properly #23

Closed ZanderChang closed 5 years ago

ZanderChang commented 5 years ago

When I ran python2 setup.py -s(I have built the docker last time), I met problem like below. I have installed libodb-dev libodb-pgsql-dev but it didn't work. Would you please tell me how can I fix this.

[ 63%] Built target lavaDB_x64 Scanning dependencies of target lava-odb_x64 [ 72%] Building CXX object lavaODB/src/CMakeFiles/lava-odb_x64.dir//generated/lava-odb.cxx.o /home/zander/lava/tools/lavaODB/generated/lava-odb.cxx: In static member function ‘static bool odb::access::object_traits_impl<Bug, (odb::database_id)2u>::init(odb::access::object_traits_impl<Bug, (odb::database_id)2u>::image_type&, const object_type&, odb::pgsql::statement_kind)’: /home/zander/lava/tools/lavaODB/generated/lava-odb.cxx:5869:11: error: invalid initialization of reference of type ‘const std::vector&’ from expression of type ‘const std::vector’ o.extra_duas; ^ /home/zander/lava/tools/lavaODB/generated/lava-odb.cxx:5880:10: error: no matching function for call to ‘odb::pgsql::value_traits<std::vector, (odb::pgsql::database_type_id)10u>::set_image(odb::details::buffer&, std::size_t&, bool&, const std::vector&)’ v); ^ In file included from /usr/local/include/odb/pgsql/query.hxx:19:0, from /usr/local/include/odb/pgsql/database.hxx:20, from /home/zander/lava/tools/lavaODB/src/../include/pgarray.hxx:5, from /home/zander/lava/tools/lavaODB/generated/lava-odb.cxx:7: /usr/local/include/odb/pgsql/traits.hxx:371:7: note: candidate: static void odb::pgsql::default_value_traits<T, >::set_image(odb::pgsql::default_value_traits<T, >::image_type&, bool&, T) [with T = std::vector; odb::pgsql::database_type_id ID = (odb::pgsql::database_type_id)10u; odb::pgsql::default_value_traits<T, >::image_type = odb::details::basic_buffer] set_image (image_type& i, bool& is_null, T v) ^ /usr/local/include/odb/pgsql/traits.hxx:371:7: note: candidate expects 3 arguments, 4 provided /home/zander/lava/tools/lavaODB/generated/lava-odb.cxx: In static member function ‘static void odb::access::object_traits_impl<Bug, (odb::database_id)2u>::init(odb::access::object_traits::object_type&, const odb::access::object_traits_impl<Bug, (odb::database_id)2u>::image_type&, odb::database*)’: /home/zander/lava/tools/lavaODB/generated/lava-odb.cxx:6051:11: error: invalid initialization of reference of type ‘std::vector&’ from expression of type ‘std::vector’ o.extra_duas; ^ /home/zander/lava/tools/lavaODB/generated/lava-odb.cxx:6059:26: error: no matching function for call to ‘odb::pgsql::value_traits<std::vector, (odb::pgsql::database_type_id)10u>::set_value(std::vector&, const buffer&, const size_t&, const bool&)’ i.extra_duas_null); ^ In file included from /usr/local/include/odb/pgsql/query.hxx:19:0, from /usr/local/include/odb/pgsql/database.hxx:20, from /home/zander/lava/tools/lavaODB/src/../include/pgarray.hxx:5, from /home/zander/lava/tools/lavaODB/generated/lava-odb.cxx:7: /usr/local/include/odb/pgsql/traits.hxx:362:7: note: candidate: static void odb::pgsql::default_value_traits<T, >::set_value(T&, const image_type&, bool) [with T = std::vector; odb::pgsql::database_type_id ID = (odb::pgsql::database_type_id)10u; odb::pgsql::default_value_traits<T, >::image_type = odb::details::basic_buffer] set_value (T& v, const image_type& i, bool is_null) ^ /usr/local/include/odb/pgsql/traits.hxx:362:7: note: candidate expects 3 arguments, 4 provided /usr/local/include/odb/pgsql/traits.hxx: In instantiation of ‘static void odb::pgsql::default_value_traits<T, >::set_image(odb::pgsql::default_value_traits<T, >::image_type&, bool&, T) [with T = std::vector; odb::pgsql::database_type_id ID = (odb::pgsql::database_type_id)10u; odb::pgsql::default_value_traits<T, >::image_type = odb::details::basic_buffer]’: /home/zander/lava/tools/lavaODB/generated/lava-odb.cxx:5876:31: required from here /usr/local/include/odb/pgsql/traits.hxx:374:42: error: no matching function for call to ‘odb::details::basic_buffer::basic_buffer(std::vector&)’ i = details::endian_traits::hton (image_type (v)); ^ In file included from /usr/local/include/odb/pgsql/traits.hxx:24:0, from /usr/local/include/odb/pgsql/query.hxx:19, from /usr/local/include/odb/pgsql/database.hxx:20, from /home/zander/lava/tools/lavaODB/src/../include/pgarray.hxx:5, from /home/zander/lava/tools/lavaODB/generated/lava-odb.cxx:7: /usr/local/include/odb/details/buffer.hxx:52:7: note: candidate: odb::details::basic_buffer::basic_buffer(std::size_t) [with T = char; std::size_t = long unsigned int] basic_buffer (std::size_t capacity = 256) ^ /usr/local/include/odb/details/buffer.hxx:52:7: note: no known conversion for argument 1 from ‘std::vector’ to ‘std::size_t {aka long unsigned int}’ /usr/local/include/odb/details/buffer.hxx:49:11: note: candidate: constexpr odb::details::basic_buffer::basic_buffer(const odb::details::basic_buffer&) class basic_buffer: public basic_buffer_base ^ /usr/local/include/odb/details/buffer.hxx:49:11: note: no known conversion for argument 1 from ‘std::vector’ to ‘const odb::details::basic_buffer&’ /usr/local/include/odb/details/buffer.hxx:49:11: note: candidate: constexpr odb::details::basic_buffer::basic_buffer(odb::details::basic_buffer&&) /usr/local/include/odb/details/buffer.hxx:49:11: note: no known conversion for argument 1 from ‘std::vector’ to ‘odb::details::basic_buffer&&’ In file included from /usr/local/include/odb/pgsql/query.hxx:19:0, from /usr/local/include/odb/pgsql/database.hxx:20, from /home/zander/lava/tools/lavaODB/src/../include/pgarray.hxx:5, from /home/zander/lava/tools/lavaODB/generated/lava-odb.cxx:7: /usr/local/include/odb/pgsql/traits.hxx: In instantiation of ‘static void odb::pgsql::default_value_traits<T, >::set_value(T&, const image_type&, bool) [with T = std::vector; odb::pgsql::database_type_id ID = (odb::pgsql::database_type_id)10u; odb::pgsql::default_value_traits<T, >::image_type = odb::details::basic_buffer]’: /home/zander/lava/tools/lavaODB/generated/lava-odb.cxx:6055:31: required from here /usr/local/include/odb/pgsql/traits.hxx:365:13: error: no matching function for call to ‘std::vector::vector(odb::details::basic_buffer)’ v = T (details::endian_traits::ntoh (i)); ^ In file included from /usr/include/c++/5/vector:64:0, from /usr/local/include/odb/transaction.hxx:10, from /usr/local/include/odb/database.ixx:9, from /usr/local/include/odb/database.hxx:631, from /usr/local/include/odb/pgsql/database.hxx:14, from /home/zander/lava/tools/lavaODB/src/../include/pgarray.hxx:5, from /home/zander/lava/tools/lavaODB/generated/lava-odb.cxx:7: /usr/include/c++/5/bits/stl_vector.h:401:9: note: candidate: template<class _InputIterator, class> std::vector<_Tp, _Alloc>::vector(_InputIterator, _InputIterator, const allocator_type&) vector(_InputIterator first, _InputIterator last, ^ /usr/include/c++/5/bits/stl_vector.h:401:9: note: template argument deduction/substitution failed: In file included from /usr/local/include/odb/pgsql/query.hxx:19:0, from /usr/local/include/odb/pgsql/database.hxx:20, from /home/zander/lava/tools/lavaODB/src/../include/pgarray.hxx:5, from /home/zander/lava/tools/lavaODB/generated/lava-odb.cxx:7: /usr/local/include/odb/pgsql/traits.hxx:365:13: note: candidate expects 3 arguments, 1 provided v = T (details::endian_traits::ntoh (i)); ^ In file included from /usr/include/c++/5/vector:64:0, from /usr/local/include/odb/transaction.hxx:10, from /usr/local/include/odb/database.ixx:9, from /usr/local/include/odb/database.hxx:631, from /usr/local/include/odb/pgsql/database.hxx:14, from /home/zander/lava/tools/lavaODB/src/../include/pgarray.hxx:5, from /home/zander/lava/tools/lavaODB/generated/lava-odb.cxx:7: /usr/include/c++/5/bits/stl_vector.h:373:7: note: candidate: std::vector<_Tp, _Alloc>::vector(std::initializer_list<_Tp>, const allocator_type&) [with _Tp = long long unsigned int; _Alloc = std::allocator; std::vector<_Tp, _Alloc>::allocator_type = std::allocator] vector(initializer_list l, ^ /usr/include/c++/5/bits/stl_vector.h:373:7: note: no known conversion for argument 1 from ‘odb::details::basic_buffer’ to ‘std::initializer_list’ /usr/include/c++/5/bits/stl_vector.h:348:7: note: candidate: std::vector<_Tp, _Alloc>::vector(std::vector<_Tp, _Alloc>&&, const allocator_type&) [with _Tp = long long unsigned int; _Alloc = std::allocator; std::vector<_Tp, _Alloc>::allocator_type = std::allocator] vector(vector&& rv, const allocator_type& m) ^ /usr/include/c++/5/bits/stl_vector.h:348:7: note: candidate expects 2 arguments, 1 provided /usr/include/c++/5/bits/stl_vector.h:339:7: note: candidate: std::vector<_Tp, _Alloc>::vector(const std::vector<_Tp, _Alloc>&, const allocator_type&) [with _Tp = long long unsigned int; _Alloc = std::allocator; std::vector<_Tp, _Alloc>::allocator_type = std::allocator] vector(const vector& x, const allocator_type& a) ^ /usr/include/c++/5/bits/stl_vector.h:339:7: note: candidate expects 2 arguments, 1 provided /usr/include/c++/5/bits/stl_vector.h:335:7: note: candidate: std::vector<_Tp, _Alloc>::vector(std::vector<_Tp, _Alloc>&&) [with _Tp = long long unsigned int; _Alloc = std::allocator] vector(vector&& x) noexcept ^ /usr/include/c++/5/bits/stl_vector.h:335:7: note: no known conversion for argument 1 from ‘odb::details::basic_buffer’ to ‘std::vector&&’ /usr/include/c++/5/bits/stl_vector.h:318:7: note: candidate: std::vector<_Tp, _Alloc>::vector(const std::vector<_Tp, _Alloc>&) [with _Tp = long long unsigned int; _Alloc = std::allocator] vector(const vector& x) ^ /usr/include/c++/5/bits/stl_vector.h:318:7: note: no known conversion for argument 1 from ‘odb::details::basic_buffer’ to ‘const std::vector&’ /usr/include/c++/5/bits/stl_vector.h:289:7: note: candidate: std::vector<_Tp, _Alloc>::vector(std::vector<_Tp, _Alloc>::size_type, const value_type&, const allocator_type&) [with _Tp = long long unsigned int; _Alloc = std::allocator; std::vector<_Tp, _Alloc>::size_type = long unsigned int; std::vector<_Tp, _Alloc>::value_type = long long unsigned int; std::vector<_Tp, _Alloc>::allocator_type = std::allocator] vector(size_type n, const value_type& __value, ^ /usr/include/c++/5/bits/stl_vector.h:289:7: note: candidate expects 3 arguments, 1 provided /usr/include/c++/5/bits/stl_vector.h:277:7: note: candidate: std::vector<_Tp, _Alloc>::vector(std::vector<_Tp, _Alloc>::size_type, const allocator_type&) [with _Tp = long long unsigned int; _Alloc = std::allocator; std::vector<_Tp, _Alloc>::size_type = long unsigned int; std::vector<_Tp, _Alloc>::allocator_type = std::allocator] vector(size_type n, const allocator_type& a = allocator_type()) ^ /usr/include/c++/5/bits/stl_vector.h:277:7: note: no known conversion for argument 1 from ‘odb::details::basic_buffer’ to ‘std::vector::size_type {aka long unsigned int}’ /usr/include/c++/5/bits/stl_vector.h:264:7: note: candidate: std::vector<_Tp, _Alloc>::vector(const allocator_type&) [with _Tp = long long unsigned int; _Alloc = std::allocator; std::vector<_Tp, _Alloc>::allocator_type = std::allocator] vector(const allocator_type& a) _GLIBCXX_NOEXCEPT ^ /usr/include/c++/5/bits/stl_vector.h:264:7: note: no known conversion for argument 1 from ‘odb::details::basic_buffer’ to ‘const allocator_type& {aka const std::allocator&}’ /usr/include/c++/5/bits/stl_vector.h:253:7: note: candidate: std::vector<_Tp, _Alloc>::vector() [with _Tp = long long unsigned int; _Alloc = std::allocator] vector() ^ /usr/include/c++/5/bits/stl_vector.h:253:7: note: candidate expects 0 arguments, 1 provided In file included from /usr/local/include/odb/pgsql/traits.hxx:31:0, from /usr/local/include/odb/pgsql/query.hxx:19, from /usr/local/include/odb/pgsql/database.hxx:20, from /home/zander/lava/tools/lavaODB/src/../include/pgarray.hxx:5, from /home/zander/lava/tools/lavaODB/generated/lava-odb.cxx:7: /usr/local/include/odb/pgsql/details/endian-traits.hxx: In instantiation of ‘static T odb::pgsql::details::endian_traits::ntoh(T) [with T = odb::details::basic_buffer]’: /usr/local/include/odb/pgsql/traits.hxx:365:47: required from ‘static void odb::pgsql::default_value_traits<T, >::set_value(T&, const image_type&, bool) [with T = std::vector; odb::pgsql::database_type_id ID = (odb::pgsql::database_type_id)10u; odb::pgsql::default_value_traits<T, >::image_type = odb::details::basic_buffer]’ /home/zander/lava/tools/lavaODB/generated/lava-odb.cxx:6055:31: required from here /usr/local/include/odb/pgsql/details/endian-traits.hxx:149:64: error: incomplete type ‘odb::pgsql::details::swap_endian<odb::details::basic_buffer, 16ul>’ used in nested name specifier return host_endian == big ? x : swap_endian::swap (x); ^ lavaODB/src/CMakeFiles/lava-odb_x64.dir/build.make:75: recipe for target 'lavaODB/src/CMakeFiles/lava-odb_x64.dir/__/generated/lava-odb.cxx.o' failed make[2]: [lavaODB/src/CMakeFiles/lava-odb_x64.dir/__/generated/lava-odb.cxx.o] Error 1 CMakeFiles/Makefile2:138: recipe for target 'lavaODB/src/CMakeFiles/lava-odb_x64.dir/all' failed make[1]: [lavaODB/src/CMakeFiles/lava-odb_x64.dir/all] Error 2 Makefile:127: recipe for target 'all' failed make: *** [all] Error 2

[setup.py] [make --no-print-directory -j4 -C fbi install] cmd did not execute properly.

ZanderChang commented 5 years ago

Solved by sudo apt-get install odb

marvi3 commented 1 year ago

Thank you so much! After litterally weeks and more than 30 hours of trying to get it run, this was the last puzzlestone I needed!