> How do I do that?:)

Rather than only telling you how, I'm going to walk you through the problem 
solving process by which I figured out how. You'll notice that I don't really 
know what I'm doing. I just try things, figure out why they didn't work, fix 
the problem, and repeat until everything works. I suggest you learn to do this 
approach too. You can get pretty far with it.

---------- begin walkthrough ----------

First we need a copy of the source code. We will use git to make a clone of the 
repository on our machine.

$ sudo apt install git
$ cd path/to/somewhere
$ git clone https://github.com/PlayOnLinux/POL-POM-4

This creates a directory called POL-POM-4. Let's see what's inside

$ cd POL-POM-4
$ ls

I notice there is a directory called bin.

$ ls bin
check_dd_amd64.bz2  check_dd_x86.bz2

After we build the program, binaries should appear here. I also see something 
called Makefile. A makefile tells GNU Make how to build the program. Let's try 
using make now.

$ make

We get an error:

./src/check_direct_rendering.c:33:19: fatal error: GL/gl.h: No such file or 
directory

Looks like the development libraries for opengl are required and I don't have 
them installed. Let's fix that and try again.

$ sudo apt install libgl1-mesa-dev
$ make

No errors. Let's see what's in bin now.

$ ls bin
check_dd_amd64.bz2  check_dd_x86.bz2  playonlinux  playonlinux-check_dd  
playonlinux-pkg

Looks good. Now we'll use 'make install' to install the program.

$ sudo make install
cp: cannot stat './bin/{playonlinux,playonlinux-pkg}': No such file or directory

Huh. What's './bin/{playonlinux,playonlinux-pkg}'? Let's find out:

$ echo ./bin/{playonlinux,playonlinux-pkg}
./bin/playonlinux ./bin/playonlinux-pkg

This is called brace expansion. './bin/{playonlinux,playonlinux-pkg}' is short 
for './bin/playonlinux ./bin/playonlinux-pkg', but somebody isn't figuring that 
out. The problem is that the makefile does not specify which shell to use, and 
we are defaulting to one that doesn't support brace expansion. To fix this, add 

SHELL=/bin/bash

at the top of Makefile and try again.

$ sudo make install

That worked! Now let's try to run the program.

$ playonlinux
No module named wxversion

Crap. Let's see if there's something we can install called wxversion. 

$ apt-cache search wxversion
python-wxversion - API for selecting the wxPython version to use

Cool. We'll take it.

$ sudo apt install python-wxversion
$ playonlinux

I get a bunch more messages about missing stuff related to Python and wx. I'm 
getting impatient at this point, so I install all packages that begin with 
'python-wx'

$ sudo apt install python-wx*
$ playonlinux

I now get a popup saying "PlayOnLinux cannot find cabextract
You need to install it to continue"

Okay.

$ sudo apt install cabextract
$ playonlinux

I get three similar popups, the first two telling me that I need things from 
icoutils and the third telling me I need wine. The program actually launches 
now, but it probably won't work without those dependencies.

$ sudo apt install icoutils wine
$ playonlinux

Finally, the program launches with no errors.

Attachment: signature.asc
Description: PGP signature

Reply via email to