Wine sourcing for noobs

Questions about Wine on macOS.
Locked
NiqueSqueek
Newbie
Newbie
Posts: 1
Joined: Wed Feb 29, 2012 9:40 pm

Wine sourcing for noobs

Post by NiqueSqueek »

Heres the deal;

I want to install a patch. I need to do this by installing wine from source. I do not know how to do this.

I have looked at the winewiki, and all over this forum. I have googled the bejesus out of it. I get that I have to unpack the wine source code and what not, all the code stuff just looks like stuff to put in terminal, but evidently that is not the case.

Basically what i need is a step by step guide or video (i mean STEP BY STEP.)

I'm very new to wine, have been using crossover for a while but it seems some apps run better through direct wine so i'm giving this a go.

I'm running on a macbook pro early 2011, lion. I want to install this patch

http://bugs.winehq.org/attachment.cgi?id=35873

I guess thats all the information i have.

If it isn't possible to get the help i want, thats fine please don't post nasty comments, just politely tell me I'm in the wrong place and I'll move on. I really am just at the end of the rope and have not any idea where do go next. All help is appreciated and thank you in advance for any help given.

:D
User avatar
DanKegel
Moderator
Moderator
Posts: 1164
Joined: Wed May 14, 2008 11:44 am

Post by DanKegel »

See http://wiki.winehq.org/MacOSX/Building

I haven't done it myself on the Mac, don't know how easy it is there.
jjmckenzie
Moderator
Moderator
Posts: 1153
Joined: Wed Apr 27, 2011 11:01 pm

Wine sourcing for noobs

Post by jjmckenzie »

On Wed, Feb 29, 2012 at 7:49 PM, NiqueSqueek <[email protected]> wrote:
Heres the deal;

I want to install a patch. I need to do this by installing wine from source. I do not know how to do this.

I have looked at the winewiki, and all over this forum. I have googled the bejesus out of it. I get that I have to unpack the wine source code and what not, all the code stuff just looks like stuff to put in terminal, but evidently that is not the case.

Basically what i need is a step by step guide or video (i mean STEP BY STEP.)
First, you really need to become familiar with the use of the Terminal
Application as this will be needed to build Wine.
Second, building Wine on the Mac is described in the web page that Dan
Kegel provided.

One major thing that you WILL have to do is install XCode, the OSX
program construction product.

There is no 'video' step-by-step for building Wine on the Mac that I'm
aware of. However, I do use a bash script created by Ryan called
osxwinebuilder. Google for it. This may be easier than building and
building and building. I can assist with using this script and
building Wine using it.

James
ischou
Level 4
Level 4
Posts: 109
Joined: Sun Nov 28, 2010 7:22 pm

Post by ischou »

Ah! The raw-input patch. I look forward to the day a proper implementation of raw-input gets into Wine so we can just install wine directly with no more patching. The difficulty isn't with building wine. It's with getting all the dependencies built. Here's my suggested step-by-step for you:

1) Install Xcode, which can be found on the DVD's that came with your Mac or downloaded from Apple Developer Connection (http://connect.apple.com/)

2) Install XQuartz from http://xquartz.macosforge.org/trac/wiki because the X-Server provided by Apple is severely out-of-date.

3) Go to http://www.macports.org/ and download the latest MacPorts. Mount the DMG and install the package.

4) Open the Terminal.app (found in Applications/Utilities directory on your computer) and type

Code: Select all

sudo port selfupdate
to make sure everything in MacPorts is updated to the latest version.

5) Now still in Terminal.app type

Code: Select all

port deps wine-devel
which will show you a list of everything you need to install in order to build wine. You'll get a line that looks something like this:
Library Dependencies: expat, fontconfig, freetype, gstreamer, gst-plugins-base, jpeg, lcms, libiconv, libpng, libxml2, libxslt, ncurses, openssl, tiff, zlib, xorg-libsm, xorg-libXcomposite, xorg-libXcursor, xorg-libXi, xorg-libXinerama, xorg-libXrandr, xorg-libXxf86vm, xrender, mesa
I think installing X-Quartz provides everything from xorg-libsm and down, but I'm not sure. Anyhow install everything up to that point using this command:

Code: Select all

sudo port install expat fontconfig freetype gstreamer gst-plugins-base jpeg lcms libiconv libpng libxml2 libxslt ncurses openssl tiff zlib
6) Download the latest version of wine (1.4-rc5) from http://sourceforge.net/projects/wine/files/Source/ (you want a file that ends with .tar.bz2, not .sign) and decide where you want to do your work. Let's say you create a directory in your home directory named "WineBuild". Move the file you just downloaded into that directory. Now in the Terminal.app go to that directory and unpack wine by typing

Code: Select all

cd ~/WineBuild; bunzip2 < wine-1.4-rc5.tar.bz2 | tar xvf -
7) Now you need to tell wine's auto configure system where to find all the stuff you just installed. Before we go on, I forget which shell gets used in Mac OS by default. Type this at your Terminal:

Code: Select all

echo $shell
If you get "/bin/tcsh" as a response then type the following at the command line:

Code: Select all

setenv CFLAGS    "-I/opt/local/include -I/opt/X11/include"
setenv LDFLAGS   "-L/opt/local/include -L/opt/X11/lib"
setenv PATH ${PATH}:/opt/local/bin
setenv PKG_CONFIG_PATH /opt/local/lib/pkg-config
if however, after you typed "echo $shell" and got nothing type the following at the Terminal instead:

Code: Select all

CFLAGS="-I/opt/local/include -I/opt/X11/include"
LDFLAGS="-L/opt/local/include -L/opt/X11/lib"
PATH=${PATH}:/opt/local/bin
PKG_CONFIG_PATH=/opt/local/lib/pkg-config
8 ) Download that patch you wanted. Apply the patch as follows:

Code: Select all

cd wine-1.4-rc5
patch -p1 < /the/path/to/the_name_of_the_patch_file_you_just_downloaded.patch
Hopefully you get all "Chunk succeeded" messages.

9) Now you need to configure your wine build. Use the following command:

Code: Select all

./configure --prefix=/Users/YourUsername/Wine
If everything we did above was correct then the configure script will run to completion. If you get some error message about something being missing, then go back to step 5 and use the "sudo port install" command to install anything that you didn't install before that the configure script is complaining about.

10) If/when configure has run to completion, you're ready to build and install wine. Type the following at the Terminal:

Code: Select all

make
make install
With luck, you're done. You can now run wine from a terminal using the following command at the Terminal prompt:

Code: Select all

/Users/YourUserName/Wine/bin/wine name_of_windows_program.exe
Simple right? I tried to be thorough, but I'm sure there are some places that might be less than clear. Good luck!
Frédéric Delanoy

Wine sourcing for noobs

Post by Frédéric Delanoy »

On Thu, Mar 1, 2012 at 16:59, ischou <[email protected]> wrote:
Ah!  The raw-input patch.  I look forward to the day a proper implementation of raw-input gets into Wine so we can just install wine directly with no more patching.   The difficulty isn't with building wine. It's with getting all the dependencies built.  Here's my suggested step-by-step for you:

1) Install Xcode, which can be found on the DVD's that came with your Mac or downloaded from Apple Developer Connection (http://connect.apple.com/)

2) Install XQuartz from http://xquartz.macosforge.org/trac/wiki because the X-Server provided by Apple is severely out-of-date.

3) Go to http://www.macports.org/ and download the latest MacPorts.  Mount the DMG and install the package.

4) Open the Terminal.app (found in Applications/Utilities directory on your computer) and type
Code:
sudo port selfupdate

 to make sure everything in MacPorts is updated to the latest version.

5) Now still in Terminal.app type
Code:
port deps wine-devel

 which will show you a list of everything you need to install in order to build wine.  You'll get a line that looks something like this:
