So, I'm pretty new to Linux but seem to be getting around ok in navigation and am adapting to day to day use. I admit it's probably not the best way to spend time but I was trying to install a game. Now, I have used this fine with WINE but they have a linux native version that I've been cringing about because I was unsure of how to build and install, it all seems so overwhelming... This may be lengthy but i want to provide all the info to fully understand and not just a copy paste quick fix so that I might be able to help others out too eventually.
so I tried it out and ran into to following issue:
I am running:
Distributor ID: Debian
Description: Debian GNU/Linux 10 (buster)
Release: 10
Codename: buster
(On a laptop if this is relevant)
It is a fairly fresh install
The directions state:
Quote:
With a debian based system, it can be compiled executing the following commands on a terminal:
Install golang:
sudo apt install golang-go
Install git:
sudo apt install git
Install GLFW dependencies:
sudo apt install libgl1-mesa-dev xorg-dev
Install OpenAL dependencies:
sudo apt install libopenal1 libopenal-dev
Download Ikemen GO Plus repository:
git clone https://github.com/Windblade-GR01/Ikemen_GO.git
Move to downloaded folder:
cd Ikemen_GO
Then, move to the build folder:
cd build
Execute get.sh to download Ikemen dependencies (it takes a while):
./get.sh
FINALLY compile:
./build.sh
The compiled Ikemen GO binary now should be inside the bin folder.
And now, Ikemen can be opened double clicking Ikemen_GO, or with the terminal:
./Ikemen_GO
|
So, I did these things.
I understand that git is pulling the files to the directory I'm running it from unless I point it elsewhere, I even had to chmod +x on the .sh files.
When I get to the point of running the get.sh (after downloading those listed dependencies) I am greeted with the following.
Code:
Wolf@Laptop:~/Downloads/Ikemen_GO/build$ ./get.sh
Downloading dependencies...
go: finding github.com/yuin/gopher-lua latest
go: finding github.com/chzyer/test latest
go: finding github.com/chzyer/readline latest
go: finding golang.org/x/sys latest
go: finding github.com/go-gl/glfw/v3.3/glfw latest
go: finding github.com/go-gl/gl/v2.1/gl latest
go: finding github.com/go-gl/gl latest
go: finding github.com/timshannon/go-openal/openal latest
go: finding github.com/timshannon/go-openal latest
go: finding github.com/Windblade-GR01/glfont latest
go: finding github.com/flopp/go-findfont latest
go: finding golang.org/x/exp latest
go: finding golang.org/x/mobile latest
go: finding golang.org/x/image latest
go: finding github.com/gopherjs/gopherjs latest
go: finding golang.org/x/sys latest
go: finding golang.org/x/xerrors latest
go: finding github.com/icza/mighty latest
go: finding github.com/go-gl/glfw/v3.3/glfw latest
go: finding github.com/mewkiz/pkg latest
go: finding golang.org/x/sync latest
go: finding github.com/BurntSushi/xgb latest
go: finding golang.org/x/tools latest
go: gopkg.in/DATA-DOG/go-sqlmock.v1@v1.4.1: go.mod has non-....v1 module path "github.com/DATA-DOG/go-sqlmock" at revision v1.4.1
go: finding golang.org/x/crypto latest
go: finding golang.org/x/net latest
go get: error loading module requirements
go: finding golang.org/x/image latest
go: finding golang.org/x/exp latest
go: finding golang.org/x/sys latest
go: finding golang.org/x/mobile latest
go: finding golang.org/x/xerrors latest
go: finding github.com/go-gl/glfw/v3.3/glfw latest
go: finding github.com/BurntSushi/xgb latest
go: finding golang.org/x/sync latest
go: finding golang.org/x/tools latest
go: finding golang.org/x/crypto latest
go: finding golang.org/x/net latest
go: finding golang.org/x/mobile latest
go: finding golang.org/x/image latest
go: finding golang.org/x/exp latest
go: finding golang.org/x/sys latest
go: finding golang.org/x/sync latest
go: finding golang.org/x/xerrors latest
go: finding golang.org/x/crypto latest
go: finding golang.org/x/net latest
go: finding golang.org/x/tools latest
go: finding github.com/go-gl/glfw/v3.3/glfw latest
go: finding github.com/BurntSushi/xgb latest
# pkg-config --cflags -- alsa
Package alsa was not found in the pkg-config search path.
Perhaps you should add the directory containing `alsa.pc'
to the PKG_CONFIG_PATH environment variable
No package 'alsa' found
pkg-config: exit status 1
go: finding github.com/kbinani/screenshot latest
go: finding github.com/sqweek/dialog latest
go: finding github.com/TheTitanrain/w32 latest
go: finding github.com/mattn/go-pointer latest
go: finding github.com/BurntSushi/freetype-go latest
go: finding github.com/BurntSushi/graphics-go latest
go: finding github.com/BurntSushi/xgbutil latest
go: finding github.com/skelterjohn/go.wde latest
go: finding github.com/BurntSushi/xgb latest
go: finding github.com/mattn/go-gtk latest
# pkg-config --cflags -- gdk-3.0 glib-2.0 gobject-2.0
Package gdk-3.0 was not found in the pkg-config search path.
Perhaps you should add the directory containing `gdk-3.0.pc'
to the PKG_CONFIG_PATH environment variable
No package 'gdk-3.0' found
pkg-config: exit status 1
# pkg-config --cflags -- fontconfig gobject-2.0 glib-2.0 pango pangocairo
Package pango was not found in the pkg-config search path.
Perhaps you should add the directory containing `pango.pc'
to the PKG_CONFIG_PATH environment variable
No package 'pango' found
Package pangocairo was not found in the pkg-config search path.
Perhaps you should add the directory containing `pangocairo.pc'
to the PKG_CONFIG_PATH environment variable
No package 'pangocairo' found
pkg-config: exit status 1
So, What exactly is this "pkg-config --cflags" and what should I do about this?
Logically thinking it seems like this "pango" and so forth is some sort of necessity but wouldn't that make it a "requirement" that should have been listed in the documentation of this seems to error out? or is there another explanation?
It's not just about the game itself, I figured If I'm trying to use linux in daily life I'm going to run into a similar issue at another point in time so I wanted to understand whats going on and how to fix it.
Can anyone help out with an explinaiton that would be easier to understand for someone new to linux and a little slow on the uptake sometimes? I tried out the pkg-config man pages and I just dont understand at all.
Thank in advance!