New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make error (X32 support) #633

Open
Devdexterity opened this Issue Dec 6, 2017 · 8 comments

Comments

Projects
None yet
5 participants
@Devdexterity

Devdexterity commented Dec 6, 2017

there is an make error [error: ‘__X32_SYSCALL_BIT’ was not declared in this scope]
on [src/CMakeFiles/edb.dir/arch/x86-generic/ArchProcessor.cpp.o] .

and my enviroment is on centos 6.4
-- The CXX compiler identification is GNU 4.8.2
-- Check for working CXX compiler: /opt/rh/devtoolset-2/root/usr/bin/c++
-- Check for working CXX compiler: /opt/rh/devtoolset-2/root/usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Boost version: 1.65.1
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.23")
-- checking for module 'capstone>=3.0.4'
-- found capstone, version 3.0.5
-- checking for module 'libgvc>=2.38.0'
-- package 'libgvc>=2.38.0' not found
-- Performing Test COMPILER_SUPPORTS_CXX11
-- Performing Test COMPILER_SUPPORTS_CXX11 - Success
-- Configuring done
-- Generating done
-- Build files have been written to: /home/dbg/edb-debugger/build

@10110111

This comment has been minimized.

Show comment
Hide comment
@10110111

10110111 Dec 6, 2017

Contributor

Does this command give you anything:

grep '\<__X32_SYSCALL_BIT\>' /usr/include/ -rIl
Contributor

10110111 commented Dec 6, 2017

Does this command give you anything:

grep '\<__X32_SYSCALL_BIT\>' /usr/include/ -rIl
@Devdexterity

This comment has been minimized.

Show comment
Hide comment
@Devdexterity

Devdexterity Dec 6, 2017

thanks a lot!
I've got the released version 0.9.21 and it works fine now.
but i will rollback my VM to confirm if your command could fix that error later, and reply it here then.

Devdexterity commented Dec 6, 2017

thanks a lot!
I've got the released version 0.9.21 and it works fine now.
but i will rollback my VM to confirm if your command could fix that error later, and reply it here then.

@lynxlynx

This comment has been minimized.

Show comment
Hide comment
@lynxlynx

lynxlynx Dec 11, 2017

Same thing,
grep '\<__X32_SYSCALL_BIT\>' /usr/include/ -rIl
does not reveal anything (my headers are a bit old anyway). I did put

#ifndef __X32_SYSCALL_BIT
#define __X32_SYSCALL_BIT 0x40000000
#endif

temporarily into src/arch/x86-generic/ArchProcessor.cpp
to continue.

lynxlynx commented Dec 11, 2017

Same thing,
grep '\<__X32_SYSCALL_BIT\>' /usr/include/ -rIl
does not reveal anything (my headers are a bit old anyway). I did put

#ifndef __X32_SYSCALL_BIT
#define __X32_SYSCALL_BIT 0x40000000
#endif

temporarily into src/arch/x86-generic/ArchProcessor.cpp
to continue.

@eteran eteran changed the title from Make error to Make error (X32 support) Mar 22, 2018

@Qing-zhan

This comment has been minimized.

Show comment
Hide comment
@Qing-zhan

Qing-zhan Aug 13, 2018

Ubuntu 16.04 32bit machine on VMware, errors occurs during make
`
edb-debugger-master/plugins/HardwareBreakpoints/HardwareBreakpoints.cpp:284:98: error: no matching function for call to 'QMenu::addAction(QString, HardwareBreakpointsPlugin::HardwareBreakpoints::data_context_menu()::<lambda()>)'
auto rw1 = menu->addAction(tr("Hardware, On Read/Write #1"), this, { set_access(Register1); });

In file included from /usr/include/i386-linux-gnu/qt5/QtWidgets/QMenu:1:0,
note: candidate: QAction* QMenu::addAction(const QString&) QAction *addAction(const QString &text);
`
I just post a glimplse of these errors, which main focus on addAction() parameters mismatch. I googled that this is because my Qt version is 5.5, and should be updated to 5.6 or later. While, I installed Qt using command 'sudo apt-get install qt5-default qtcreator', and the default version is 5.5.1. I also find that Qt 5.11 doesn't supply 32bit installer under Linux.
I temporarily commentted all the addAction() in HardwareBreakpoints.cpp, and the make went successfully.

Qing-zhan commented Aug 13, 2018

Ubuntu 16.04 32bit machine on VMware, errors occurs during make
`
edb-debugger-master/plugins/HardwareBreakpoints/HardwareBreakpoints.cpp:284:98: error: no matching function for call to 'QMenu::addAction(QString, HardwareBreakpointsPlugin::HardwareBreakpoints::data_context_menu()::<lambda()>)'
auto rw1 = menu->addAction(tr("Hardware, On Read/Write #1"), this, { set_access(Register1); });

In file included from /usr/include/i386-linux-gnu/qt5/QtWidgets/QMenu:1:0,
note: candidate: QAction* QMenu::addAction(const QString&) QAction *addAction(const QString &text);
`
I just post a glimplse of these errors, which main focus on addAction() parameters mismatch. I googled that this is because my Qt version is 5.5, and should be updated to 5.6 or later. While, I installed Qt using command 'sudo apt-get install qt5-default qtcreator', and the default version is 5.5.1. I also find that Qt 5.11 doesn't supply 32bit installer under Linux.
I temporarily commentted all the addAction() in HardwareBreakpoints.cpp, and the make went successfully.

@10110111

This comment has been minimized.

Show comment
Hide comment
@10110111

10110111 Aug 13, 2018

Contributor

You can install Qt 5.10.1 using this repo on Ubuntu Xenial. But frankly, these errors have nothing to do with this issue, which is about x32.

Contributor

10110111 commented Aug 13, 2018

You can install Qt 5.10.1 using this repo on Ubuntu Xenial. But frankly, these errors have nothing to do with this issue, which is about x32.

@Qing-zhan

This comment has been minimized.

Show comment
Hide comment
@Qing-zhan

Qing-zhan Aug 13, 2018

@10110111 Thanks for the repo. Another question, is it possible to modify this HardwareBreakpoints.cpp source file to adjust to Qt versions 5.x which are less than 5.5 ?

Qing-zhan commented Aug 13, 2018

@10110111 Thanks for the repo. Another question, is it possible to modify this HardwareBreakpoints.cpp source file to adjust to Qt versions 5.x which are less than 5.5 ?

@eteran

This comment has been minimized.

Show comment
Hide comment
@eteran

eteran Aug 13, 2018

Owner

@Qing-zhan Please checkout the latest version from master. When I added the lambdas to that file, I didn't realize that support for them in addAction was added in 5.5, so I rolled it back 3 days ago and it should build again with Qt >= 5.0

Owner

eteran commented Aug 13, 2018

@Qing-zhan Please checkout the latest version from master. When I added the lambdas to that file, I didn't realize that support for them in addAction was added in 5.5, so I rolled it back 3 days ago and it should build again with Qt >= 5.0

@Qing-zhan

This comment has been minimized.

Show comment
Hide comment
@Qing-zhan

Qing-zhan Aug 13, 2018

@eteran yay, it works!!! thanks

Qing-zhan commented Aug 13, 2018

@eteran yay, it works!!! thanks

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment