# Building Graphical on Linux (and other Linux Q&A)

**URL:** <https://discourse.cataclysmdda.org/t/building-graphical-on-linux-and-other-linux-q-a/18058>\
**Category:** The Garage\
**Created:** [December 24, 2018, 5:36am UTC](https://discourse.cataclysmdda.org/t/building-graphical-on-linux-and-other-linux-q-a/18058 "2018-12-24T05:36:08Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![Litppunk](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.cataclysmdda.org/litppunk/32/409_2.png) [@Litppunk](https://discourse.cataclysmdda.org/u/Litppunk)\
**Post date:** [December 24, 2018, 5:36am UTC](https://discourse.cataclysmdda.org/t/building-graphical-on-linux-and-other-linux-q-a/18058/1 "2018-12-24T05:36:08Z")

</div>

So uh, quick question. Current Experimentals still have sprinting right?

If so, manually moving save to more recent build is  
1)install new build  
2)move save and config files over  
3) play

right?  
am I doing something wrong?  
I seem to still be playing the stable build I used to make sure this WINE would launch it.

---

<div class="post-metadata">

**Author:** ![Litppunk](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.cataclysmdda.org/litppunk/32/409_2.png) [@Litppunk](https://discourse.cataclysmdda.org/u/Litppunk)\
**Post date:** [December 24, 2018, 4:35pm UTC](https://discourse.cataclysmdda.org/t/building-graphical-on-linux-and-other-linux-q-a/18058/2 "2018-12-24T16:35:26Z")

</div>

Ok so its definately something to do with graphical… console works perfectly for me.

drivers are up to date…

Oh. need to be using the unix version instead of the GC proprietary version. That seems to fix it…

grr nope. Thats still console any ideas how I can get experimental graphics to work? a command for WINE maybe? or a change to options, or command line change to system?

---

<div class="post-metadata">

**Author:** ![mlangsdorf](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.cataclysmdda.org/mlangsdorf/32/2462_2.png) [@mlangsdorf](https://discourse.cataclysmdda.org/u/mlangsdorf)\
**Post date:** [December 24, 2018, 5:23pm UTC](https://discourse.cataclysmdda.org/t/building-graphical-on-linux-and-other-linux-q-a/18058/3 "2018-12-24T17:23:31Z")

</div>

Why don’t you just build a Linux tiles version? That works perfectly fine for me.

Assuming you can compile from source, this command:  
`nice -n 10 make all -j 4 -s CCACHE=1 RELEASE=1 TILES=1 SOUND=1 LOCALIZE=0 LUA=1 DYNAMIC_LINKING=1 ASTYLE=0 LINTJSON=0 RUNTESTS=0 BACKTRACE=0 LUA_BINARY=luajit`  
builds a fairly fast Linux executable with tiles support.

---

<div class="post-metadata">

**Author:** ![Litppunk](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.cataclysmdda.org/litppunk/32/409_2.png) [@Litppunk](https://discourse.cataclysmdda.org/u/Litppunk)\
**Post date:** [December 24, 2018, 6:47pm UTC](https://discourse.cataclysmdda.org/t/building-graphical-on-linux-and-other-linux-q-a/18058/4 "2018-12-24T18:47:23Z")

</div>

WTF… when I try to extract the source file the whole window decides it can’t be interacted with

like… I can still close the window, or drag it around its not unresponsive, I just can’t interact with anything but the window itself.

Edit: Ah, nvm I still had a window open in the background I hadn’t finished a propt with

hm… ok. So what do I run that command… on? I am loving Ubuntu, and am taking an edX course on it… but I have no idea what Im doing with this stuff yet

---

<div class="post-metadata">

**Author:** ![mlangsdorf](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.cataclysmdda.org/mlangsdorf/32/2462_2.png) [@mlangsdorf](https://discourse.cataclysmdda.org/u/mlangsdorf)\
**Post date:** [December 24, 2018, 6:53pm UTC](https://discourse.cataclysmdda.org/t/building-graphical-on-linux-and-other-linux-q-a/18058/5 "2018-12-24T18:53:24Z")

</div>

What are you doing?  
clone the repository once:  
`git clone https://github.com/CleverRaven/Cataclysm-DDA.git`  
enter the new directory  
`cd Catacylsm-DDA`  
then run that make command.  
then invoke the game:  
`./catacylsm-tiles &`

later, from the Catacylsm-DDA directory, if you want to update:  
`git fetch; git pull`  
and then run the make again.

Super easy.

---

<div class="post-metadata">

**Author:** ![Litppunk](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.cataclysmdda.org/litppunk/32/409_2.png) [@Litppunk](https://discourse.cataclysmdda.org/u/Litppunk)\
**Post date:** [December 24, 2018, 7:12pm UTC](https://discourse.cataclysmdda.org/t/building-graphical-on-linux-and-other-linux-q-a/18058/6 "2018-12-24T19:12:26Z")

</div>

so

> [@mlangsdorf](#):
>
> 1. `git clone https://github.com/CleverRaven/Cataclysm-DDA.git`
> 
> 2. `cd Catacylsm-DDA`
> 
> 3. `nice -n 10 make all -j 4 -s CCACHE=1 RELEASE=1 TILES=1 SOUND=1 LOCALIZE=0 LUA=1 DYNAMIC_LINKING=1 ASTYLE=0 LINTJSON=0 RUNTESTS=0 BACKTRACE=0 LUA_BINARY=luajit`  
> `./catacylsm-tiles &`
> 
> updating:
> 
> 1. `git fetch; git pull`
> 
> 2. `nice -n 10 make all -j 4 -s CCACHE=1 RELEASE=1 TILES=1 SOUND=1 LOCALIZE=0 LUA=1 DYNAMIC_LINKING=1 ASTYLE=0 LINTJSON=0 RUNTESTS=0 BACKTRACE=0 LUA_BINARY=luajit`

like that?

because I got

`Makefile:526: ***"Lua not found by pkg-config, install it or make without 'LUA=1'". Stop.`

whats that about… doesn’t look like its case sensitive since it returned with different case than in the command…

---

<div class="post-metadata">

**Author:** ![mlangsdorf](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.cataclysmdda.org/mlangsdorf/32/2462_2.png) [@mlangsdorf](https://discourse.cataclysmdda.org/u/mlangsdorf)\
**Post date:** [December 24, 2018, 7:50pm UTC](https://discourse.cataclysmdda.org/t/building-graphical-on-linux-and-other-linux-q-a/18058/7 "2018-12-24T19:50:17Z")

</div>

You either need to remove `LUA=1` from the make command invocation, or add the lua packages to your system. If you want to use mods than use lua, I suggest the latter.

---

<div class="post-metadata">

**Author:** ![Litppunk](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.cataclysmdda.org/litppunk/32/409_2.png) [@Litppunk](https://discourse.cataclysmdda.org/u/Litppunk)\
**Post date:** [December 24, 2018, 7:52pm UTC](https://discourse.cataclysmdda.org/t/building-graphical-on-linux-and-other-linux-q-a/18058/8 "2018-12-24T19:52:15Z")

</div>

but the lua packages ARE there.

 ![Screenshot%20from%202018-12-24%2013-51-51](https://us1.discourse-cdn.com/flex016/uploads/cataclysmdda/original/2X/1/148a57b1af24e0d78699682d5b906932e0c5e9d5.png)

wait you mean the lua libraries don’t you… derp

---

<div class="post-metadata">

**Author:** ![Litppunk](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.cataclysmdda.org/litppunk/32/409_2.png) [@Litppunk](https://discourse.cataclysmdda.org/u/Litppunk)\
**Post date:** [December 24, 2018, 8:29pm UTC](https://discourse.cataclysmdda.org/t/building-graphical-on-linux-and-other-linux-q-a/18058/9 "2018-12-24T20:29:41Z")

</div>

_sigh_ um… what are the files I need exactly?

Edit: Oh god… Im not sure what i’m doing anymore.

I installed some kind of lua libraries then uninstalled them because I realized I could just run  
`install lua5.2`  
then I realized that was completely different and uninstalled it.  
then I poked around and started looking at some of the build stuff on CDDA and reddit and installed some stuff/ tried some commands like `nice -n 10 make all -j 4 -s CCACHE=1 RELEASE=1 TILES=1 SOUND=1 LOCALIZE=0 LUA=1 DYNAMIC_LINKING=1 ASTYLE=0 LINTJSON=0 RUNTESTS=0 BACKTRACE=0 LUA_BINARY=luajit[A`  
that didn’t work

---

<div class="post-metadata">

**Author:** ![Mantar](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.cataclysmdda.org/mantar/32/42_2.png) [@Mantar](https://discourse.cataclysmdda.org/u/Mantar)\
**Post date:** [December 24, 2018, 8:59pm UTC](https://discourse.cataclysmdda.org/t/building-graphical-on-linux-and-other-linux-q-a/18058/10 "2018-12-24T20:59:54Z")

</div>

If you want to compile against lua, you’ll need the lua headers. They’re usually in a package named something like “liblua5.2-dev” or whatever.  
Or you could just LUA=0 and skip it.

---

<div class="post-metadata">

**Author:** ![Litppunk](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.cataclysmdda.org/litppunk/32/409_2.png) [@Litppunk](https://discourse.cataclysmdda.org/u/Litppunk)\
**Post date:** [December 24, 2018, 9:02pm UTC](https://discourse.cataclysmdda.org/t/building-graphical-on-linux-and-other-linux-q-a/18058/11 "2018-12-24T21:02:56Z")

</div>

hmm lot of stuff saying to add directory containing `SDL2_mixer.pc`

---

<div class="post-metadata">

**Author:** ![mlangsdorf](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.cataclysmdda.org/mlangsdorf/32/2462_2.png) [@mlangsdorf](https://discourse.cataclysmdda.org/u/mlangsdorf)\
**Post date:** [December 24, 2018, 9:03pm UTC](https://discourse.cataclysmdda.org/t/building-graphical-on-linux-and-other-linux-q-a/18058/12 "2018-12-24T21:03:12Z")

</div>

I’m a Fedora guy for reasons, for `sudo dnf install -y lua*dev*` would do it for me.

If you don’t want Lua, then the command is  
`ice -n 10 make all -j 4 -s CCACHE=1 RELEASE=1 TILES=1 SOUND=1 LOCALIZE=0 DYNAMIC_LINKING=1 ASTYLE=0 LINTJSON=0 RUNTESTS=0 BACKTRACE=0`

---

<div class="post-metadata">

**Author:** ![Litppunk](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.cataclysmdda.org/litppunk/32/409_2.png) [@Litppunk](https://discourse.cataclysmdda.org/u/Litppunk)\
**Post date:** [December 24, 2018, 9:04pm UTC](https://discourse.cataclysmdda.org/t/building-graphical-on-linux-and-other-linux-q-a/18058/13 "2018-12-24T21:04:44Z")

</div>

Im Ubuntu so I can ease myself into these things…

starting to think that might be null

---

<div class="post-metadata">

**Author:** ![Mantar](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.cataclysmdda.org/mantar/32/42_2.png) [@Mantar](https://discourse.cataclysmdda.org/u/Mantar)\
**Post date:** [December 24, 2018, 9:06pm UTC](https://discourse.cataclysmdda.org/t/building-graphical-on-linux-and-other-linux-q-a/18058/14 "2018-12-24T21:06:00Z")

</div>

```
>apt-cache search sdl mixer dev

```

gives us some hits, including:

```
 libsdl2-mixer-dev - Mixer library for Simple DirectMedia Layer 2, development files

```

So install that, and that should let you get the sound support working.

---

<div class="post-metadata">

**Author:** ![Litppunk](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.cataclysmdda.org/litppunk/32/409_2.png) [@Litppunk](https://discourse.cataclysmdda.org/u/Litppunk)\
**Post date:** [December 24, 2018, 9:09pm UTC](https://discourse.cataclysmdda.org/t/building-graphical-on-linux-and-other-linux-q-a/18058/15 "2018-12-24T21:09:01Z")

</div>

yea think I have that after I copied another line off of CDDA site

now its:

`make: ccache: Command not found make: ccache: Command not found Makefile:813: recipe for target 'obj/tiles/action.o' failed make: ***[obj/tiles/action.o] Error 127 make:*** Waiting for unfinished jobs.... Makefile:813: recipe for target 'obj/tiles/active_item_cache.o' failed make: ***[obj/tiles/active_item_cache.o] Error 127 make: ccache: Command not found Makefile:813: recipe for target 'obj/tiles/activity_handlers.o' failed make:*** [obj/tiles/activity_handlers.o] Error 127`

---

<div class="post-metadata">

**Author:** ![Mantar](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.cataclysmdda.org/mantar/32/42_2.png) [@Mantar](https://discourse.cataclysmdda.org/u/Mantar)\
**Post date:** [December 24, 2018, 9:11pm UTC](https://discourse.cataclysmdda.org/t/building-graphical-on-linux-and-other-linux-q-a/18058/16 "2018-12-24T21:11:15Z")

</div>

```
ccache: Command not found

```

That’s easy, you need to install ccache.

---

<div class="post-metadata">

**Author:** ![Litppunk](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.cataclysmdda.org/litppunk/32/409_2.png) [@Litppunk](https://discourse.cataclysmdda.org/u/Litppunk)\
**Post date:** [December 24, 2018, 9:12pm UTC](https://discourse.cataclysmdda.org/t/building-graphical-on-linux-and-other-linux-q-a/18058/17 "2018-12-24T21:12:26Z")

</div>

Ah, ok I can see that now, that makes sense.

Hmm

/bin/sh: 1: luajit[A: not found  
Makefile:823: recipe for target ‘src/lua/catabindings.cpp’ failed  
make: \*\*\* [src/lua/catabindings.cpp] Error 127  
make: \*\*\* Waiting for unfinished jobs…  
litppunk@litppunk-Ubu:~/Programs/Games/C:DDA

---

<div class="post-metadata">

**Author:** ![Mantar](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.cataclysmdda.org/mantar/32/42_2.png) [@Mantar](https://discourse.cataclysmdda.org/u/Mantar)\
**Post date:** [December 24, 2018, 9:15pm UTC](https://discourse.cataclysmdda.org/t/building-graphical-on-linux-and-other-linux-q-a/18058/18 "2018-12-24T21:15:28Z")

</div>

Okay, one more tool missing from your toolkit. Luajit is a thing that speeds up Lua code, make sure you have it installed, and maybe take the [A off the end of your “LUA\_BINARY=luajit[A” part of your make command.

---

<div class="post-metadata">

**Author:** ![Litppunk](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.cataclysmdda.org/litppunk/32/409_2.png) [@Litppunk](https://discourse.cataclysmdda.org/u/Litppunk)\
**Post date:** [December 24, 2018, 9:15pm UTC](https://discourse.cataclysmdda.org/t/building-graphical-on-linux-and-other-linux-q-a/18058/19 "2018-12-24T21:15:37Z")

</div>

installing luajit did a lot of something, but I still get the same return whenI tried the make

hmm… think I broke it Im still waiting for… something to finish

accidentally did something that interupted the last command… I think? and now it won’t finish and give me a propt

---

<div class="post-metadata">

**Author:** ![Mantar](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.cataclysmdda.org/mantar/32/42_2.png) [@Mantar](https://discourse.cataclysmdda.org/u/Mantar)\
**Post date:** [December 24, 2018, 9:21pm UTC](https://discourse.cataclysmdda.org/t/building-graphical-on-linux-and-other-linux-q-a/18058/20 "2018-12-24T21:21:23Z")

</div>

Did you press Ctrl-S? That’s a scroll lock key, it stops the terminal updating so you can read something or whatever. Press Ctrl-Q to release it.

And definitely take that [A off.

[Next page](https://discourse.cataclysmdda.org/t/building-graphical-on-linux-and-other-linux-q-a/18058.md?page=2)
