wine on MacOS 10.5.7: 3/4 success

Joerg-Cyril.Hoehle at t-systems.com Joerg-Cyril.Hoehle at t-systems.com
Fri May 22 04:39:46 CDT 2009


Hi,

here are my findings about compiling and using wine on an "early 2009"
Mac Mini with NVidia graphics, without Fink or Macports. I hope it'll help other people.
The good news first:
+ compilation essentially works.
+ Pharaoh (1.2 update, nocd) works in desktop mode.
- old (16bit?) apps cause winevdm to crash, e.g. PharaohDemo's setup.exe
Details follow.  Bugs will be submitted separately.

The setup is:
+ "early 2009" NVidia 9400 Mac Mini with OS 10.5.6
+ XCode from DVD install disk. I did not install the whole thing, just a few packages, e.g.
  + gcc4.2
  + DeveloperToolsCLI,
  + DevSDK, X11SDK, OpenGLSDK
  + CoreAudioSDK etc., without e.g.
  - gcc4.0
  - MacOSX10.5
  - DeveloperTools (actually, this one contains the Xcode.app but now complains that it cannot install into a non-empty directory - any ideas?)
+ Mac OS 10.5.7 update (includes X11 manpages)
+ XQuartz' X11.2.33.2

Not installing gcc-4.0, I changed the stale symlink
/usr/bin/gcc->gcc-4.0 to gcc-4.2.  I used neither Fink nor MacPorts.
I found /usr/bin/ in MacOS full of OSS already.  Like a Debian (hence
Ubuntu) system, every tool has its manpage!

Fink was not used because I was told it's obsolete. Macports was nuked
after it started to configure and compile software as root, which
violates my software acceptance policy.
Another time I'll try pre-compiled binaries from Mike Kronenberg to
see if that makes a difference, but as I plan to do as much regression
testing as on Linux, I'll stick with git and compiling myself.

---------------- Compiling

checking png.h usability... no
checking png.h presence... no
checking for png.h... no
png is in /usr/X11/include plus /usr/X11/lib/libpng*, not /usr/include
Alas, configure tests for png long before testing for X.
Will submit bug.


----
checking mach-o/dyld_images.h usability... no
checking mach-o/dyld_images.h presence... yes
configure: WARNING: mach-o/dyld_images.h: present but cannot be compiled
configure: WARNING: mach-o/dyld_images.h:     check for missing prerequisite headers?
configure: WARNING: mach-o/dyld_images.h: see the Autoconf documentation
configure: WARNING: mach-o/dyld_images.h:     section "Present But Cannot Be Compiled"
configure: WARNING: mach-o/dyld_images.h: proceeding with the preprocessor's result
configure: WARNING: mach-o/dyld_images.h: in the future, the compiler will take precedence
configure: WARNING:     ## ------------------------------------ ##
configure: WARNING:     ## Report this to wine-devel at winehq.org ##
configure: WARNING:     ## ------------------------------------ ##

Ruben Hillewaere already mentioned this in
http://www.winehq.org/pipermail/wine-devel/2009-May/075287.html

In file included from conftest.c:67:
/usr/include/mach-o/dyld_images.h:65: error: expected specifier-qualifier-list before 'bool'
Perhaps a mising bool typedef?


---- configure --verbose summary
configure: libhal 32-bit development files not found, no dynamic device support.
configure: libgnutls 32-bit development files not found, no schannel support.
configure: libsane 32-bit development files not found, scanners won't be supported.
configure: libgphoto2 32-bit development files not found, digital cameras won't be supported.
configure: liblcms 32-bit development files not found, Color Management won't be supported.
configure: libcapi20 32-bit development files not found, ISDN won't be supported.
configure: WARNING: libjpeg 32-bit development files not found, JPEG won't be supported.
configure: WARNING: libpng 32-bit development files not found, PNG won't be supported.
configure: Finished.  Do 'make depend && make' to compile Wine.

Pretty much what I know from Ubuntu (except for jpeg+hal), where I
never bothered to install the lcms or sane or SSL developer packages.


---- compilation warnings
In file included from opengl_ext.h:28,
                 from opengl_ext.c:5:
/usr/X11/include/GL/gl.h:1387:1: warning: "GL_GLEXT_PROTOTYPES" redefined
In file included from opengl_ext.c:5:
opengl_ext.h:27:1: warning: this is the location of the previous definition
Looks like a bug I'll submit to the XQuartz project.


