Mac -- Macports/Wine errors: NCurses library and Fontconfig

1

I've been trying to get Wine on my Mac to run some of my old PC games. I used Macports to install it, but it didn't work right away. I followed This tutorial, and then looked around a bit on the web for solutions, but nothing worked.

When trying to run my exe, this is what happens:

I entered

wine ~/Desktop/Pokemon3D.exe

and I get:

Wine cannot find the ncurses library (libncurses.5.4.dylib).
Fontconfig error: Cannot load default config file

(There's some more, but I'll post it at the end)

I'm not sure what's not working, but I can't figure it out. Any suggestions would be appreciated. Please help!

The code AFTER what is above

Pokemon:

libgluezilla not found. To have webbrowser support, you need libgluezilla installed fixme:wincodecs:PngDecoder_Block_GetCount 0x1688848,0x32f3f8: stub fixme:wincodecs:PngDecoder_Block_GetCount 0x1687f78,0x32f3f8: stub fixme:wincodecs:PngDecoder_Block_GetCount 0x1690318,0x32ecd8: stub fixme:wincodecs:PngDecoder_Block_GetCount 0x1690b38,0x32f328: stub System.NullReferenceException: Object reference not set to an instance of an object at System.Windows.Forms.WebBrowser.Navigate (System.Uri url) [0x00000] in :0 at (wrapper remoting-invoke-with-check) System.Windows.Forms.WebBrowser:Navigate (System.Uri) at Pokémon3D.Form1.Form1_Load (System.Object sender, System.EventArgs e) [0x00000] in :0 at System.Windows.Forms.Form.OnLoad (System.EventArgs e) [0x00000] in :0 at System.Windows.Forms.Form.OnLoadInternal (System.EventArgs e) [0x00000] in :0

NeverHood SETUP:

Unhandled exception: page fault on write access to 0x000d0000 in 32-bit code (0x4239eea6).

...And then a register and stack dump

Neverhood setup95:

Nothing?!?

macos
macports
wine
fontconfig
ncurses
asked on Super User Feb 11, 2013 by Matt Reynolds • edited Feb 11, 2013 by Matt Reynolds

1 Answer

2

Getting ncurses 5.4 is pretty hard.

I wasn't able to find any evidence that that version was available via brew, so had to resort to MacPorts. I referred to their "Installing older ports" instructions.

Check the ncurses Portfile, follow its history backward until you find the version you want.
I searched the history manually on GitHub.
A more automated search might look something like git log -S'5.4' -- devel/ncurses/Portfile… though I didn't have any luck with this myself.

I found that 5.4 lived at commit bcc8e4ecb7. Clone the macports git repository, and checkout that commit:

git clone --single-branch https://github.com/macports/macports-ports.git
cd macports-ports
git checkout 686ea4fa0fddeb03fdf2fc04dded68e05181bc95

Now go into the ncurses folder and run a port install:

cd devel/ncurses
sudo port install

It attempts to compile. Sadly this is as far as I got. Compiler encounters errors — at least using the toolchain & libraries that I have on macOS Sierra.

Installing this 12-year-old version of ncurses may no longer be straightforward.


EDIT: we can compile Apple's distribution of the ncurses source, instead of using the MacPorts project. See this article.

We want (from opensource.apple.com) the tarball of 10.6.2's ncurses-27. Here's the ncurses-27.tar.gz tarball.

Build like so:

make
mkdir -p /tmp/ncurses/Build
sudo make install

This should create a file libncurses.5.4.dylib at /private/tmp/ncurses/Release/usr/lib/libncurses.5.4.dylib.

Now we need to install that somewhere. Put it wherever you feel (I dunno, /usr/local/lib?) and ensure that the folder in which libncurses.5.4.dylib lives, is included in your DYLD_FALLBACK_LIBRARY_PATH.

Like, you could add this to your .profile (or rather, any file that gets sourced when you run your wine process):

export DYLD_FALLBACK_LIBRARY_PATH="$DYLD_FALLBACK_LIBRARY_PATH:/usr/local/lib"
answered on Super User Jul 12, 2017 by Birchlabs • edited Aug 21, 2017 by Birchlabs

User contributions licensed under CC BY-SA 3.0