Project

General

Profile

Actions

Emulator Issues #4356

closed

Compiling fails on Linux with SDL 1.3

Added by dubigrasu about 13 years ago.

Status:
Fixed
Priority:
Normal
Assignee:
% Done:

0%

Operating system:
N/A
Issue type:
Bug
Milestone:
Regression:
No
Relates to usability:
No
Relates to performance:
No
Easy:
No
Relates to maintainability:
No
Regression start:
Fixed in:

Description

What's the problem?

Since revision 7339 I can no longer compile Dolphin with SDL 1.3.

Operating system and version:
32-bit and 64-bit Linux

Build command-line (not on Windows):
For building I'm using the standard method (cmake) as described in Wiki.

Please provide any additional information below.
These are the errors I'm getting at build time:

[ 35%] Building CXX object Source/Core/InputCommon/CMakeFiles/inputcommon.dir/Src/ControllerInterface/ControllerInterface.cpp.o
In file included from /root/dolphin-emu-read-only/Source/Core/InputCommon/Src/ControllerInterface/ControllerInterface.cpp:16:
/root/dolphin-emu-read-only/Source/Core/InputCommon/Src/ControllerInterface/SDL/SDL.h: In constructor ‘ciface::SDL::Joystick::ConstantEffect::ConstantEffect(size_t)’:
/root/dolphin-emu-read-only/Source/Core/InputCommon/Src/ControllerInterface/SDL/SDL.h:89: error: no matching function for call to ‘ControllerInterface::Device::Output::Output(const size_t&)’
/root/dolphin-emu-read-only/Source/Core/InputCommon/Src/ControllerInterface/ControllerInterface.h:97: note: candidates are: ControllerInterface::Device::Output::Output()
/root/dolphin-emu-read-only/Source/Core/InputCommon/Src/ControllerInterface/ControllerInterface.h:97: note: ControllerInterface::Device::Output::Output(const ControllerInterface::Device::Output&)
/root/dolphin-emu-read-only/Source/Core/InputCommon/Src/ControllerInterface/SDL/SDL.h:89: error: uninitialized member ‘ciface::SDL::Joystick::ConstantEffect::m_js’ with ‘const’ type ‘SDL_Joystick* const’
/root/dolphin-emu-read-only/Source/Core/InputCommon/Src/ControllerInterface/SDL/SDL.h: In constructor ‘ciface::SDL::Joystick::RampEffect::RampEffect(size_t)’:
/root/dolphin-emu-read-only/Source/Core/InputCommon/Src/ControllerInterface/SDL/SDL.h:99: error: no matching function for call to ‘ControllerInterface::Device::Output::Output(const size_t&)’
/root/dolphin-emu-read-only/Source/Core/InputCommon/Src/ControllerInterface/ControllerInterface.h:97: note: candidates are: ControllerInterface::Device::Output::Output()
/root/dolphin-emu-read-only/Source/Core/InputCommon/Src/ControllerInterface/ControllerInterface.h:97: note: ControllerInterface::Device::Output::Output(const ControllerInterface::Device::Output&)
/root/dolphin-emu-read-only/Source/Core/InputCommon/Src/ControllerInterface/SDL/SDL.h:99: error: uninitialized member ‘ciface::SDL::Joystick::RampEffect::m_js’ with ‘const’ type ‘SDL_Joystick* const’
make[2]: *** [Source/Core/InputCommon/CMakeFiles/inputcommon.dir/Src/ControllerInterface/ControllerInterface.cpp.o] Error 1
make[1]: *** [Source/Core/InputCommon/CMakeFiles/inputcommon.dir/all] Error 2
make: *** [all] Error 2

Actions #1

Updated by Billiard26 about 13 years ago

  • Status changed from New to Accepted
Actions #2

Updated by Billiard26 about 13 years ago

  • Status changed from Accepted to Work started

Try this patch.

Actions #3

Updated by dubigrasu about 13 years ago

With the patch applied I'm getting another bunch of errors:

