Emulator Issues #2763
closedCompilation Issue
0%
Description
What steps will reproduce the problem?
- Compiling on Mac OS X
What is the expected output? What do you see instead?
The compilation using SCons to complete it
Dolphin version with the problem? Other Dolphin version without the
problem?
The latest one on the SVN
32-bit or 64-bit and any other build parameters?
32bit
OS version and versions of tools/libraries used?
Everything provided in the Wiki, using Snow Leopard 10.6.3
Please provide any additional information below.
I receive this error when trying to compile using SCons
"scons: Building targets ...
Linking shared Binary/Darwin-i386/Dolphin.app/Contents/PlugIns/libPlugin_GCPad.dylib
ld: warning: in /opt/local/lib/libSDLmain.a, file was built for unsupported file format which is not
the architecture being linked (i386)
ld: warning: in /opt/local/lib/libSDL.dylib, file was built for unsupported file format which is not
the architecture being linked (i386)
Undefined symbols:
"_SDL_GetError", referenced from:
InputCommon::SearchDevices(std::vector<InputCommon::CONTROLLER_INFO,
std::allocator<InputCommon::CONTROLLER_INFO> >&, int&, int&)in
libinputcommon.a(SDL_Util.o)
"_SDL_JoystickClose", referenced from:
Close_Devices() in GCPad.os
"_SDL_JoystickNumHats", referenced from:
InputCommon::SearchDevices(std::vector<InputCommon::CONTROLLER_INFO,
std::allocator<InputCommon::CONTROLLER_INFO> >&, int&, int&)in
libinputcommon.a(SDL_Util.o)
"_SDL_JoystickName", referenced from:
InputCommon::SearchDevices(std::vector<InputCommon::CONTROLLER_INFO,
std::allocator<InputCommon::CONTROLLER_INFO> >&, int&, int&)in
libinputcommon.a(SDL_Util.o)
"_SDL_JoystickGetButton", referenced from:
IsKey(int) in GCPad.os
_PAD_GetStatus in GCPad.os
_PAD_GetStatus in GCPad.os
_PAD_GetStatus in GCPad.os
_PAD_GetStatus in GCPad.os
_PAD_GetStatus in GCPad.os
_PAD_GetStatus in GCPad.os
_PAD_GetStatus in GCPad.os
_PAD_GetStatus in GCPad.os
_PAD_GetStatus in GCPad.os
_PAD_GetStatus in GCPad.os
_PAD_GetStatus in GCPad.os
_PAD_GetStatus in GCPad.os
_PAD_GetStatus in GCPad.os
_PAD_GetStatus in GCPad.os
_PAD_GetStatus in GCPad.os
_PAD_GetStatus in GCPad.os
_PAD_GetStatus in GCPad.os
_PAD_GetStatus in GCPad.os
_PAD_GetStatus in GCPad.os
_PAD_GetStatus in GCPad.os
_PAD_GetStatus in GCPad.os
_PAD_GetStatus in GCPad.os
_PAD_GetStatus in GCPad.os
_PAD_GetStatus in GCPad.os
InputCommon::GetButton(_SDL_Joystick*, int, int, int, int, int&, int&, int&, int&, bool&, bool&,
bool, bool, bool, bool, bool, bool)in libinputcommon.a(SDL_Util.o)
InputCommon::GetButton(_SDL_Joystick*, int, int, int, int, int&, int&, int&, int&, bool&, bool&,
bool, bool, bool, bool, bool, bool)in libinputcommon.a(SDL_Util.o)
"_SDL_JoystickUpdate", referenced from:
GetAxisState(CONTROLLER_MAPPING_GC&) in GCPad.os
InputCommon::GetButton(_SDL_Joystick*, int, int, int, int, int&, int&, int&, int&, bool&, bool&,
bool, bool, bool, bool, bool, bool)in libinputcommon.a(SDL_Util.o)
"_SDL_JoystickGetHat", referenced from:
IsKey(int) in GCPad.os
_PAD_GetStatus in GCPad.os
_PAD_GetStatus in GCPad.os
_PAD_GetStatus in GCPad.os
_PAD_GetStatus in GCPad.os
_PAD_GetStatus in GCPad.os
_PAD_GetStatus in GCPad.os
_PAD_GetStatus in GCPad.os
_PAD_GetStatus in GCPad.os
_PAD_GetStatus in GCPad.os
_PAD_GetStatus in GCPad.os
_PAD_GetStatus in GCPad.os
_PAD_GetStatus in GCPad.os
_PAD_GetStatus in GCPad.os
_PAD_GetStatus in GCPad.os
_PAD_GetStatus in GCPad.os
_PAD_GetStatus in GCPad.os
_PAD_GetStatus in GCPad.os
_PAD_GetStatus in GCPad.os
_PAD_GetStatus in GCPad.os
_PAD_GetStatus in GCPad.os
_PAD_GetStatus in GCPad.os
_PAD_GetStatus in GCPad.os
_PAD_GetStatus in GCPad.os
_PAD_GetStatus in GCPad.os
InputCommon::GetButton(_SDL_Joystick*, int, int, int, int, int&, int&, int&, int&, bool&, bool&,
bool, bool, bool, bool, bool, bool)in libinputcommon.a(SDL_Util.o)
"_SDL_JoystickOpened", referenced from:
Close_Devices() in GCPad.os
"_SDL_JoystickOpen", referenced from:
InputCommon::SearchDevices(std::vector<InputCommon::CONTROLLER_INFO,
std::allocator<InputCommon::CONTROLLER_INFO> >&, int&, int&)in
libinputcommon.a(SDL_Util.o)
"_SDL_JoystickGetAxis", referenced from:
GetAxisState(CONTROLLER_MAPPING_GC&) in GCPad.os
GetAxisState(CONTROLLER_MAPPING_GC&) in GCPad.os
GetAxisState(CONTROLLER_MAPPING_GC&) in GCPad.os
GetAxisState(CONTROLLER_MAPPING_GC&) in GCPad.os
GetAxisState(CONTROLLER_MAPPING_GC&) in GCPad.os
GetAxisState(CONTROLLER_MAPPING_GC&) in GCPad.os
InputCommon::GetButton(_SDL_Joystick*, int, int, int, int, int&, int&, int&, int&, bool&, bool&,
bool, bool, bool, bool, bool, bool)in libinputcommon.a(SDL_Util.o)
InputCommon::GetButton(_SDL_Joystick*, int, int, int, int, int&, int&, int&, int&, bool&, bool&,
bool, bool, bool, bool, bool, bool)in libinputcommon.a(SDL_Util.o)
InputCommon::GetButton(_SDL_Joystick*, int, int, int, int, int&, int&, int&, int&, bool&, bool&,
bool, bool, bool, bool, bool, bool)in libinputcommon.a(SDL_Util.o)
InputCommon::GetButton(_SDL_Joystick*, int, int, int, int, int&, int&, int&, int&, bool&, bool&,
bool, bool, bool, bool, bool, bool)in libinputcommon.a(SDL_Util.o)
"_SDL_Quit", referenced from:
_Shutdown in GCPad.os
"_SDL_WasInit", referenced from:
Close_Devices() in GCPad.os
_Shutdown in GCPad.os
InputCommon::SearchDevices(std::vector<InputCommon::CONTROLLER_INFO,
std::allocator<InputCommon::CONTROLLER_INFO> >&, int&, int&)in
libinputcommon.a(SDL_Util.o)
"_SDL_Init", referenced from:
InputCommon::SearchDevices(std::vector<InputCommon::CONTROLLER_INFO,
std::allocator<InputCommon::CONTROLLER_INFO> >&, int&, int&)in
libinputcommon.a(SDL_Util.o)
"_SDL_NumJoysticks", referenced from:
InputCommon::SearchDevices(std::vector<InputCommon::CONTROLLER_INFO,
std::allocator<InputCommon::CONTROLLER_INFO> >&, int&, int&)in
libinputcommon.a(SDL_Util.o)
"_SDL_JoystickNumAxes", referenced from:
InputCommon::SearchDevices(std::vector<InputCommon::CONTROLLER_INFO,
std::allocator<InputCommon::CONTROLLER_INFO> >&, int&, int&)in
libinputcommon.a(SDL_Util.o)
"_SDL_JoystickNumButtons", referenced from:
InputCommon::SearchDevices(std::vector<InputCommon::CONTROLLER_INFO,
std::allocator<InputCommon::CONTROLLER_INFO> >&, int&, int&)in
libinputcommon.a(SDL_Util.o)
"_SDL_JoystickNumBalls", referenced from:
InputCommon::SearchDevices(std::vector<InputCommon::CONTROLLER_INFO,
std::allocator<InputCommon::CONTROLLER_INFO> >&, int&, int&)in
libinputcommon.a(SDL_Util.o)
ld: symbol(s) not found
collect2: ld returned 1 exit status
lipo: can't open input file: /var/tmp//cc9QZUYW.out (No such file or directory)
scons: *** [Binary/Darwin-i386/Dolphin.app/Contents/PlugIns/libPlugin_GCPad.dylib] Error 1
scons: building terminated because of errors."
Updated by Billiard26 over 14 years ago
Don't say "latest one in the svn". Say which revision.
Updated by Sonicadvance1 over 14 years ago
yea, that's soren's fault for forcing universal builds, I have to modify to build
64bit only on my end. I'll add him so he knows his issue
Updated by soren.jorvang over 14 years ago
Universal builds work fine for me with both default settings and nowx.
The submitter's problem appears to be simply a missing "+universal" when building the Macports SDL package.
This is fixed like so, as mentioned on http://code.google.com/p/dolphin-emu/wiki/MacOSX_Build .
sudo port upgrade --enforce-variants glew libsdl scons zlib +universal
Updated by thetacolad over 14 years ago
for future reference, or anyone else that had my problem
after doing entering this command:
"sudo port upgrade --enforce-variants glew libsdl scons zlib +universal"
nothign changed, and I got the problem still
I checked with this command: "port installed glew libsdl scons zlib" to see if they
had the +universal next to them, and only the zlib did. I believe that the command
+universal in the original line only applies it to the zlib. So I ran "sudo port
install glew +universal," then "sudo port install libsdl +universal," etc.
individually and after checking the libraries, they had the +universal next to it.
so if it doesn't work initially, try doing each one individually.
Updated by soren.jorvang over 14 years ago
+universal does apply to all the packages specified, but I guess upgrade only takes --enforce-variants into
account when there's actually anything (other than binary format) to upgrade.