Package Details: retdec 5.0-2

Git Clone URL: https://aur.archlinux.org/retdec.git (read-only, click to copy)
Package Base: retdec
Description: A retargetable machine-code decompiler based on LLVM
Upstream URL: https://retdec.com/
Licenses: MIT
Submitter: Philzli
Maintainer: kyechou
Last Packager: kyechou
Votes: 1
Popularity: 0.000079
First Submitted: 2019-01-03 16:01 (UTC)
Last Updated: 2024-01-09 20:08 (UTC)

Dependencies (8)

Required by (0)

Sources (3)

Latest Comments

kyechou commented on 2024-01-09 20:08 (UTC)

@MrSoup678 Thanks for letting me know! I've updated the package and the build should be working now.

MrSoup678 commented on 2023-12-25 17:21 (UTC) (edited on 2023-12-25 17:23 (UTC) by MrSoup678)

Yaramod is a implicit dep for retdec, however building that now fails because of lack of <cstdint> include.

In file included from /home/slawomir/.cache/paru/clone/retdec/src/retdec-5.0/build/external/src/yaramod-project/src/types/literal.cpp:11:
/home/slawomir/.cache/paru/clone/retdec/src/retdec-5.0/build/external/src/yaramod-project/include/yaramod/types/literal.h:45:38: error: expected ‘)’ before ‘value’
   45 |         explicit Literal(std::int64_t value, const std::optional<std::string>& integral_formatted_value = std::nullopt);
      |                         ~            ^~~~~~
      |                                      )
/home/slawomir/.cache/paru/clone/retdec/src/retdec-5.0/build/external/src/yaramod-project/include/yaramod/types/literal.h:46:39: error: expected ‘)’ before ‘value’
   46 |         explicit Literal(std::uint64_t value, const std::optional<std::string>& integral_formatted_value = std::nullopt);
      |                         ~             ^~~~~~
      |                                       )
/home/slawomir/.cache/paru/clone/retdec/src/retdec-5.0/build/external/src/yaramod-project/include/yaramod/types/literal.h:72:14: error: ‘int64_t’ in namespace ‘std’ does not name a type
   72 |         std::int64_t getInt() const { return is<std::int64_t>() ? std::get<std::int64_t>(_value) : std::get<std::uint64_t>(_value); }
      |              ^~~~~~~
/home/slawomir/.cache/paru/clone/retdec/src/retdec-5.0/build/external/src/yaramod-project/include/yaramod/types/literal.h:73:14: error: ‘uint64_t’ in namespace ‘std’ does not name a type; did you mean ‘wint_t’?
   73 |         std::uint64_t getUInt() const { return is<std::uint64_t>() ? std::get<std::uint64_t>(_value) : std::get<std::int64_t>(_value); }
      |              ^~~~~~~~
      |              wint_t
/home/slawomir/.cache/paru/clone/retdec/src/retdec-5.0/build/external/src/yaramod-project/include/yaramod/types/literal.h:85:23: error: ‘std::int64_t’ has not been declared
   85 |         void setValue(std::int64_t i, const std::optional<std::string>& integral_formatted_value = std::nullopt);
      |                       ^~~
/home/slawomir/.cache/paru/clone/retdec/src/retdec-5.0/build/external/src/yaramod-project/include/yaramod/types/literal.h:86:23: error: ‘std::uint64_t’ has not been declared
   86 |         void setValue(std::uint64_t i, const std::optional<std::string>& integral_formatted_value = std::nullopt);
      |                       ^~~
/home/slawomir/.cache/paru/clone/retdec/src/retdec-5.0/build/external/src/yaramod-project/include/yaramod/types/literal.h:86:14: error: ‘void yaramod::Literal::setValue(int, const std::optional<std::__cxx11::basic_string<char> >&)’ cannot be overloaded with ‘void yaramod::Literal::setValue(int, const std::optional<std::__cxx11::basic_string<char> >&)’
   86 |         void setValue(std::uint64_t i, const std::optional<std::string>& integral_formatted_value = std::nullopt);
      |              ^~~~~~~~
/home/slawomir/.cache/paru/clone/retdec/src/retdec-5.0/build/external/src/yaramod-project/include/yaramod/types/literal.h:85:14: note: previous declaration ‘void yaramod::Literal::setValue(int, const std::optional<std::__cxx11::basic_string<char> >&)’
   85 |         void setValue(std::int64_t i, const std::optional<std::string>& integral_formatted_value = std::nullopt);
      |              ^~~~~~~~
