Dolphin, the GameCube and Wii emulator - Forums
Dolphin SVN r4638, r4630- linux compile error - Printable Version

+- Dolphin, the GameCube and Wii emulator - Forums (https://forums.dolphin-emu.org)
+-- Forum: Dolphin Emulator Discussion and Support (https://forums.dolphin-emu.org/Forum-dolphin-emulator-discussion-and-support)
+--- Forum: Development Discussion (https://forums.dolphin-emu.org/Forum-development-discussion)
+--- Thread: Dolphin SVN r4638, r4630- linux compile error (/Thread-dolphin-svn-r4638-r4630-linux-compile-error)



Dolphin SVN r4638, r4630- linux compile error - savour - 11-29-2009

I am trying to compile Dolphin SVN r4628 according to http://code.google.com/p/dolphin-emu/wiki/Linux_dependencies, (lua-dev is missing from the dependencies command).
I am using Ubuntu 9.04 x64, and the gcc version is :
gcc version 4.3.3 (Ubuntu 4.3.3-5ubuntu4)

I am getting the following error :

Code:
...
Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE.cpp: In function 'void WII_IPC_HLE_Interface::Reset(bool)':
Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE.cpp:118: error: no matching function for call to 'std::map<unsigned int, IWII_IPC_HLE_Device*, std::less<unsigned int>, std::allocator<std::pair<const unsigned int, IWII_IPC_HLE_Device*> > >::erase(std::_Rb_tree_const_iterator<std::pair<const unsigned int, IWII_IPC_HLE_Device*> >&, std::_Rb_tree_iterator<std::pair<const unsigned int, IWII_IPC_HLE_Device*> >)'
/usr/include/c++/4.3/bits/stl_map.h:522: note: candidates are: void std::map<_Key, _Tp, _Compare, _Alloc>::erase(typename std::_Rb_tree<_Key, std::pair<const _Key, _Tp>, std::_Select1st<std::pair<const _Key, _Tp> >, _Compare, typename _Alloc::rebind<std::pair<const _Key, _Tp> >::other>::iterator) [with _Key = unsigned int, _Tp = IWII_IPC_HLE_Device*, _Compare = std::less<unsigned int>, _Alloc = std::allocator<std::pair<const unsigned int, IWII_IPC_HLE_Device*> >]
/usr/include/c++/4.3/bits/stl_map.h:537: note:                 typename std::_Rb_tree<_Key, std::pair<const _Key, _Tp>, std::_Select1st<std::pair<const _Key, _Tp> >, _Compare, typename _Alloc::rebind<std::pair<const _Key, _Tp> >::other>::size_type std::map<_Key, _Tp, _Compare, _Alloc>::erase(const _Key&) [with _Key = unsigned int, _Tp = IWII_IPC_HLE_Device*, _Compare = std::less<unsigned int>, _Alloc = std::allocator<std::pair<const unsigned int, IWII_IPC_HLE_Device*> >]
/usr/include/c++/4.3/bits/stl_map.h:552: note:                 void std::map<_Key, _Tp, _Compare, _Alloc>::erase(typename std::_Rb_tree<_Key, std::pair<const _Key, _Tp>, std::_Select1st<std::pair<const _Key, _Tp> >, _Compare, typename _Alloc::rebind<std::pair<const _Key, _Tp> >::other>::iterator, typename std::_Rb_tree<_Key, std::pair<const _Key, _Tp>, std::_Select1st<std::pair<const _Key, _Tp> >, _Compare, typename _Alloc::rebind<std::pair<const _Key, _Tp> >::other>::iterator) [with _Key = unsigned int, _Tp = IWII_IPC_HLE_Device*, _Compare = std::less<unsigned int>, _Alloc = std::allocator<std::pair<const unsigned int, IWII_IPC_HLE_Device*> >]
Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE.cpp: In function 'void WII_IPC_HLE_Interface::Update()':
Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE.cpp:429: warning: NULL used in arithmetic
Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE.cpp:438: warning: NULL used in arithmetic
Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE.cpp:450: warning: declaration of '_Reply' shadows a previous local
Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE.cpp:428: warning: shadowed declaration is here
Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE.cpp:451: warning: NULL used in arithmetic
scons: *** [Build/Linux-x86_64-release/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE.o] Error 1

Googling the error i found, the following posts.
http://gcc.gnu.org/ml/gcc-help/2006-09/msg00322.html
http://www.mail-archive.com/gcc-bugs@gcc.gnu.org/msg270583.html
I am not sure if they are related.

Any help would be appreciated my c++ skills are not at a good state.


RE: Dolphin SVN r4628 - linux compile error - LuisR14 - 11-30-2009

i believe that that is fixed in 4629 Smile


RE: Dolphin SVN r4638, r4630- linux compile error - savour - 11-30-2009

Yes indeed, it was fixed, i updated to r4630
I run into the following error.

Compiling shared Build/Linux-x86_64-release/Source/Plugins/Plugin_Wiimote/Src/FillReport.os
Source/Plugins/Plugin_Wiimote/Src/FillReport.cpp: In function 'int WiiMoteEmu::GetMapKeyState(int)':
Source/Plugins/Plugin_Wiimote/Src/FillReport.cpp:305: error: 'GetAsyncKeyState' was not declared in this scope
scons: *** [Build/Linux-x86_64-release/Source/Plugins/Plugin_Wiimote/Src/FillReport.os] Error 1
scons: building terminated because of errors.


RE: Dolphin SVN r4638, r4630- linux compile error - GorillaMunch - 11-30-2009

clean your solution and then try rebuilding your solution and see if that works.


RE: Dolphin SVN r4638, r4630- linux compile error - benpicco - 11-30-2009

When I try to build revision 4630 on x86_64 Linux, I get
Code:
Compiling shared Build/Linux-x86_64-release/Source/Plugins/Plugin_Wiimote/Src/FillReport.os
Source/Plugins/Plugin_Wiimote/Src/FillReport.cpp: In function 'int WiiMoteEmu::GetMapKeyState(int)':
Source/Plugins/Plugin_Wiimote/Src/FillReport.cpp:305: error: 'GetAsyncKeyState' was not declared in this scope
scons: *** [Build/Linux-x86_64-release/Source/Plugins/Plugin_Wiimote/Src/FillReport.os] Error 1
scons: building terminated because of errors.
GetAsyncKeyState looks like a WindowsAPI function to me