audiounit.c: In function `SynthUnit_CreateDefaultSynthUnit':
audiounit.c:351: warning: `AUGraphNewNode' is deprecated (declared at /System/Library/Frameworks/AudioToolbox.framework/Headers/AUGraph.h:674)
This is bug #11242

Wine build complete.
---------------- Running
./wine winecfg
wine: created the configuration directory '/Users/xyz/.wine'

---- FreeType library issue resolved
Wine cannot find the FreeType font library.  To enable Wine to
use TrueType fonts please install a version of FreeType greater than
or equal to 2.0.5.
http://www.freetype.org
Building font metrics. This may take some time...
Font metrics: 0.0% done
fixme:font:LFD_InitFontInfo DBCS fonts like '-daewoo-gothic-medium-r-normal--16-120-100-100-c-160-ksc5601.1987-0' are not working correctly now.
[... hundreds of messages like this ...]
err:font:XFONT_BuildMetrics failed to load -misc-stheiti-medium-r-normal--100-*-100-100-p-0-ibm-cp866
Font metrics: 100.0% done
[... repeated anew for every process started ...]

"dlopen() searches the following the following until it finds a compatible Mach-O file: $LD_LIBRARY_PATH, $DYLD_LIBRARY_PATH, current working directory, $DYLD_FALLBACK_LIBRARY_PATH
Note: There are no configuration files to control dlopen searching."

Set one of those to /usr/X11/lib, because that's where libfreetype*
resides in MacOS. There's no need to turn to MacPorts.
LD_LIBRARY_PATH=/usr/X11/lib ./wine notepad
 lets wine finds hundreds of fonts.

BTW, Macports' wrapper uses DYLD_FALLBACK_LIBRARY_PATH
The ./wine wrapper itself sets DYLD_LIBRARY_PATH to its internal .so dir.

Maybe it would not be a good idea to add this directory to the
official ./wine wrapper, as it could cause conflicts with Fink or
Macports sets of libraries?


----
err:process:__wine_kernel_init boot event wait timed out
I get this one *sometimes* on a Linux box as well...


---- no 16 bit apps?
winevdm crashes with identical messages on:
- Pumuckl Klabauterjagd
- Minigolf 1997 (not in AppDB)
- Meine Traumburg (dito)
- PharaoDemo's setup.exe
PharaoDemo:setup.exe "The program winevdm.exe has encountered a serious error ..."
Unhandled exception: page fault on read access to 0xffffffff in 32-bit code (1017:00000c1d).
Probably a lot of installers will be affected. Is this caused by the
mach-o/dyld_images.h warning from configure?
Is there no 16bit support on Intel MacOS yet?


---- Pharaoh console log
Copying my Linux Pharaoh (1.2 update, nocd) directory over to the Mac,
I was pleased to see the title screen and the application running.


err:d3d_caps:IWineD3DImpl_FillGLCaps Invalid nVidia version string: "2.0 NVIDIA-1.5.44"
The string probably originates from XQuartz' X11.2.33.2. The wine
source code expects a space after NVIDIA. Is it actually meningful to
return the Apple 1.5 major+minor to a windows program? (On Linux, the
numbers are much higher, e.g. "2.1.2 NVIDIA 173.14.09" or "2.1.0
NVIDIA 97.55" -- 2 samples from Google).


fixme:d3d:IWineD3DImpl_FillGLCaps OpenGL implementation supports 16 vertex samplers and 16 total samplers
fixme:d3d:IWineD3DImpl_FillGLCaps Expected vertex samplers + MAX_TEXTURES(=8) > combined_samplers


fixme:win:EnumDisplayDevicesW ((null),0,0x32f664,0x00000000), stub!
fixme:x11drv:X11DRV_desktop_SetCurrentMode Cannot change screen BPP from 32 to 16
well known from Linux.


fixme:wave:wodDsCreate DirectSound not implemented
fixme:wave:wodDsCreate The (slower) DirectSound HEL mode will be used instead.
probably ok. Pharaoh plays the music.


---- full screen mode
Full-screen does not work with Pharaoh. The application exits after:
err:x11settings:X11DRV_ChangeDisplaySettingsEx No matching mode found 1024x768x16 @0! (NoRes)
err:x11settings:X11DRV_ChangeDisplaySettingsEx No matching mode found 800x600x16 @0! (NoRes)
err:x11settings:X11DRV_ChangeDisplaySettingsEx No matching mode found 640x480x16 @0! (NoRes)
The LCD's native resolution is higher than those.


Hope this helps,
	Jörg Höhle



More information about the wine-devel mailing list