/home/slawomir/.cache/paru/clone/retdec/src/retdec-5.0/build/external/src/yaramod-project/include/yaramod/types/literal.h:130:46: error: ‘int64_t’ is not a member of ‘std’; did you mean ‘int64_t’?
  130 |         std::variant<std::string, bool, std::int64_t, std::uint64_t, double, std::shared_ptr<Symbol>, ReferenceType> _value; ///< Value used for all literals:
      |                                              ^~~~~~~
In file included from /usr/include/sys/types.h:155,
                 from /usr/include/stdlib.h:514,
                 from /usr/include/c++/13.2.1/cstdlib:79,
                 from /usr/include/c++/13.2.1/bits/stl_algo.h:71,
                 from /usr/include/c++/13.2.1/algorithm:61,
                 from /home/slawomir/.cache/paru/clone/retdec/src/retdec-5.0/build/external/src/yaramod-project/src/types/literal.cpp:7:
/usr/include/bits/stdint-intn.h:27:19: note: ‘int64_t’ declared here
   27 | typedef __int64_t int64_t;
      |                   ^~~~~~~
/home/slawomir/.cache/paru/clone/retdec/src/retdec-5.0/build/external/src/yaramod-project/include/yaramod/types/literal.h:130:60: error: ‘uint64_t’ is not a member of ‘std’; did you mean ‘wint_t’?
  130 |         std::variant<std::string, bool, std::int64_t, std::uint64_t, double, std::shared_ptr<Symbol>, ReferenceType> _value; ///< Value used for all literals:
      |                                                            ^~~~~~~~
      |                                                            wint_t
/home/slawomir/.cache/paru/clone/retdec/src/retdec-5.0/build/external/src/yaramod-project/include/yaramod/types/literal.h:130:116: error: template argument 3 is invalid
  130 |         std::variant<std::string, bool, std::int64_t, std::uint64_t, double, std::shared_ptr<Symbol>, ReferenceType> _value; ///< Value used for all literals:
      |                                                                                                                    ^
/home/slawomir/.cache/paru/clone/retdec/src/retdec-5.0/build/external/src/yaramod-project/include/yaramod/types/literal.h:130:116: error: template argument 4 is invalid
/home/slawomir/.cache/paru/clone/retdec/src/retdec-5.0/build/external/src/yaramod-project/include/yaramod/types/literal.h: In member function ‘bool yaramod::Literal::isInt() const’:
/home/slawomir/.cache/paru/clone/retdec/src/retdec-5.0/build/external/src/yaramod-project/include/yaramod/types/literal.h:62:45: error: ‘int64_t’ is not a member of ‘std’; did you mean ‘int64_t’?
   62 |         bool isInt() const { return is<std::int64_t>() || is<std::uint64_t>(); }
      |                                             ^~~~~~~
/usr/include/bits/stdint-intn.h:27:19: note: ‘int64_t’ declared here
   27 | typedef __int64_t int64_t;
      |                   ^~~~~~~
/home/slawomir/.cache/paru/clone/retdec/src/retdec-5.0/build/external/src/yaramod-project/include/yaramod/types/literal.h:62:53: error: no matching function for call to ‘yaramod::Literal::is<<expression error> >() const’
   62 |         bool isInt() const { return is<std::int64_t>() || is<std::uint64_t>(); }
      |                                     ~~~~~~~~~~~~~~~~^~
/home/slawomir/.cache/paru/clone/retdec/src/retdec-5.0/build/external/src/yaramod-project/include/yaramod/types/literal.h:124:14: note: candidate: ‘template<class T> bool yaramod::Literal::is() const’
  124 |         bool is() const { return std::holds_alternative<T>(_value); }
      |              ^~
/home/slawomir/.cache/paru/clone/retdec/src/retdec-5.0/build/external/src/yaramod-project/include/yaramod/types/literal.h:124:14: note:   template argument deduction/substitution failed:
/home/slawomir/.cache/paru/clone/retdec/src/retdec-5.0/build/external/src/yaramod-project/include/yaramod/types/literal.h:62:53: error: template argument 1 is invalid
   62 |         bool isInt() const { return is<std::int64_t>() || is<std::uint64_t>(); }
      |                                     ~~~~~~~~~~~~~~~~^~
