Git Product home page Git Product logo

Comments (6)

0vercl0k avatar 0vercl0k commented on June 8, 2024

Hey there,

Yeah, I'm currently doing quite some changes in rp++ and I'm testing all of
those only on Windows at the moment.
So I'm not really surprised to see errors when compiling with g++ ; I will
make sure that it compiles on other platforms when my changes for the v2
will be ready.
The latest version of rp++ I know successfully compiling on Linux is this
one: https://github.com/0vercl0k/rp/releases

Cheers,
0vercl0k

2014-05-15 10:50 GMT+01:00 Wenlei Zhu [email protected]:

Hi, could you provide the instructions to build rp++? I used to compile
without errors, but when I pulled the latest commit today, things started
going wrong showed as follows:

[ 4%] Building CXX object CMakeFiles/rp-lin-x64.dir/src/macho.cpp.o
/usr/bin/c++ -Wall -O2 -static -s -Wl,-z,relro,-z,now -fstack-protector-all -m64 -O3 -DNDEBUG -I/root/tools/rp/./src/inc -I/root/tools/rp/./lib/beaengine/inc -I/root/tools/rp/./lib/argtable2/inc -I/root/tools/rp/./lib/capstone/inc -o CMakeFiles/rp-lin-x64.dir/src/macho.cpp.o -c /root/tools/rp/src/macho.cpp
In file included from /root/tools/rp/./src/inc/toolbox.hpp:28:0,
from /root/tools/rp/./src/inc/macho_struct.hpp:24,
from /root/tools/rp/./src/inc/macho.hpp:23,
from /root/tools/rp/src/macho.cpp:20:
/root/tools/rp/./src/inc/gadget.hpp:70:19: error: ‘shared_ptr’ is not a member of ‘std’
std::liststd::shared_ptr get_instructions(void);
^
/root/tools/rp/./src/inc/gadget.hpp:70:19: error: ‘shared_ptr’ is not a member of ‘std’
/root/tools/rp/./src/inc/gadget.hpp:70:70: error: a function call cannot appear in a constant-expression
std::liststd::shared_ptr get_instructions(void);
^
/root/tools/rp/./src/inc/gadget.hpp:70:70: error: template argument 1 is invalid
/root/tools/rp/./src/inc/gadget.hpp:70:70: error: template argument 2 is invalid
/root/tools/rp/./src/inc/gadget.hpp:107:14: error: ‘shared_ptr’ in namespace ‘std’ does not name a template type
std::shared_ptr get_ending_instruction(void);
^
/root/tools/rp/./src/inc/gadget.hpp:115:40: error: ‘shared_ptr’ in namespace ‘std’ does not name a template type
bool operator()(const std::shared_ptr g, const std::shared_ptr d) const
^
/root/tools/rp/./src/inc/gadget.hpp:115:50: error: expected ‘,’ or ‘...’ before ‘<’ token
bool operator()(const std::shared_ptr g, const std::shared_ptr d) const
^
/root/tools/rp/./src/inc/gadget.hpp:127:19: error: ‘shared_ptr’ is not a member of ‘std’
std::liststd::shared_ptr m_instructions; /!< the list of the different instructions composing the gadget/
^
/root/tools/rp/./src/inc/gadget.hpp:127:19: error: ‘shared_ptr’ is not a member of ‘std’
/root/tools/rp/./src/inc/gadget.hpp:127:49: error: ‘m_instructions’ was not declared in this scope
std::liststd::shared_ptr m_instructions; /!< the list of the different instructions composing the gadget/
^
/root/tools/rp/./src/inc/gadget.hpp:127:49: error: template argument 1 is invalid
/root/tools/rp/./src/inc/gadget.hpp:127:49: error: template argument 2 is invalid
/root/tools/rp/./src/inc/gadget.hpp: In member function ‘bool Gadget::Sort::operator()(int) const’:
/root/tools/rp/./src/inc/gadget.hpp:117:24: error: ‘g’ was not declared in this scope
return g->get_disassembly() < d->get_disassembly();
^
/root/tools/rp/./src/inc/gadget.hpp:117:47: error: ‘d’ was not declared in this scope
return g->get_disassembly() < d->get_disassembly();
^
In file included from /root/tools/rp/./src/inc/macho_struct.hpp:24:0,
from /root/tools/rp/./src/inc/macho.hpp:23,
from /root/tools/rp/src/macho.cpp:20:
/root/tools/rp/./src/inc/toolbox.hpp: At global scope:
/root/tools/rp/./src/inc/toolbox.hpp:98:40: error: ‘shared_ptr’ is not a member of ‘std’
void only_unique_gadgets(std::multisetstd::shared_ptr<Gadget, Gadget::Sort> &list_gadgets, std::setstd::shared_ptr<Gadget, Gadget::Sort> &unique_gadgets);
^
/root/tools/rp/./src/inc/toolbox.hpp:98:40: error: ‘shared_ptr’ is not a member of ‘std’
/root/tools/rp/./src/inc/toolbox.hpp:98:62: error: template argument 1 is invalid
void only_unique_gadgets(std::multisetstd::shared_ptr<Gadget, Gadget::Sort> &list_gadgets, std::setstd::shared_ptr<Gadget, Gadget::Sort> &unique_gadgets);
^
/root/tools/rp/./src/inc/toolbox.hpp:98:62: error: template argument 2 is invalid
/root/tools/rp/./src/inc/toolbox.hpp:98:62: error: template argument 3 is invalid
/root/tools/rp/./src/inc/toolbox.hpp:98:40: error: ‘shared_ptr’ is not a member of ‘std’
void only_unique_gadgets(std::multisetstd::shared_ptr<Gadget, Gadget::Sort> &list_gadgets, std::setstd::shared_ptr<Gadget, Gadget::Sort> &unique_gadgets);
^
/root/tools/rp/./src/inc/toolbox.hpp:98:40: error: ‘shared_ptr’ is not a member of ‘std’
/root/tools/rp/./src/inc/toolbox.hpp:98:62: error: template argument 1 is invalid
void only_unique_gadgets(std::multisetstd::shared_ptr<Gadget, Gadget::Sort> &list_gadgets, std::setstd::shared_ptr<Gadget, Gadget::Sort> &unique_gadgets);
^
/root/tools/rp/./src/inc/toolbox.hpp:98:62: error: template argument 2 is invalid
/root/tools/rp/./src/inc/toolbox.hpp:98:62: error: template argument 3 is invalid
/root/tools/rp/./src/inc/toolbox.hpp:98:31: error: variable or field ‘only_unique_gadgets’ declared void
void only_unique_gadgets(std::multisetstd::shared_ptr<Gadget, Gadget::Sort> &list_gadgets, std::setstd::shared_ptr<Gadget, Gadget::Sort> &unique_gadgets);
^
/root/tools/rp/./src/inc/toolbox.hpp:98:40: error: ‘shared_ptr’ is not a member of ‘std’
void only_unique_gadgets(std::multisetstd::shared_ptr<Gadget, Gadget::Sort> &list_gadgets, std::setstd::shared_ptr<Gadget, Gadget::Sort> &unique_gadgets);
^
/root/tools/rp/./src/inc/toolbox.hpp:98:40: error: ‘shared_ptr’ is not a member of ‘std’
/root/tools/rp/./src/inc/toolbox.hpp:98:62: error: template argument 1 is invalid
void only_unique_gadgets(std::multisetstd::shared_ptr<Gadget, Gadget::Sort> &list_gadgets, std::setstd::shared_ptr<Gadget, Gadget::Sort> &unique_gadgets);
^
/root/tools/rp/./src/inc/toolbox.hpp:98:62: error: template argument 2 is invalid
/root/tools/rp/./src/inc/toolbox.hpp:98:62: error: template argument 3 is invalid
/root/tools/rp/./src/inc/toolbox.hpp:98:77: error: expected primary-expression before ‘>’ token
void only_unique_gadgets(std::multisetstd::shared_ptr<Gadget, Gadget::Sort> &list_gadgets, std::setstd::shared_ptr<Gadget, Gadget::Sort> &unique_gadgets);
^
/root/tools/rp/./src/inc/toolbox.hpp:98:80: error: ‘list_gadgets’ was not declared in this scope
void only_unique_gadgets(std::multisetstd::shared_ptr<Gadget, Gadget::Sort> &list_gadgets, std::setstd::shared_ptr<Gadget, Gadget::Sort> &unique_gadgets);
^
/root/tools/rp/./src/inc/toolbox.hpp:98:103: error: ‘shared_ptr’ is not a member of ‘std’
void only_unique_gadgets(std::multisetstd::shared_ptr<Gadget, Gadget::Sort> &list_gadgets, std::setstd::shared_ptr<Gadget, Gadget::Sort> &unique_gadgets);
^
/root/tools/rp/./src/inc/toolbox.hpp:98:103: error: ‘shared_ptr’ is not a member of ‘std’
/root/tools/rp/./src/inc/toolbox.hpp:98:125: error: template argument 1 is invalid
void only_unique_gadgets(std::multisetstd::shared_ptr<Gadget, Gadget::Sort> &list_gadgets, std::setstd::shared_ptr<Gadget, Gadget::Sort> &unique_gadgets);
^
/root/tools/rp/./src/inc/toolbox.hpp:98:125: error: template argument 2 is invalid
/root/tools/rp/./src/inc/toolbox.hpp:98:125: error: template argument 3 is invalid
/root/tools/rp/./src/inc/toolbox.hpp:98:140: error: expected primary-expression before ‘>’ token
void only_unique_gadgets(std::multisetstd::shared_ptr<Gadget, Gadget::Sort> &list_gadgets, std::setstd::shared_ptr<Gadget, Gadget::Sort> &unique_gadgets);
^
/root/tools/rp/./src/inc/toolbox.hpp:98:143: error: ‘unique_gadgets’ was not declared in this scope
void only_unique_gadgets(std::multisetstd::shared_ptr<Gadget, Gadget::Sort> &list_gadgets, std::setstd::shared_ptr<Gadget, Gadget::Sort> &unique_gadgets);
^
In file included from /root/tools/rp/./src/inc/macho.hpp:23:0,
from /root/tools/rp/src/macho.cpp:20:
/root/tools/rp/./src/inc/macho_struct.hpp:273:25: error: ‘shared_ptr’ is not a member of ‘std’
virtual std::vectorstd::shared_ptr

