Project

General

Profile

Actions

Emulator Issues #79

closed

Build on MacOS 10.5.4 Intel with macports

Added by smuckola over 16 years ago.

Status:
Fixed
Priority:
Low
Assignee:
% Done:

0%

Operating system:
OS X
Issue type:
Task
Milestone:
Regression:
No
Relates to usability:
Yes
Relates to performance:
No
Easy:
No
Relates to maintainability:
No
Regression start:
Fixed in:

Description

Hi there! I have MacOS 10.5.4 Intel, XCode 3.1 (gcc 4.0.1), and MacPorts
1.6. The latest of everything. I just tried building Dolphin svn 93. I'm
not a programmer so I can't deal with this directly. If someone wants to
correspond with me via IRC, I'll facilitate whatever you want, including
possible ssh access. I'm not yet successful at running the 32-bit svn
Windows binary in wine 1.1.1 either. Thanks!

See the attached file.

Actions #1

Updated by smuckola over 16 years ago

I'll take any instructions you wanna give, such as patches or basic modifications,
that don't require me to know how to directly write new code or understand internal
programming concepts. One other guy and I did port Mupen64 0.5.1 to MacOS a year
ago, and I'm involved in mupen64plus on MacOS, so I do okay. Thanks!

Actions #2

Updated by hrydgard over 16 years ago

  • Issue type changed from Bug to Task
  • Priority changed from Normal to Low

That's a weird error. Maybe you can convince that guy who helped you port Mupen to
help port Dolphin?

Actions #3

Updated by tmator over 16 years ago

Hi,
I laucn dolphin on osx 10.5.3.
Just the opengl plugin can't compile.

Actions #4

Updated by tmator over 16 years ago

sorry, not 10.5.3 but 10.5.4

Actions #5

Updated by Sonicadvance1 over 16 years ago

I looked at the error in the first post, revision 100 should fix that. As for the GL
plugin, that's going to take a bit more work.

Actions #6

Updated by tmator over 16 years ago

Nice,

next error :

g++ -o Source/Core/Core/Src/Core.o -c -g -O3 -fno-strict-aliasing -fPIC -msse2 -Wall
-DLOGGING -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -g -O3 -fno-strict-aliasing
-fPIC -msse2 -Wall -DLOGGING -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
-ISource/Core/Common/Src -ISource/Core/DiscIO/Src -ISource/PluginSpecs -ISource
-ISource/Core/Core/Src -ISource/Core/DebuggerWX/src -IExternals/Bochs_disasm
-ISource/Core/VideoCommon/Src Source/Core/Core/Src/Core.cpp
Source/Core/Common/Src/Thread.h:40: error: 'pthread_mutex_t' does not name a type
Source/Core/Common/Src/Thread.h:75: error: 'pthread_t' does not name a type
Source/Core/Common/Src/Thread.h:99: error: 'pthread_cond_t' does not name a type
Source/Core/Common/Src/Thread.h:100: error: 'pthread_mutex_t' does not name a type

To correcte this, add :

#include "pthread.h"

in Thread.h

Actions #7

Updated by tmator over 16 years ago

Next error, in Source/Core/Common/Src/CPUDetect.cpp;
replace

#ifdef __linux
//#include <config/i386/cpuid.h>
#include <xmmintrin.h>
void __cpuid(int info[4], int x) {}

by

#ifndef _WIN32
//#include <config/i386/cpuid.h>
#include <xmmintrin.h>
void __cpuid(int info[4], int x) {}

Actions #8

Updated by Sonicadvance1 over 16 years ago