/home/slawomir/.cache/paru/clone/retdec/src/retdec-5.0/build/external/src/yaramod-project/include/yaramod/types/literal.h:62:67: error: ‘uint64_t’ is not a member of ‘std’; did you mean ‘wint_t’?
   62 |         bool isInt() const { return is<std::int64_t>() || is<std::uint64_t>(); }
      |                                                                   ^~~~~~~~
      |                                                                   wint_t
/home/slawomir/.cache/paru/clone/retdec/src/retdec-5.0/build/external/src/yaramod-project/include/yaramod/types/literal.h:62:76: error: no matching function for call to ‘yaramod::Literal::is<<expression error> >() const’
   62 |         bool isInt() const { return is<std::int64_t>() || is<std::uint64_t>(); }
      |                                                           ~~~~~~~~~~~~~~~~~^~
/home/slawomir/.cache/paru/clone/retdec/src/retdec-5.0/build/external/src/yaramod-project/include/yaramod/types/literal.h:124:14: note: candidate: ‘template<class T> bool yaramod::Literal::is() const’
  124 |         bool is() const { return std::holds_alternative<T>(_value); }
      |              ^~
/home/slawomir/.cache/paru/clone/retdec/src/retdec-5.0/build/external/src/yaramod-project/include/yaramod/types/literal.h:124:14: note:   template argument deduction/substitution failed:
/home/slawomir/.cache/paru/clone/retdec/src/retdec-5.0/build/external/src/yaramod-project/include/yaramod/types/literal.h:62:76: error: template argument 1 is invalid
   62 |         bool isInt() const { return is<std::int64_t>() || is<std::uint64_t>(); }
      |                                                           ~~~~~~~~~~~~~~~~~^~
/home/slawomir/.cache/paru/clone/retdec/src/retdec-5.0/build/external/src/yaramod-project/include/yaramod/types/literal.h: In member function ‘const std::string& yaramod::Literal::getString() const’:
/home/slawomir/.cache/paru/clone/retdec/src/retdec-5.0/build/external/src/yaramod-project/include/yaramod/types/literal.h:70:96: error: no matching function for call to ‘get<std::string>(const int&)’
   70 |         const std::string& getString() const { assert(isString()); return std::get<std::string>(_value); }
      |                                                                           ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
In file included from /usr/include/c++/13.2.1/bits/stl_algobase.h:64,
                 from /usr/include/c++/13.2.1/algorithm:60:
/usr/include/c++/13.2.1/bits/stl_pair.h:1035:5: note: candidate: ‘template<long unsigned int _Int, class _Tp1, class _Tp2> constexpr typename std::tuple_element<_Int, std::pair<_Tp1, _Tp2> >::type& std::get(pair<_Tp1, _Tp2>&)’
 1035 |     get(pair<_Tp1, _Tp2>& __in) noexcept
      |     ^~~
/usr/include/c++/13.2.1/bits/stl_pair.h:1035:5: note:   template argument deduction/substitution failed:
/home/slawomir/.cache/paru/clone/retdec/src/retdec-5.0/build/external/src/yaramod-project/include/yaramod/types/literal.h:70:96: error: type/value mismatch at argument 1 in template parameter list for ‘template<long unsigned int _Int, class _Tp1, class _Tp2> constexpr typename std::tuple_element<_Int, std::pair<_Tp1, _Tp2> >::type& std::get(pair<_Tp1, _Tp2>&)’

Encountered this in 4.0 version of retdec (raw github repo for rz-retdec) and apparently this is also the case here.

gmes78 commented on 2020-04-13 19:23 (UTC)

The following error happens during the packaging stage:

-- yarac version '3.8.1' written to '/usr/share/retdec/support/version-yarac.txt'
Cmake Error at support/cmake_install.cmake:85 (file):
  file failed to open for writing (Permisssion denied)

    /usr/share/retdec/support/version-yarac.txt
Call Stack (most recent call first):
  cmake_install.cmake:66 (include)


make: *** [Makefile:138: install] Error 1

krobelus commented on 2019-03-20 08:24 (UTC)

build fails for me; it works with the current master branch from github perhaps version 3.3 works as well