> Hi, with supreme guidance from mason and other (and some searxing) > PlayOnLinux was successfully installed by building it. Thank you to > all the helpful contributions.
Congrats! I can see from your posts that you are learning and getting the hang
of this.
> Aha, so "bin"-folder are what to look for when building?
Yes, when you see a 'bin' folder you can expect the binaries to be created
there.
> Well aren't there already something there? "check_dd_amd64.bz2
> check_dd_x86.bz2"?
Yes, but a .bz2 file is a compressed file[1], unlikely to be an executable
binary. You may be used to executable binaries having an .exe (in Windows) or
.app (in macOS) filename extension. In GNU/Linux they typically have no
filename extensions, which is why the extensionless files that appeared in bin
after running make were a good sign.
> I still can't fathom how you from this message:
> "./src/check_direct_rendering.c:33:19: fatal error: GL/gl.h: No such
> file or directory"
>
> are like: "Oh yeah totally. Looks like the development libraries for
> opengl are required and I don't have them installed. Let's fix that
> and try again.
You caught me. :) I did kind of gloss over that point. I'll explain more
thoroughly.
Files with a ".h" filename extension[2] are header files in C or C++. Put
simply, they are used to include other code in your code. If you see a missing
.h file when building, it usually means that the program you are building is
looking for a library that you don't have installed. Having played around with
OpenGL[3] in the past, I recognized GL/gl.h and knew what to install. If I
hadn't, I would have done what you did with X11/Xlib.h, which is search to find
out what you need to include. You can also often use 'apt-cache search' or
Synaptic to narrow down the possibilities. For example, I see X11/Xlib.h and
know that I want the development files (dev) for a library (lib) having to do
with X11 (x11) so I search
$ apt-cache search lib dev x11
look at the output, and guess that 'libx11-dev' is the most likely candidate.
> Wait what?? "which shell to use"? "and we are defaulting to one"?
It seems like you understand this better now thanks to onpon4 and loldier's
explanations.
> When I am i the POL-POM-4 directory and run "$ make" or "$ make
> install", what exactly am I telling the terminal to do? Am I telling
> it to do something with the Makefile?
When you run the program GNU Make by typing 'make', it looks for a makefile
telling it what to do. If you take a look at Makefile you'll see blocks of
instructions that begin with 'clean:', 'build:', and 'install:' When you just
run 'make' it assumes you just want to build the program, so it follows the
instructions under 'build'. When you run 'make install' it understands that you
also want to install the program, so it follows the instructions under
'install:' as well. If you look at the 'install' instructions you'll see this
line:
cp ./bin/{playonlinux,playonlinux-pkg} $(bindir)/
This is the line that the shell was having trouble with, which is why 'make
install'wasn't working. Until we specified a different shell.
[1] https://en.wikipedia.org/wiki/Bzip2
[2] https://en.wikipedia.org/wiki/Include_directive#C/C++
[3] https://en.wikipedia.org/wiki/OpenGL
[4] https://en.wikipedia.org/wiki/GTK%2B
signature.asc
Description: PGP signature