Library Dependencies: expat, fontconfig, freetype, gstreamer, gst-plugins-base, jpeg, lcms, libiconv, libpng, libxml2, libxslt, ncurses, openssl, tiff, zlib, xorg-libsm, xorg-libXcomposite, xorg-libXcursor, xorg-libXi, xorg-libXinerama, xorg-libXrandr, xorg-libXxf86vm, xrender, mesa
 I think installing X-Quartz provides everything from xorg-libsm and down, but I'm not sure.  Anyhow install everything up to that point using this command:
Code:
sudo port install expat fontconfig freetype gstreamer gst-plugins-base jpeg lcms libiconv libpng libxml2 libxslt ncurses openssl tiff zlib



6) Download the latest version of wine (1.4-rc5) from http://sourceforge.net/projects/wine/files/Source/ (you want a file that ends with .tar.bz2, not .sign) and decide where you want to do your work.  Let's say you create a directory in your home directory named "WineBuild".  Move the file you just downloaded into that directory.  Now in the Terminal.app go to that directory and unpack wine by typing
Code:
cd ~/WineBuild; bunzip2 < wine-1.4-rc5.tar.bz2 | tar xvf -



7) Now you need to tell wine's auto configure system where to find all the stuff you just installed.  Before we go on, I forget which shell gets used in Mac OS by default.  Type this at your Terminal:
Code:
echo $shell

 If you get "/bin/tcsh" as a response then type the following at the command line:
Code:
setenv CFLAGS    "-I/opt/local/include -I/opt/X11/include"
setenv LDFLAGS   "-L/opt/local/include -L/opt/X11/lib"
setenv PATH ${PATH}:/opt/local/bin
setenv PKG_CONFIG_PATH /opt/local/lib/pkg-config

 if however, after you typed "echo $shell" and got nothing type the following at the Terminal instead:
Code:
CFLAGS="-I/opt/local/include -I/opt/X11/include"
LDFLAGS="-L/opt/local/include -L/opt/X11/lib"
PATH=${PATH}:/opt/local/bin
PKG_CONFIG_PATH=/opt/local/lib/pkg-config



8 ) Download that patch you wanted.  Apply the patch as follows:
Code:
cd wine-1.4-rc5
patch -p1 < /the/path/to/the_name_of_the_patch_file_you_just_downloaded.patch

 Hopefully you get all "Chunk succeeded" messages.

9) Now you need to configure your wine build.  Use the following command:
Code:
./configure --prefix=/Users/YourUsername/Wine

 If everything we did above was correct then the configure script will run to completion.  If you get some error message about something being missing, then go back to step 5 and use the "sudo port install" command to install anything that you didn't install before that the configure script is complaining about.

10) If/when configure has run to completion, you're ready to build and install wine.  Type the following at the Terminal:
Code:
make
make install

 With luck, you're done.  You can now run wine from a terminal using the following command at the Terminal prompt:
Code:
/Users/YourUserName/Wine/bin/wine name_of_windows_program.exe



Simple right?  I tried to be thorough, but I'm sure there are some places that might be less than clear.  Good luck!
It might be a good idea to put these steps on a wine wiki page, so it
can be more easily accessible than from searching the wine-users
archives.
ischou
Level 4
Level 4
Posts: 109
Joined: Sun Nov 28, 2010 7:22 pm

Re: Wine sourcing for noobs

Post by ischou »

Frédéric Delanoy wrote:On Thu, Mar 1, 2012 at 16:59, ischou <[email protected]> wrote:
...

Simple right?  I tried to be thorough, but I'm sure there are some places that might be less than clear.  Good luck!
It might be a good idea to put these steps on a wine wiki page, so it
can be more easily accessible than from searching the wine-users
archives.
I'm just curious of my instructions worked for the OP, since I typed it all from memory and some Googling rather than testing any of it...
Locked