[[oktatas:Linux|< Linux]] ====== Fordítás forrásból ====== * **Szerző:** Sallai András * Copyright (c) 2018, Sallai András * Szerkesztve: 2018, 2019 * Licenc: [[https://creativecommons.org/licenses/by-sa/4.0/|CC BY-SA 4.0]] * Web: https://szit.hu ===== Star Traders ===== Legyen a példa kedvéért egy játék, a Star Trader * https://www.zap.org.au/software/trader/ (2018) Letöltjük az aktuális verziót: wget https://ftp.zap.org.au/pub/trader/unix/trader-7.12.tar.xz Kicsomagoljuk: unxz trader-7.12.tar.xz tar -xf trader-7.12.tar Szükséges csomagok telepítése: apt install build-essential libncurses5-dev libncursesw5-dev A libncursesw5-dev nélkül lefordul, de magyar nyelven olvashatatlan szöveget kapunk. Fordítás: cd trader-7.12 ./configure make Telepítés: make install Problémák: A program tud, magyarul, de a magyar nyelvű környezetben az ékezetes karakterek helytelenül jelennek meg. ===== 2048-cli ===== Git tároló: * https://github.com/tiehuis/2048-cli Letöltés: git clone https://github.com/tiehuis/2048-cli.git Van Makefile, így nem kell készíteni, mehet a fordítás. cd 2048-cli make Indítás: ./2048 Irányítás: * hjkl és wasd -- alapértelmezettként * q -- kilépés ===== myman ===== Egy PacMan klón. Webhely: * https://myman.sourceforge.io/ (2018) Letöltés: * https://sourceforge.net/projects/myman/ Letöltés után egy ehhez hasonló fájlt kapunk: myman-wip-2009-10-30.tar.gz Kicsomagolás: tar -xzf myman-wip-2009-10-30.tar.gz Fordítás: cd myman-wip-2009-10-30 make ===== lunar-lander ===== Git tároló: * https://github.com/lfuelling/lunar-lander Letöltés: git clone https://github.com/lfuelling/lunar-lander.git Fordítás: cd lunar-lander make Önnek landolnia kell egy űrkapszulával. A rakéták számítógépes vezérlése elromlott, ezért kézzel kell beállítani azok teljesítményét. A rakéták égési sebességét 10 másodpercenként, kell állítani. Értékek: * 0 szabadesés * 200 maximális rakéta hajtás ===== SnakeC ===== Szükséges csomagok: apt install build-essential libncurses5-dev Beszerzés: git clone https://github.com/Entalpi/SnakeC Javítás: nano main.c Vegyük fel a következő sort: #include Fordítás: cd SnakeC make Indítás: ./snake ===== tetris-term ===== Adott a következő tároló: * https://github.com/Gjum/tetris-term Beszerzés: git clone https://github.com/Gjum/tetris-term.git Fordítás: make ===== snake-game ===== Szükséges ncurses: apt install libncurses5-dev Git tároló: * https://github.com/invzhi/snake-game Beszerzés: git clone https://github.com/invzhi/snake-game.git Fordítás: make Futtatás: ./snake A program nem teljes. ===== nano ===== A nano egy szövegszerkesztő. Legújabb verzióját leszedhetjük a github.com szerverről: git clone git://git.savannah.gnu.org/nano.git cd nano ./autogen.sh ./configure make make install ==== Függőségek ==== A függőségek telepítése: apt install pkgconf libncursesw5-dev texinfo Hogyan derülhet ki, hogy ezek a függőségek? Lehetséges probléma: configure: error: *** The pkg.m4 macros are missing. *** The pkg-config package needs to be installed when building from git. *** After fixing this problem, rerun ./autogen.sh. Megoldás: apt install pkgconf Következő lehetséges probléma: ./configure: line 39143: syntax error near unexpected token `NCURSESW,' ./configure: line 39143: ` PKG_CHECK_MODULES(NCURSESW, ncursesw,' Újból futtatjuk: ./autogen.sh ./configure /home/andras/id/nano/missing: sor: 81: makeinfo: parancs nem található WARNING: 'makeinfo' is missing on your system. apt-file search makeinfo apt install texinfo Végül make: make ===== Tamagotchi ===== Github: * https://github.com/Gwennyphar/Tamagotchi git clone https://github.com/Gwennyphar/Tamagotchi.git ===== ASCII-pong ===== Webhely: * https://github.com/ReneHSZ/ascii-pong Klónozás: git clone https://github.com/ReneHSZ/ascii-pong.git ===== 2048.c ===== * https://github.com/mevdschee/2048.c git clone https://github.com/mevdschee/2048.c.git cd 2048.c cc -o 2048 2048.c ===== BattleShipsTerminal ===== * https://github.com/hailstorm75/BattleShipsTerminal ===== hangman_game ===== apt install build-essential git clone https://github.com/anirudh1200/hangman_game.git cd hangman_game cc hangman.c Futtatás: ./a.out ===== 2048Haskell ===== Ahogy a neve is mutatja Haskell nyelven íródott. Szükségünk van egy stack parancsra. Telepítsük: apt install haskell-stack A program használja az ncurses programozói könyvtárakat ezért telepítsük: apt install libncurses5-dev libncursesw5-dev git clone https://github.com/8Gitbrix/2048Haskell.git git 2048Haskell stack setup stack build stack exec 2048Haskell ===== cli-blackjack ===== * Java program Szükséges csomagok telepítése: apt install git grandle openjdk-8-jdk git clone https://github.com/GuttermanA/cli-blackjack.git cd cli-blackjack grandle build ===== Ellenőrzött telepítés ===== Néhány forrásból telepített program nem biztosít eltávolítási lehetőséget (uninstall). Ezért használjunk a checkinstall programot. A checkinstall program a vele azonos nevű csomagban található. Debian 10 rendszeren csak **backports**-ból telepíthető. apt install checkinstall Ha telepítettük a checkinstallt, forráskód telepítése a következő módon történik: tar -zxvf source-app.tar.gz cd source ./configure make checkinstall A checkinstall úgy telepíti a forrásból fordított programot, hogy előbb készít egy .deb csomagot belőle (ez hosszú időt vehet igénybe), majd azt telepíti. A .deb formában telepített csomag bármikor leszedhető. ==== Utólag ==== A telepítő utólag is létrehozható. Lépjünk be a forrás könyvtárába, majd: checkinstall -D --fstrans=no make install Ez telepítés nélkül létrehozza a .deb csomagot. Telepítsük, majd távolítsuk el. ===== btop ===== git clone https://github.com/aristocratos/btop Fordítás: make Futtatás: bin/btop ===== Link ===== * https://github.com/topics/terminal-game (2019)