vyuka:cviceni:x36dsi:linux

  • Stáhněte archiv se zdrojovými soubory výukového simulačního systému → sho_linux.tgz .
  • Rozbalte jej do vhodného adresáře (budete potřebovat několik kB volného místa pro překlad).
  • Soubor rozbalte příkazy tar/gzip a změňte adresář na sho
    misko@localhost:~$ tar xzf sho_linux.tgz 
    misko@localhost:~$ cd sho
    misko@localhost:~/sho$  
      
  • Projekt sestavte příkazem make.
    misko@localhost:~/sho$ make
    rm -f *.o
    rm -f *core*
    rm -f lyzari
    rm -f menza
    rm -f *~
    g++ `pth-config --cflags` -c -o simset.o simset.cc
    g++ `pth-config --cflags` -o random.o -c random.cc
    g++ `pth-config --cflags` -c -o simulation.o simulation.cc
    g++ `pth-config --cflags` -c -o thread.o thread.cc
    g++ `pth-config --cflags` -c -o eventnotice.o eventnotice.cc
    g++ `pth-config --cflags` -c -o process.o process.cc 
    g++ `pth-config --cflags` `pth-config --cflags` -c -o main.o main.cc
    g++ `pth-config --cflags` -c -o hlavni.o hlavni.cc
    g++ `pth-config --cflags` -c -o hlavni0.o hlavni0.cc
    g++ `pth-config --cflags` -L`pth-config --libdir` -o lyzari simset.o random.o simulation.o thread.o eventnotice.o process.o main.o hlavni.o `pth-config --libs`
    g++ `pth-config --cflags` -L`pth-config --libdir` -o menza simset.o random.o simulation.o thread.o eventnotice.o process.o main.o hlavni0.o `pth-config --libs`
      
  • Prozkoumejte zdrojový kód. Komentáře Vám napoví.
  • Spusťte simulaci:
    ./lyzari
  • Dále upravujte pouze zdrojový soubor hlavni0.cpp (v jiných zdrojích se jmenuje main0.cpp).

Budete potřebovat:

  1. GNU g++, kompilátor ze sady gcc (zde) - testováno s verzemi 2.95.3 (debian, freebsd), 2.96 (redhat) a 3.2.3 (debian). S menšími problémy běhá i na GNU/Hurd.
  2. knihovnu GNU pth (zde) - pracuje s verzemi 1.3.0 a vyšší
  3. GNU make (zde)

Problémy při překladu:

  • Chybí knihovna pth
          misko@localhost:~/sho$ make
          rm -f *.o
          rm -f *core*
          rm -f lyzari
          rm -f menza
          rm -f *~
          g++ `pth-config --cflags` -c -o simset.o simset.cc
          /bin/sh: pth-config: command not found
          g++ `pth-config --cflags` -o random.o -c random.cc
          /bin/sh: pth-config: command not found
          g++ `pth-config --cflags` -c -o simulation.o simulation.cc
          /bin/sh: pth-config: command not found
          In file included from process.h:7,
                           from simulation.h:10,
                           from simulation.cc:5:
          thread.h:9: pth.h: No such file or directory
          make: *** [simulation] Error 1

Řešení:

  • Debian GNU/[Linux,Hurd]:
                apt-get install libpth-dev
  • Fedora: Nainstalujte balík pth-devel:
                yum install pth-devel
  • Michal Medvecký, Rudolf Marek, Michal Perďoch: Úprava win verze pro OS Linux, květen 2003
  • Jiří Buček: Vytvoření návodu, 2004
  • Tomáš Dubec a Tomáš Hroch: Nalezení a odstranění chyby v thread.cc, duben 2008
  • vyuka/cviceni/x36dsi/linux.txt
  • Last modified: 2008/04/12 23:23
  • by smitka