get_executable_section(std::ifstream &file) = 0;
^
/root/tools/rp/./src/inc/macho_struct.hpp:273:25: error: ‘shared_ptr’ is not a member of ‘std’
/root/tools/rp/./src/inc/macho_struct.hpp:273:93: error: a function call cannot appear in a constant-expression
virtual std::vectorstd::shared_ptr
get_executable_section(std::ifstream &file) = 0;
^
/root/tools/rp/./src/inc/macho_struct.hpp:273:97: error: an assignment cannot appear in a constant-expression
virtual std::vectorstd::shared_ptr
get_executable_section(std::ifstream &file) = 0;
^
/root/tools/rp/./src/inc/macho_struct.hpp:273:97: error: template argument 1 is invalid
/root/tools/rp/./src/inc/macho_struct.hpp:273:97: error: template argument 2 is invalid
/root/tools/rp/./src/inc/macho_struct.hpp:273:18: error: ‘virtual’ can only be specified for functions
virtual std::vectorstd::shared_ptr
get_executable_section(std::ifstream &file) = 0;
^
/root/tools/rp/./src/inc/macho_struct.hpp:282:17: error: ‘shared_ptr’ is not a member of ‘std’
std::vectorstd::shared_ptr<RP_SEGMENT_COMMAND> seg_commands;
^
/root/tools/rp/./src/inc/macho_struct.hpp:282:17: error: ‘shared_ptr’ is not a member of ‘std’
/root/tools/rp/./src/inc/macho_struct.hpp:282:53: error: ‘>>’ should be ‘> >’ within a nested template argument list
std::vectorstd::shared_ptr<RP_SEGMENT_COMMAND> seg_commands;
^
/root/tools/rp/./src/inc/macho_struct.hpp:282:53: error: template argument 1 is invalid
/root/tools/rp/./src/inc/macho_struct.hpp:282:53: error: template argument 2 is invalid
/root/tools/rp/./src/inc/macho_struct.hpp:282:55: error: expected unqualified-id before ‘>’ token
std::vectorstd::shared_ptr<RP_SEGMENT_COMMAND> seg_commands;
^
/root/tools/rp/./src/inc/macho_struct.hpp:283:17: error: ‘shared_ptr’ is not a member of ‘std’
std::vectorstd::shared_ptr<RP_SECTION> sections;
^
/root/tools/rp/./src/inc/macho_struct.hpp:283:17: error: ‘shared_ptr’ is not a member of ‘std’
/root/tools/rp/./src/inc/macho_struct.hpp:283:45: error: ‘>>’ should be ‘> >’ within a nested template argument list
std::vectorstd::shared_ptr<RP_SECTION> sections;
^
/root/tools/rp/./src/inc/macho_struct.hpp:283:45: error: template argument 1 is invalid
/root/tools/rp/./src/inc/macho_struct.hpp:283:45: error: template argument 2 is invalid
/root/tools/rp/./src/inc/macho_struct.hpp:283:47: error: expected unqualified-id before ‘>’ token
std::vectorstd::shared_ptr<RP_SECTION> sections;
^
/root/tools/rp/./src/inc/macho_struct.hpp:285:34: error: ‘shared_ptr’ is not a member of ‘std’
typedef typename std::vectorstd::shared_ptr<RP_SECTION>::const_iterator iter_rp_section;
^
/root/tools/rp/./src/inc/macho_struct.hpp:285:34: error: ‘shared_ptr’ is not a member of ‘std’
/root/tools/rp/./src/inc/macho_struct.hpp:285:62: error: ‘>>’ should be ‘> >’ within a nested template argument list
typedef typename std::vectorstd::shared_ptr<RP_SECTION>::const_iterator iter_rp_section;
^
/root/tools/rp/./src/inc/macho_struct.hpp:285:62: error: template argument 1 is invalid
/root/tools/rp/./src/inc/macho_struct.hpp:285:62: error: template argument 2 is invalid
/root/tools/rp/./src/inc/macho_struct.hpp:285:64: error: expected identifier before ‘>’ token
typedef typename std::vectorstd::shared_ptr<RP_SECTION>::const_iterator iter_rp_section;
^
/root/tools/rp/./src/inc/macho_struct.hpp:285:64: error: expected unqualified-id before ‘>’ token
/root/tools/rp/./src/inc/macho_struct.hpp:286:34: error: ‘shared_ptr’ is not a member of ‘std’
typedef typename std::vectorstd::shared_ptr<RP_SEGMENT_COMMAND>::const_iterator iter_rp_segment;
^
/root/tools/rp/./src/inc/macho_struct.hpp:286:34: error: ‘shared_ptr’ is not a member of ‘std’
/root/tools/rp/./src/inc/macho_struct.hpp:286:70: error: ‘>>’ should be ‘> >’ within a nested template argument list
typedef typename std::vectorstd::shared_ptr<RP_SEGMENT_COMMAND>::const_iterator iter_rp_segment;
^
/root/tools/rp/./src/inc/macho_struct.hpp:286:70: error: template argument 1 is invalid
/root/tools/rp/./src/inc/macho_struct.hpp:286:70: error: template argument 2 is invalid
/root/tools/rp/./src/inc/macho_struct.hpp:286:72: error: expected identifier before ‘>’ token
typedef typename std::vectorstd::shared_ptr<RP_SEGMENT_COMMAND>::const_iterator iter_rp_segment;
^
/root/tools/rp/./src/inc/macho_struct.hpp:286:72: error: expected unqualified-id before ‘>’ token
In file included from /root/tools/rp/./src/inc/macho.hpp:23:0,
from /root/tools/rp/src/macho.cpp:20:
/root/tools/rp/./src/inc/macho_struct.hpp:358:17: error: ‘shared_ptr’ is not a member of ‘std’
std::vectorstd::shared_ptr
get_executable_section(std::ifstream &file)
^
/root/tools/rp/./src/inc/macho_struct.hpp:358:17: error: ‘shared_ptr’ is not a member of ‘std’
/root/tools/rp/./src/inc/macho_struct.hpp:358:85: error: a function call cannot appear in a constant-expression
std::vectorstd::shared_ptr
get_executable_section(std::ifstream &file)
^
/root/tools/rp/./src/inc/macho_struct.hpp:358:85: error: template argument 1 is invalid
/root/tools/rp/./src/inc/macho_struct.hpp:358:85: error: template argument 2 is invalid
/root/tools/rp/./src/inc/macho_struct.hpp:359:5: error: expected unqualified-id before ‘{’ token
{
^
/root/tools/rp/src/macho.cpp:106:1: error: expected ‘}’ at end of input
}
^
In file included from /root/tools/rp/./src/inc/macho.hpp:23:0,
from /root/tools/rp/src/macho.cpp:20:
/root/tools/rp/./src/inc/macho_struct.hpp: In member function ‘void MachoArchLayout::fill_structures(std::ifstream&)’:
/root/tools/rp/./src/inc/macho_struct.hpp:317:21: error: ‘shared_ptr’ is not a member of ‘std’
std::shared_ptr<RP_SEGMENT_COMMAND> seg_cmd = std::make_shared<RP_SEGMENT_COMMAND>();
^
/root/tools/rp/./src/inc/macho_struct.hpp:317:57: error: spurious ‘>>’, use ‘>’ to terminate a template argument list
std::shared_ptr<RP_SEGMENT_COMMAND> seg_cmd = std::make_shared<RP_SEGMENT_COMMAND>();
^
/root/tools/rp/./src/inc/macho_struct.hpp:317:60: error: expected primary-expression before ‘seg_cmd’
std::shared_ptr<RP_SEGMENT_COMMAND> seg_cmd = std::make_shared<RP_SEGMENT_COMMAND>();
^
/root/tools/rp/./src/inc/macho_struct.hpp:319:38: error: ‘seg_cmd’ was not declared in this scope
file.read((char_)seg_cmd.get(), sizeof(RP_SEGMENT_COMMAND));
^
/root/tools/rp/./src/inc/macho_struct.hpp:320:21: error: ‘seg_commands’ was not declared in this scope
seg_commands.push_back(seg_cmd);
^
/root/tools/rp/./src/inc/macho_struct.hpp:322:66: error: there are no arguments to ‘_stricmp’ that depend on a template parameter, so a declaration of ‘stricmp’ must be available [-fpermissive]
if(stricmp((char)seg_cmd->segname, "_TEXT") == 0)
^
/root/tools/rp/./src/inc/macho_struct.hpp:322:66: note: (if you use ‘-fpermissive’, G++ will accept your code, but allowing the use of an undeclared name is deprecated)
/root/tools/rp/./src/inc/macho_struct.hpp:333:25: error: ‘shared_ptr’ is not a member of ‘std’
std::shared_ptr<RP_SECTION> sect = std::make_shared<RP_SECTION>();
^
/root/tools/rp/./src/inc/macho_struct.hpp:333:53: error: spurious ‘>>’, use ‘>’ to terminate a template argument list
std::shared_ptr<RP_SECTION> sect = std::make_shared<RP_SECTION>();
^
/root/tools/rp/./src/inc/macho_struct.hpp:333:56: error: expected primary-expression before ‘sect’
std::shared_ptr<RP_SECTION> sect = std::make_shared<RP_SECTION>();
^
/root/tools/rp/./src/inc/macho_struct.hpp:335:42: error: ‘sect’ was not declared in this scope
file.read((char
)sect.get(), sizeof(RP_SECTION));
^
/root/tools/rp/./src/inc/macho_struct.hpp:336:25: error: ‘sections’ was not declared in this scope
sections.push_back(sect);
^
In file included from /root/tools/rp/./src/inc/macho.hpp:23:0,
from /root/tools/rp/src/macho.cpp:20:
/root/tools/rp/./src/inc/macho_struct.hpp: At global scope:
/root/tools/rp/./src/inc/macho_struct.hpp:356:5: error: expected unqualified-id at end of input
}
^
CMakeFiles/rp-lin-x64.dir/build.make:57: recipe for target 'CMakeFiles/rp-lin-x64.dir/src/macho.cpp.o' failed
make[2]: *
* [CMakeFiles/rp-lin-x64.dir/src/macho.cpp.o] Error 1
CMakeFiles/Makefile2:63: recipe for target 'CMakeFiles/rp-lin-x64.dir/all' failed
make[1]: *** [CMakeFiles/rp-lin-x64.dir/all] Error 2
Makefile:75: recipe for target 'all' failed
make: *** [all] Error 2
:( rp # /usr/bin/c++ -std=c++0x -Wall -O2 -static -s -Wl,-z,relro,-z,now -fstack-protector-all -m64 -O3 -DNDEBUG -I/root/tools/rp/./src/inc -I/root/tools/rp/./lib/beaengine/inc -I/root/tools/rp/./lib/argtable2/inc -I/root/tools/rp/./lib/capstone/inc -o CMakeFiles/rp-lin-x64.dir/src/macho.cpp.o -c /root/tools/rp/src/macho.cpp
In file included from /root/tools/rp/./src/inc/macho.hpp:23:0,
from /root/tools/rp/src/macho.cpp:20:
/root/tools/rp/./src/inc/macho_struct.hpp: In member function ‘void MachoArchLayout::fill_structures(std::ifstream&)’:
/root/tools/rp/./src/inc/macho_struct.hpp:322:66: error: there are no arguments to ‘_stricmp’ that depend on a template parameter, so a declaration of ‘_stricmp’ must be available [-fpermissive]
if(stricmp((char)seg_cmd->segname, "__TEXT") == 0)
^
/root/tools/rp/./src/inc/macho_struct.hpp:322:66: note: (if you use ‘-fpermissive’, G++ will accept your code, but allowing the use of an undeclared name is deprecated)
/root/tools/rp/./src/inc/macho_struct.hpp: In instantiation of ‘void MachoArchLayout::fill_structures(std::ifstream&) [with T = unsigned int; std::ifstream = std::basic_ifstream]’:
/root/tools/rp/src/macho.cpp:106:1: required from here
/root/tools/rp/./src/inc/macho_struct.hpp:322:66: error: ‘_stricmp’ was not declared in this scope
In file included from /root/tools/rp/./src/inc/macho.hpp:23:0,
from /root/tools/rp/src/macho.cpp:20:
/root/tools/rp/./src/inc/macho_struct.hpp: In instantiation of ‘std::vectorstd::shared_ptr
MachoArchLayout::get_executable_section(std::ifstream&) [with T = unsigned int; std::ifstream = std::basic_ifstream]’:
/root/tools/rp/src/macho.cpp:106:1: required from here
/root/tools/rp/./src/inc/macho_struct.hpp:371:17: error: cannot bind packed field ‘(& it.__gnu_cxx::__normal_iterator<Iterator, Container>::operator<const std::shared_ptr<RP_SECTION >, std::vector<std::shared_ptr<RP_SECTION >, std::allocator<std::shared_ptr<RP_SECTION > > > >())->std::shared_ptr<RP_SECTION >::.std::__shared_ptr<_Tp, _Lp>::operator-><RP_SECTION, (__gnu_cxx::_Lock_policy)2u>()->RP_SECTION::offset’ to ‘unsigned int&’
);
^
In file included from /root/tools/rp/./src/inc/macho.hpp:23:0,
from /root/tools/rp/src/macho.cpp:20:
/root/tools/rp/./src/inc/macho_struct.hpp: In instantiation of ‘void MachoArchLayout::fill_structures(std::ifstream&) [with T = long long unsigned int; std::ifstream = std::basic_ifstream]’:
/root/tools/rp/src/macho.cpp:106:1: required from here
/root/tools/rp/./src/inc/macho_struct.hpp:322:66: error: ‘_stricmp’ was not declared in this scope
if(stricmp((char)seg_cmd->segname, "__TEXT") == 0)
^
In file included from /root/tools/rp/./src/inc/macho.hpp:23:0,
from /root/tools/rp/src/macho.cpp:20:
/root/tools/rp/./src/inc/macho_struct.hpp: In instantiation of ‘std::vectorstd::shared_ptr
MachoArchLayout::get_executable_section(std::ifstream&) [with T = long long unsigned int; std::ifstream = std::basic_ifstream]’:
/root/tools/rp/src/macho.cpp:106:1: required from here
/root/tools/rp/./src/inc/macho_struct.hpp:371:17: error: cannot bind packed field ‘(& it.__gnu_cxx::__normal_iterator<Iterator, Container>::operator<const std::shared_ptr<RP_SECTION >, std::vector<std::shared_ptr<RP_SECTION >, std::allocator<std::shared_ptr<RP_SECTION > > > >())->std::shared_ptr<RP_SECTION >::.std::__shared_ptr<_Tp, _Lp>::operator-><RP_SECTION, (__gnu_cxx::_Lock_policy)2u>()->RP_SECTION::offset’ to ‘unsigned int&’
);
^