You should come on to the IRC chatroom on efnet(irc.efnet.net #dolphin-emu)
I'm usually active there and it would be easier to get fixes to me.

Actions #9

Updated by tmator over 16 years ago

Here the diff

Actions #11

Updated by mthuurne over 16 years ago

When compiling Dolphin rev 179 on Mac OS X 10.5, I get compile errors. The errors fall into two groups:

  1. One of the SConscript files adds a link flag for Cairo, which is unneeded and causes the link to fail if Cairo
    is not installed.
  2. The GL renderer tries to use GLX to set up the GL window. However, the GLX symbols are not found when
    linking.

What I did to solve 1 is remove Cairo from the list of libs to link against. To solve 2, I added a
"defined(APPLE)" check in the code, so there are three versions: DirectX (Windows), AGL (Mac) and GLX
(everything else). I did not implement AGL calls to set up the window though, so there is no way this is
actually going to run, but at least it links.

I attached a patch. I think the removal of Cairo from the link options is safe. Whether the GLX changes are a
good idea depends on whether it is actually possible to run Dolphin over GLX on OS X. In the long run, using
AGL is the way to go, but I am unsure of what the right decision is for the short term.

Actions #12

Updated by mthuurne over 16 years ago

The about box doesn't work on my machine. Trying to open it via the menu does nothing. Trying to open it via
the toolbar causes a bus error (read from invalid address). The latter is solved by adding an Info.plist file to the
app folder. I'll try to add generation of the Info.plist file to the SCons build system; if I succeed, I'll post a patch.

Actions #13

Updated by mthuurne over 16 years ago

I managed to generate the Info.plist metadata file from the SConscript. Please see attached patch.

I also attached a temporary icon file: it works, but it only contains low-res versions of the icon, while Mac icons
also need hi-res images to look good in all places they are used. The full path of the icon should be
"Source/Core/DolphinWX/resources/Dolphin.icns".

Actions #14

Updated by tmator over 16 years ago

rev 182 mth patches an first SDL/OGL video plugin.

Thanks to mth for icon and better OSX integration

Actions #15

Updated by mthuurne over 16 years ago

tmator: I don't know if you still saw this bit on IRC. About creating a GL window using SDL:
is the returned "screen" null?
that's what SDL does if it cannot find a proper video mode
try passing 0 as the bits per pixel
it means you accept the window system default
maybe the problem is that 24 means not only 8 bits for RGB, but no padding byte
most framebuffers use 32bpp: 24 for colours and 8 unused (for alignment only)
so changing 24 to 32 might also help

Actions #16

Updated by Sonicadvance1 over 16 years ago

  • Status changed from New to Work started
  • Relates to usability set to Yes
  • Operating system OS X added
Actions #17

Updated by nakeee about 16 years ago

now scons can compile dolphin on macosx is it still an issue?

Actions #18

Updated by peter.schwarz about 16 years ago

As of rev 946, the following error occurs:

Compiling Source/Core/DolphinWX/Src/Frame.o
Source/Core/DolphinWX/Src/Frame.cpp:122: error: 'EVT_HOST_COMMAND' was not declared
in this scope
Source/Core/DolphinWX/Src/Frame.cpp:123: error: expected `}' before 'wxEventTableEntry'
Source/Core/DolphinWX/Src/Frame.cpp:123: error: expected ',' or ';' before
'wxEventTableEntry'
Source/Core/DolphinWX/Src/Frame.cpp:123: error: expected declaration before '}' token
scons: *** [Source/Core/DolphinWX/Src/Frame.o] Error 1
scons: building terminated because of errors.

Actions #19

Updated by peter.schwarz about 16 years ago

As of rev 990:

scons
...
Compiling Source/Core/Core/Src/LogManager.o
Source/Core/Core/Src/LogManager.cpp:19:47: error: wx/datetime.h: No such file or
directory
Source/Core/Core/Src/LogManager.cpp: In static member function 'static void
LogManager::Log(LogTypes::LOG_TYPE, const char*, ...)':
Source/Core/Core/Src/LogManager.cpp:212: error: 'wxDateTime' was not declared in this
scope
Source/Core/Core/Src/LogManager.cpp:212: error: expected `;' before 'datetime'
Source/Core/Core/Src/LogManager.cpp:248: error: 'datetime' was not declared in this scope
scons: *** [Source/Core/Core/Src/LogManager.o] Error 1
scons: building terminated because of errors.

Actions #20

Updated by peter.schwarz about 16 years ago

Additionally, this error occurs if I use set nowx=true on the build.

Actions #21

Updated by daxtsu about 16 years ago

Still can't compile on OSX as of revision 1313, I believe I have:

Source/Core/Common/Src/Thread.cpp:25:20: error: atomic.h: No such file or directory
Source/Core/Common/Src/Thread.cpp:377:3: warning: #warning Support older GCC Versions
Source/Core/Common/Src/Thread.cpp: In function 'int Common::InterlockedIncrement(int*)':
Source/Core/Common/Src/Thread.cpp:353: error: 'Increment' was not declared in this scope
Source/Core/Common/Src/Thread.cpp:353: error: invalid lvalue in asm statement
Source/Core/Common/Src/Thread.cpp:353: error: invalid lvalue in asm output 1
Source/Core/Common/Src/Thread.cpp:353: error: memory input 3 is not directly addressable
Source/Core/Common/Src/Thread.cpp: In function 'int Common::InterlockedExchange(int*,
int)':
Source/Core/Common/Src/Thread.cpp:379: warning: no return statement in function
returning non-void
Source/Core/Common/Src/Thread.cpp:379: warning: control reaches end of non-void function
scons: *** [Source/Core/Common/Src/Thread.o] Error 1
scons: building terminated because of errors.

This problem has been the same for quite a few revisions now.

Actions #22

Updated by nakeee about 16 years ago

both errors were fixed.
It compiles now on osx 32 bit
we are working on cocoa

Actions #23

Updated by nakeee about 16 years ago

  • Status changed from Work started to Fixed

I'm closing this bug as it now compiles.
For more discussion about problems in the osx I started a new thread on the forum.
Feel free to join in and comment :)
http://www.dolphin-emu.com/newdesign/forum/viewthread.php?thread_id=27

Actions

Also available in: Atom PDF