[ 35%] Building CXX object Source/Core/InputCommon/CMakeFiles/inputcommon.dir/Src/ControllerInterface/ControllerInterface.cpp.o
In file included from /root/dolphin-emu-read-only/Source/Core/InputCommon/Src/ControllerInterface/ControllerInterface.cpp:16:
/root/dolphin-emu-read-only/Source/Core/InputCommon/Src/ControllerInterface/SDL/SDL.h:43: error: expected ‘;’ before ‘effect’
/root/dolphin-emu-read-only/Source/Core/InputCommon/Src/ControllerInterface/SDL/SDL.h: In constructor ‘ciface::SDL::Joystick::EffectIDState::EffectIDState()’:
/root/dolphin-emu-read-only/Source/Core/InputCommon/Src/ControllerInterface/SDL/SDL.h:41: error: class ‘ciface::SDL::Joystick::EffectIDState’ does not have any field named ‘id’
/root/dolphin-emu-read-only/Source/Core/InputCommon/Src/ControllerInterface/SDL/SDL.h:41: error: class ‘ciface::SDL::Joystick::EffectIDState’ does not have any field named ‘changed’
/root/dolphin-emu-read-only/Source/Core/InputCommon/Src/ControllerInterface/SDL/SDL.h:41: error: class ‘ciface::SDL::Joystick::EffectIDState’ does not have any field named ‘effect’
/root/dolphin-emu-read-only/Source/Core/InputCommon/Src/ControllerInterface/SDL/SDL.h:41: error: expected %<{%> at end of input
/root/dolphin-emu-read-only/Source/Core/InputCommon/Src/ControllerInterface/SDL/SDL.h: At global scope:
/root/dolphin-emu-read-only/Source/Core/InputCommon/Src/ControllerInterface/SDL/SDL.h:50: error: expected class-name before ‘{’ token
/root/dolphin-emu-read-only/Source/Core/InputCommon/Src/ControllerInterface/SDL/SDL.h:61: error: expected class-name before ‘{’ token
/root/dolphin-emu-read-only/Source/Core/InputCommon/Src/ControllerInterface/SDL/SDL.h:73: error: expected class-name before ‘{’ token
/root/dolphin-emu-read-only/Source/Core/InputCommon/Src/ControllerInterface/SDL/SDL.h:86: error: expected class-name before ‘{’ token
/root/dolphin-emu-read-only/Source/Core/InputCommon/Src/ControllerInterface/SDL/SDL.h:89: error: expected ‘)’ before ‘&’ token
/root/dolphin-emu-read-only/Source/Core/InputCommon/Src/ControllerInterface/SDL/SDL.h:93: error: ISO C++ forbids declaration of ‘EffectIDState’ with no type
/root/dolphin-emu-read-only/Source/Core/InputCommon/Src/ControllerInterface/SDL/SDL.h:93: error: expected ‘;’ before ‘&’ token
/root/dolphin-emu-read-only/Source/Core/InputCommon/Src/ControllerInterface/SDL/SDL.h:92: warning: non-static const member ‘SDL_Joystick* const ciface::SDL::ConstantEffect::m_js’ in class without a constructor
/root/dolphin-emu-read-only/Source/Core/InputCommon/Src/ControllerInterface/SDL/SDL.h:97: error: expected class-name before ‘{’ token
/root/dolphin-emu-read-only/Source/Core/InputCommon/Src/ControllerInterface/SDL/SDL.h:100: error: expected ‘)’ before ‘&’ token
/root/dolphin-emu-read-only/Source/Core/InputCommon/Src/ControllerInterface/SDL/SDL.h:104: error: ISO C++ forbids declaration of ‘EffectIDState’ with no type
/root/dolphin-emu-read-only/Source/Core/InputCommon/Src/ControllerInterface/SDL/SDL.h:104: error: expected ‘;’ before ‘&’ token
/root/dolphin-emu-read-only/Source/Core/InputCommon/Src/ControllerInterface/SDL/SDL.h:103: warning: non-static const member ‘SDL_Joystick* const ciface::SDL::RampEffect::m_js’ in class without a constructor
/root/dolphin-emu-read-only/Source/Core/InputCommon/Src/ControllerInterface/SDL/SDL.h:108: error: expected unqualified-id before ‘public’
/root/dolphin-emu-read-only/Source/Core/InputCommon/Src/ControllerInterface/SDL/SDL.h:112: error: expected ‘)’ before ‘*’ token
/root/dolphin-emu-read-only/Source/Core/InputCommon/Src/ControllerInterface/SDL/SDL.h:113: error: expected constructor, destructor, or type conversion before ‘;’ token
/root/dolphin-emu-read-only/Source/Core/InputCommon/Src/ControllerInterface/SDL/SDL.h:115: error: non-member function ‘std::string ciface::SDL::GetName()’ cannot have cv-qualifier
/root/dolphin-emu-read-only/Source/Core/InputCommon/Src/ControllerInterface/SDL/SDL.h:116: error: non-member function ‘int ciface::SDL::GetId()’ cannot have cv-qualifier
/root/dolphin-emu-read-only/Source/Core/InputCommon/Src/ControllerInterface/SDL/SDL.h:117: error: non-member function ‘std::string ciface::SDL::GetSource()’ cannot have cv-qualifier
/root/dolphin-emu-read-only/Source/Core/InputCommon/Src/ControllerInterface/SDL/SDL.h:119: error: expected unqualified-id before ‘private’
/root/dolphin-emu-read-only/Source/Core/InputCommon/Src/ControllerInterface/SDL/SDL.h:121: error: uninitialized const ‘ciface::SDL::m_sdl_index’
/root/dolphin-emu-read-only/Source/Core/InputCommon/Src/ControllerInterface/SDL/SDL.h:122: error: uninitialized const ‘ciface::SDL::m_index’
/root/dolphin-emu-read-only/Source/Core/InputCommon/Src/ControllerInterface/SDL/SDL.h:125: error: expected constructor, destructor, or type conversion before ‘<’ token
/root/dolphin-emu-read-only/Source/Core/InputCommon/Src/ControllerInterface/SDL/SDL.h:131: error: expected declaration before ‘}’ token
make[2]: *** [Source/Core/InputCommon/CMakeFiles/inputcommon.dir/Src/ControllerInterface/ControllerInterface.cpp.o] Error 1
make[1]: *** [Source/Core/InputCommon/CMakeFiles/inputcommon.dir/all] Error 2
make: *** [all] Error 2

Actions #4

Updated by Billiard26 about 13 years ago

I had some stupid syntax errors.
Try this one :p

Actions #5

Updated by dubigrasu about 13 years ago

Man you're fast! :)
OK, this is what I'm getting this time:

[ 35%] Building CXX object Source/Core/InputCommon/CMakeFiles/inputcommon.dir/Src/ControllerInterface/ControllerInterface.cpp.o
In file included from /root/dolphin-emu-read-only/Source/Core/InputCommon/Src/ControllerInterface/ControllerInterface.cpp:16:
/root/dolphin-emu-read-only/Source/Core/InputCommon/Src/ControllerInterface/SDL/SDL.h:125: error: ISO C++ forbids declaration of ‘list’ with no type
/root/dolphin-emu-read-only/Source/Core/InputCommon/Src/ControllerInterface/SDL/SDL.h:125: error: invalid use of ‘::’
/root/dolphin-emu-read-only/Source/Core/InputCommon/Src/ControllerInterface/SDL/SDL.h:125: error: expected ‘;’ before ‘<’ token
/root/dolphin-emu-read-only/Source/Core/InputCommon/Src/ControllerInterface/SDL/SDL.h: In constructor ‘ciface::SDL::Joystick::EffectIDState::EffectIDState()’:
/root/dolphin-emu-read-only/Source/Core/InputCommon/Src/ControllerInterface/SDL/SDL.h:45: warning: ‘ciface::SDL::Joystick::EffectIDState::changed’ will be initialized after
/root/dolphin-emu-read-only/Source/Core/InputCommon/Src/ControllerInterface/SDL/SDL.h:43: warning: ‘SDL_HapticEffect ciface::SDL::Joystick::EffectIDState::effect’
/root/dolphin-emu-read-only/Source/Core/InputCommon/Src/ControllerInterface/SDL/SDL.h:41: warning: when initialized here
/root/dolphin-emu-read-only/Source/Core/InputCommon/Src/ControllerInterface/SDL/SDL.h: In constructor ‘ciface::SDL::Joystick::ConstantEffect::ConstantEffect(ciface::SDL::Joystick::EffectIDState&)’:
/root/dolphin-emu-read-only/Source/Core/InputCommon/Src/ControllerInterface/SDL/SDL.h:89: error: uninitialized member ‘ciface::SDL::Joystick::ConstantEffect::m_js’ with ‘const’ type ‘SDL_Joystick* const’
/root/dolphin-emu-read-only/Source/Core/InputCommon/Src/ControllerInterface/SDL/SDL.h: In constructor ‘ciface::SDL::Joystick::RampEffect::RampEffect(ciface::SDL::Joystick::EffectIDState&)’:
/root/dolphin-emu-read-only/Source/Core/InputCommon/Src/ControllerInterface/SDL/SDL.h:100: error: uninitialized member ‘ciface::SDL::Joystick::RampEffect::m_js’ with ‘const’ type ‘SDL_Joystick* const’
make[2]: *** [Source/Core/InputCommon/CMakeFiles/inputcommon.dir/Src/ControllerInterface/ControllerInterface.cpp.o] Error 1
make[1]: *** [Source/Core/InputCommon/CMakeFiles/inputcommon.dir/all] Error 2
make: *** [all] Error 2

Actions #6

Updated by Billiard26 about 13 years ago

Ok, I really think this one will work. :p
(I'm too lazy to set up SDL 1.3 and test myself)

Actions #7

Updated by dubigrasu about 13 years ago

Bingo! You're the MAN :)

This time everything went well, I've also tested a bit my joysticks to see if everything is in order.

Thank you, I'll drink tomorrow a beer for you :)

Actions #8

Updated by Billiard26 about 13 years ago

  • Status changed from Work started to Fixed

:p Thanks. I'll commit it.

Actions

Also available in: Atom PDF