Thanks.


Reply to this email directly or view it on GitHubhttps://github.com//issues/1
.

from rp.

0vercl0k avatar 0vercl0k commented on June 8, 2024

Hello again,

You should be now able to build rp on linux x86/amd64 with this revision: https://github.com/0vercl0k/rp/tree/891ebb07c0bacf5342dd8ad83c3d37192fd413b3 ; if not ping me :).
Although, keep in mind this is not an "official" release, I haven't made enough testing to be sure all is running smoothly so use it at your own risk!

Cheers,
0vercl0k

from rp.

zTrix avatar zTrix commented on June 8, 2024

Hi, I can compile now. Thank you very much!

Still a little problem here. When I run

$ cd rp
$ cmake -f CmakeLists.txt
$ make

I have to apply the following patch to make it able to find the libs (beaengine, argtable and capstone)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 65d30f2..ec01585 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -86,19 +86,19 @@ add_executable(
 add_library(beaengine STATIC IMPORTED)
 set_property(
     TARGET beaengine PROPERTY
-    IMPORTED_LOCATION ../lib/beaengine/bin/${BEA_LIBRARY}
+    IMPORTED_LOCATION ./lib/beaengine/bin/${BEA_LIBRARY}
 )

 add_library(argtable2 STATIC IMPORTED)
 set_property(
     TARGET argtable2 PROPERTY
-    IMPORTED_LOCATION ../lib/argtable2/bin/${ARGTABLE_LIBRARY}
+    IMPORTED_LOCATION ./lib/argtable2/bin/${ARGTABLE_LIBRARY}
 )

 add_library(capstone STATIC IMPORTED)
 set_property(
     TARGET capstone PROPERTY
-    IMPORTED_LOCATION ../lib/capstone/bin/${CAPSTONE_LIBRARY}
+    IMPORTED_LOCATION ./lib/capstone/bin/${CAPSTONE_LIBRARY}
 )

 target_link_libraries(

And strange enough, the generated rp-lin-x64 is put into "../bin/". Why does this happen?

from rp.

0vercl0k avatar 0vercl0k commented on June 8, 2024

Cool!
I guess your issue is from where you are invoking CMake ; you should create
let's say a directory "build" at the root of the rp++ tree & from there you
can launch cmake .. && make :)
That should fix your problems!

Cheers,
0vercl0k

2014-05-19 11:57 GMT+01:00 Wenlei Zhu [email protected]:

Hi, I can compile now. Thank you very much!

Still a little problem here. When I run

$ cd rp
$ cmake -f CmakeLists.txt
$ make

I have to apply the following patch to make it able to find the libs
(beaengine, argtable and capstone)

diff --git a/CMakeLists.txt b/CMakeLists.txtindex 65d30f2..ec01585 100644--- a/CMakeLists.txt+++ b/CMakeLists.txt@@ -86,19 +86,19 @@ add_executable(
add_library(beaengine STATIC IMPORTED)
set_property(
TARGET beaengine PROPERTY- IMPORTED_LOCATION ../lib/beaengine/bin/${BEA_LIBRARY}+ IMPORTED_LOCATION ./lib/beaengine/bin/${BEA_LIBRARY}
)

add_library(argtable2 STATIC IMPORTED)
set_property(
TARGET argtable2 PROPERTY- IMPORTED_LOCATION ../lib/argtable2/bin/${ARGTABLE_LIBRARY}+ IMPORTED_LOCATION ./lib/argtable2/bin/${ARGTABLE_LIBRARY}
)

add_library(capstone STATIC IMPORTED)
set_property(
TARGET capstone PROPERTY- IMPORTED_LOCATION ../lib/capstone/bin/${CAPSTONE_LIBRARY}+ IMPORTED_LOCATION ./lib/capstone/bin/${CAPSTONE_LIBRARY}
)

target_link_libraries(

And strange enough, the generated rp-lin-x64 is put into "../bin/". Why
does this happen?


Reply to this email directly or view it on GitHubhttps://github.com//issues/1#issuecomment-43488755
.

from rp.

zTrix avatar zTrix commented on June 8, 2024

Very good. I'll try that.

Thanks again.

from rp.

0vercl0k avatar 0vercl0k commented on June 8, 2024

I'll make sure to include a build directory with a little script that
lanches cmake .. && make in the next release ; it will be clearer for
everyone like that :)

2014-05-19 12:12 GMT+01:00 Wenlei Zhu [email protected]:

Closed #1 #1.


Reply to this email directly or view it on GitHubhttps://github.com//issues/1#event-122411751
.

from rp.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.