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


#1

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.


#2

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?


#3

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.


#4

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


#5

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.


#6

so

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…


#7

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.


#8

but the lua packages ARE there.

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


#9

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


#10

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.


#11

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


#12

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


#13

Im Ubuntu so I can ease myself into these things…

starting to think that might be null


#14
>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.


#15

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


#16
ccache: Command not found

That’s easy, you need to install ccache.


#17

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


#18

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.


#19

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


#20

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.