Autor Wątek:  Wersja natywna symulatora pod Linux  (Przeczytany 15073 razy)

0 użytkowników i 1 Gość przegląda ten wątek.

Offline jacek_leszczynski

  • Wiadomości: 10
    • Zobacz profil
  • Otrzymane polubienia: 1
Wersja natywna symulatora pod Linux
« dnia: 07 Marca 2018, 16:23:40 »
Hej, witam wszystkich.
To pierwszy mój wpis na tym forum.
Mam pytanie do was, ludzi rozwijających ten niesamowity symulator.
Czy myśleliście, by wydać wersję natywną działającą pod Linux-em?
Pozdrawiam ciepło.

Offline Milek7

  • Administrator
  • Wiadomości: 1051
    • Zobacz profil
  • Otrzymane polubienia: 906
Odp: Wersja natywna symulatora pod Linux
« Odpowiedź #1 dnia: 07 Marca 2018, 17:04:39 »
Aktualną paczkę w zipie możesz pobrać stąd, co by nie składać paczek 15.04 wzwyż ręcznie: http://eu07.pl/svnpak/maszyna-r2337.zip
Budowanie uniwersalnych binarek na linux to jest tragedia, więc trzeba sobie skompilować samemu: https://github.com/eu07/maszyna
Do tego przygotować katalog z pythonem (tu przykład z virtualenv dla 64bit)
virtualenv2 linuxpython64
source linuxpython64/bin/activate
pip2 install pillow

Mam zamiar to jakoś ładniej opisać i wstawić na główną, ale to jeszcze chwilę poczeka.

Offline Smok E_ustachy

  • Wiadomości: 272
    • Zobacz profil
  • Otrzymane polubienia: 33
Odp: Wersja natywna symulatora pod Linux
« Odpowiedź #2 dnia: 10 Marca 2018, 23:49:17 »
Będzie wtedy pole do dyskusji. Na razie ostatnia wersja nie działa.

Offline Milek7

  • Administrator
  • Wiadomości: 1051
    • Zobacz profil
  • Otrzymane polubienia: 906
Odp: Wersja natywna symulatora pod Linux
« Odpowiedź #3 dnia: 10 Marca 2018, 23:50:09 »
Ale co nie działa?

Offline Smok E_ustachy

  • Wiadomości: 272
    • Zobacz profil
  • Otrzymane polubienia: 33
Odp: Wersja natywna symulatora pod Linux
« Odpowiedź #4 dnia: 11 Marca 2018, 13:27:09 »
Ostatnia wersja symulatora nie działa pod WINE. A jak widzę wersji linuksowej za bardzo nie ma.

Offline Wiggle

  • Deweloper
  • Wiadomości: 478
    • Zobacz profil
  • Otrzymane polubienia: 144
Odp: Wersja natywna symulatora pod Linux
« Odpowiedź #5 dnia: 11 Marca 2018, 13:28:59 »
Działa działa, wczoraj zainstalowałem najnowszą wersję wygenerowaną z repo i na ubuntu działa bez problemu.
Maszynista Instruktor
POLREGIO Zakład Wielkopolski

Offline jacek_leszczynski

  • Wiadomości: 10
    • Zobacz profil
  • Otrzymane polubienia: 1
Odp: Wersja natywna symulatora pod Linux
« Odpowiedź #6 dnia: 12 Marca 2018, 13:32:02 »
Dzięki bardzo za linki, spróbuję sobie to skompilować.
(wersja pod wine działa i u mnie)

Dzięki, pozdrawiam.

Offline czatowiec

  • Wiadomości: 8
  • Fapacz tramwajarz
    • Zobacz profil
  • Otrzymane polubienia: 0
Odp: Wersja natywna symulatora pod Linux
« Odpowiedź #7 dnia: 14 Kwietnia 2018, 18:32:45 »
Jeszcze co prawda nie próbowałem kompilować (z chęcią spróbuję :)), ale ponieważ niespecjalnie siedzę w kompilowaniu paczek - jak już uda mi się skompilować paczkę pod konkretną wersję systemu oraz architekturę (przykładowo Ubuntu 18.04 64-bit), to wtedy jest sens udostępniać tutaj na forum gotową paczkę, żeby ludzie mogli sobie pobierać? A jak np. bym miał czas i puścił kompilację pod kolejnym OS i architekturą (np. OpenSUSE Leap 42.3 32-bit), to też wrzucić jako kolejną dostępną wersję? ;)

Offline Krzysiek626

  • Zasłużony dla Symulatora
  • Wiadomości: 5925
  • EXIT
    • Zobacz profil
    • Krzysiek626
  • Otrzymane polubienia: 445
Odp: Wersja natywna symulatora pod Linux
« Odpowiedź #8 dnia: 14 Kwietnia 2018, 19:37:04 »
Zwykle odpisujemy, że jak już będziesz miał ten materiał, to wtedy pytaj czy wrzucić na forum o ile chcesz się podzielić. Jeśli uzalezniasz swoją działalność od decyzji użytkowników forum, to nie ma sensu pytać. Nie wiadomo jaka wartość i efekt będzie miał efekt końcowy Twojej pracy.

Offline Milek7

  • Administrator
  • Wiadomości: 1051
    • Zobacz profil
  • Otrzymane polubienia: 906
Odp: Wersja natywna symulatora pod Linux
« Odpowiedź #9 dnia: 14 Kwietnia 2018, 20:13:04 »
Jeszcze co prawda nie próbowałem kompilować (z chęcią spróbuję :)), ale ponieważ niespecjalnie siedzę w kompilowaniu paczek - jak już uda mi się skompilować paczkę pod konkretną wersję systemu oraz architekturę (przykładowo Ubuntu 18.04 64-bit), to wtedy jest sens udostępniać tutaj na forum gotową paczkę, żeby ludzie mogli sobie pobierać? A jak np. bym miał czas i puścił kompilację pod kolejnym OS i architekturą (np. OpenSUSE Leap 42.3 32-bit), to też wrzucić jako kolejną dostępną wersję? ;)
Możesz wrzucić, może ktoś skorzysta.

Gotowe binareki to co jakiś czas buduję, tu ostatnia https://milek7.pl/.stuff/eu07exe/eu07_180401
zbudowane dla X11, wymaga pakietów ubuntu: freeglut3 libpython2.7 libpng16-16 libopenal1 libsndfile1 libluajit-5.1 libserialport0. (na innych dystrybucjach też zadziała, tylko trzeba znaleźć odpowiednie nazwy pakietów)

Offline czatowiec

  • Wiadomości: 8
  • Fapacz tramwajarz
    • Zobacz profil
  • Otrzymane polubienia: 0
Odp: Wersja natywna symulatora pod Linux
« Odpowiedź #10 dnia: 16 Kwietnia 2018, 21:16:56 »
Dobra, dzięki za rzucenie tematu. To są same binarki (tak jak exe), a reszta symulatora jest wspólna z tego co rozumiem? Jeśli tak, to możnaby w sumie pomyśleć o dorzucaniu kiedyś do paczki różnych binarek, a sam download ze strony byłby uniwersalny w tym momencie na kilka platform. Ewentualnie, czy myślał ktoś w ogóle o sensowności repozytorium dla Linuxa, żeby szary zjadacz chleba mógł zrobić "sudo apt install maszyna" i niech się dzieje? Mogłoby to pozytywnie wpłynąć na rozpoznawalność symulatora, gdyby instalacja była tak prosta, a sam symek promowany jako OpenSource i w wersjach linuksowych :)

Offline Smok E_ustachy

  • Wiadomości: 272
    • Zobacz profil
  • Otrzymane polubienia: 33
Odp: Wersja natywna symulatora pod Linux
« Odpowiedź #11 dnia: 16 Kwietnia 2018, 22:20:37 »
Jeszcze co prawda nie próbowałem kompilować (z chęcią spróbuję :)), ale ponieważ niespecjalnie siedzę w kompilowaniu paczek - jak już uda mi się skompilować paczkę pod konkretną wersję systemu oraz architekturę (przykładowo Ubuntu 18.04 64-bit), to wtedy jest sens udostępniać tutaj na forum gotową paczkę, żeby ludzie mogli sobie pobierać?
Ja se wtedy to Ubuntu postawię.
W sensie jestem za.

Offline Milek7

  • Administrator
  • Wiadomości: 1051
    • Zobacz profil
  • Otrzymane polubienia: 906
Odp: Wersja natywna symulatora pod Linux
« Odpowiedź #12 dnia: 16 Kwietnia 2018, 22:36:23 »
Dobra, dzięki za rzucenie tematu. To są same binarki (tak jak exe), a reszta symulatora jest wspólna z tego co rozumiem
Tak (a, no jeszcze trzeba wygenerować virtualenv z pythonem i pillow)
Ewentualnie, czy myślał ktoś w ogóle o sensowności repozytorium dla Linuxa, żeby szary zjadacz chleba mógł zrobić "sudo apt install maszyna" i niech się dzieje? Mogłoby to pozytywnie wpłynąć na rozpoznawalność symulatora, gdyby instalacja była tak prosta, a sam symek promowany jako OpenSource i w wersjach linuksowych :)
Jak ktoś zajmie się pakowaniem paczek na różne distra, to jak najbardziej. Tylko to też poczeka na autoupdater, bo przecież nie wepchniemy na repozytoria systemów paczki 2GB. (a opensource to jest główny kod, a content nie jest opensource w znaczeniu OSI)

Offline Smok E_ustachy

  • Wiadomości: 272
    • Zobacz profil
  • Otrzymane polubienia: 33
Odp: Wersja natywna symulatora pod Linux
« Odpowiedź #13 dnia: 16 Kwietnia 2018, 22:57:54 »
To możesz zrobić nakładką. W sensie ściągasz sobie zwykła wersję a w repozytorium są tylko pliki właściwe dla Linuksa.

Offline czatowiec

  • Wiadomości: 8
  • Fapacz tramwajarz
    • Zobacz profil
  • Otrzymane polubienia: 0
Odp: Wersja natywna symulatora pod Linux
« Odpowiedź #14 dnia: 30 Kwietnia 2018, 21:32:18 »
Próbuję skompilować MaSzynę pobraną z gita, zarówno na OpenSUSE Leap 42.3, jak i Ubuntu 17.10.  Wiadomo - różnych paczek z "dev" w nazwie brakowało, ale do tej pory wszystkie brakujące składniki systemu udało się namierzyć i doinstalować. Ale z ustrojstwem poniżej mam bardzo duży problem - kilka paczek związanych z GLFW3 doinstalowywałem, ale dalej bez skutku i nie jestem w stanie skompilować MaSzyny ;) Macie może jakieś sugestie lub doświadczenia, co należy konkretnie zainstalować i jak? ;) Poniżej wyciąg z terminala:
 
czatowiec@czatowiec-E4310:~$ cmake maszyna
CMake Error at /usr/share/cmake-3.9/Modules/FindPackageHandleStandardArgs.cmake:137 (message):
  Could NOT find GLFW3 (missing: GLFW3_LIBRARIES)
Call Stack (most recent call first):
  /usr/share/cmake-3.9/Modules/FindPackageHandleStandardArgs.cmake:377 (_FPHSA_FAILURE_MESSAGE)
  CMake_modules/FindGLFW3.cmake:74 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
  CMakeLists.txt:159 (find_package)


-- Configuring incomplete, errors occurred!
See also "/home/czatowiec/CMakeFiles/CMakeOutput.log".

Offline Milek7

  • Administrator
  • Wiadomości: 1051
    • Zobacz profil
  • Otrzymane polubienia: 906
Odp: Wersja natywna symulatora pod Linux
« Odpowiedź #15 dnia: 30 Kwietnia 2018, 22:01:03 »
To co widać w komunikacie, FindGLFW3.cmake jest popsuty. Nie chciało mi się w tym grzebać. Albo go popraw albo wstaw bezpośrednio ścieżkę, np. -DGLFW3_LIBRARIES=/usr/lib64/libglfw.so (oczywiście z odpowiednią ścieżką)

Offline joey

  • Deweloper
  • Wiadomości: 425
  • the Invisible Man
    • Zobacz profil
  • Otrzymane polubienia: 218
Odp: Wersja natywna symulatora pod Linux
« Odpowiedź #16 dnia: 01 Maja 2018, 00:27:08 »
Udalo mi sie skompilowac binarke, ktora zdaje sie dzialac, pod Debianem 9 x86_64. Instrukcja kompilacji i uzytkowania dla tego systemu, po mojemu:
1. Instalujemy CMake i inne potrzebne pakiety*:# apt-get install cmake-gui git libglew-dev libglfw3-dev freeglut3-dev libxmu-dev libxi-dev libpython-all-dev libglm-dev libopenal-dev libsndfile-dev libluajit-5.1-dev libserialport-dev freeglut3 libpython2.7 libpng16-16 libopenal1 libsndfile1 libluajit-5.1-2 libserialport0 virtualenv
2. Sciagamy zrodla:$ git clone https://github.com/eu07/maszyna.gitW biezacym katalogu zostanie utworzony katalog maszyna.

3. Odpalamy CMake (cmake-gui), jako lokalizacje zrodla podajemy utworzony w poprzednim kroku katalog maszyna, lokalizacja budowania binarek w zasadzie dowolna. Klikamy Configure, wywali blad, ze nie moze znalezc bibliotek GLFW3. W utworzonej przez CMake pozycji GLFW3_LIBRARIES wklejamy wartosc /usr/lib/x86_64-linux-gnu/libglfw.so, klikamy Configure jeszcze raz, a nastepnie Generate.

4. Zamykamy CMake. W lokalizacji budowy binarek wykonujemy:$ makeUtworzony zostanie katalog bin z binarka, nalezy umiescic ja w katalogu symulatora i upewnic sie, ze ma uprawnienia pliku wykonywalnego.

5. W katalogu symulatora nalezy utworzyc katalog linuxpython64:$ virtualenv linuxpython64
$ source linuxpython64/bin/activate
$ pip2 install pillow
EDIT 20190325: virtualenv odnosi sie do wersji Python 2.

6. Aby binarka linuksowa byla kompatybilna z Rainsted, nalezy pobrac wrapper: https://milek7.pl/.stuff/eu07exe/eu07.exe, umiescic go w katalogu symulatora, nadac uprawnienia pliku wykonywalnego, zmienic nazwe na nazwe binarki.exe, czyli jesli nazwa binarki to eu07_180430, wrapper powinien nazywac sie eu07_180430.exe.

* jak czegos brakuje albo jest niepotrzebnie, krzyczec. ;)
POPRAWKA 20180618: Opisane akcje dotyczace CMake odnosza sie do cmake-gui.
« Ostatnia zmiana: 25 Marca 2019, 04:57:45 wysłana przez joey »

Offline Milek7

  • Administrator
  • Wiadomości: 1051
    • Zobacz profil
  • Otrzymane polubienia: 906
Odp: Wersja natywna symulatora pod Linux
« Odpowiedź #17 dnia: 01 Maja 2018, 00:36:54 »
Jeszcze tylko nie zapomnieć o -DCMAKE_BUILD_TYPE=Release, bo zbuduje bez optymalizacji.

Offline MarekM

  • Wiadomości: 15
    • Zobacz profil
  • Otrzymane polubienia: 0
Odp: Wersja natywna symulatora pod Linux
« Odpowiedź #18 dnia: 05 Lipca 2018, 12:04:29 »
Witam (bo jestem tu nowy),

Pamiętam Maszynę jeszcze z czasów, w których sporadycznie używałem Windy (lata temu). Ponieważ zauważyłem możliwość instalacji na pingwinie, pokusiłem się o takową. Niestety, wywala mi się konfigurowanie na " Policy "CMP0072" is not known to this version of CMake". Co nie dziwi, bo używam cmake 3.5.1, a wspomniana policy jest deprecated od 3.2 zdaje się. Dotyczy ona FindOpenGL. No, i teraz nie bardzo wiem co mam zrobić.
System ElementaryOS (taki wykastrowane i uładnione Ubuntu, które dzięki dodatkowym moim modyfikacjom niewiele odbiega od Debiana 9). Karta Nvidia 1080Ti z driverem nvidia390 (na wolnych nie chce chodzić).
Jak mogę sobie poradzić z tym problemem?

Offline MarekM

  • Wiadomości: 15
    • Zobacz profil
  • Otrzymane polubienia: 0
Odp: Wersja natywna symulatora pod Linux
« Odpowiedź #19 dnia: 05 Lipca 2018, 12:37:16 »
Właściwie z pierwszym krokiem sobie poradziłem szybko - w CMakeLists.txt zmieniłem cmake_policy(SET CMP0072 NEW) na cmake_policy(VERSION 3.0). I wszystko się skonfigurowało i zbudowało. Problem jest dalej z make. Sieje błędami, ale pierwszy z brzegu to
Cytuj
c++0x_warning.h:32:2: error: This file requires compiler and library support for the ISO C++ 2011 standard. This support must be enabled with the -std=c++11 or -std=gnu++11 compiler options
i pewnie powoduje kaskadę pozostałych. Gdzie i w ilu miejscach powinienem wrzucić "-std=gnu++11", może się ktoś orientuje?

Offline Milek7

  • Administrator
  • Wiadomości: 1051
    • Zobacz profil
  • Otrzymane polubienia: 906
Odp: Wersja natywna symulatora pod Linux
« Odpowiedź #20 dnia: 05 Lipca 2018, 12:48:31 »
Wymagany jest kompilator obsługujący c++14.
« Ostatnia zmiana: 05 Lipca 2018, 12:51:07 wysłana przez Milek7 »

Offline MarekM

  • Wiadomości: 15
    • Zobacz profil
  • Otrzymane polubienia: 0
Odp: Wersja natywna symulatora pod Linux
« Odpowiedź #21 dnia: 05 Lipca 2018, 13:57:59 »
Mam gcc 5.4.0 . Od 5.2.0 jest wsparcie dla 14. Więc nie powinno być problemu.
Make protestuje, bo cmake z jakiegoś powodu nie dołączył gdzieś dyrektywy wymuszenia zgodności. Chciałbym wiedzieć, jak sobie z tym poradzić bez grzebania w bebechach. Na mój miałki rozum, to powinno być wymuszone na etapie konfiguracji (pewnie dyrektywą), ale cpp to nie moja bajka i nie znam biegle jego toolchaina.

Offline MarekM

  • Wiadomości: 15
    • Zobacz profil
  • Otrzymane polubienia: 0
Odp: Wersja natywna symulatora pod Linux
« Odpowiedź #22 dnia: 05 Lipca 2018, 14:24:59 »
Dodałem CMAKELISTS.txt:

Cytuj
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14")

ale błąd pozostaje ten sam.
Pierwszy błąd (który prawdopodobnie pociąga za sobą pozostałe) odwołuje się do /usr/include
Cytuj
In file included from /usr/include/c++/5/cstdint:35:0,
                 from /home/mark/apps/games/maszyna-build-new/eu07_pch/stdafx.h:39:
/usr/include/c++/5/bits/c++0x_warning.h:32:2: error: #error This file requires compiler and library support for the ISO C++ 2011 standard. This support must be enabled with the -std=c++11 or -std=gnu++11 compiler options.
 #error This file requires compiler and library support \

Co robić, jak żyć.

Offline Milek7

  • Administrator
  • Wiadomości: 1051
    • Zobacz profil
  • Otrzymane polubienia: 906
Odp: Wersja natywna symulatora pod Linux
« Odpowiedź #23 dnia: 05 Lipca 2018, 14:28:42 »
Spróbuj wyłączyć pch (wyal #include(PrecompiledHeader) i add_precompiled_header(${PROJECT_NAME} stdafx.h FORCEINCLUDE SOURCE_CXX stdafx.cpp)).


Offline MarekM

  • Wiadomości: 15
    • Zobacz profil
  • Otrzymane polubienia: 0
Odp: Wersja natywna symulatora pod Linux
« Odpowiedź #24 dnia: 05 Lipca 2018, 14:51:24 »
Zmieniło się coś, ale nie na lepsze :) (próbowałem zarówno z poprzednio włączonymi opcjami, jak i bez nich). Wywala inne błędy. Detale w załączniku.

Offline Milek7

  • Administrator
  • Wiadomości: 1051
    • Zobacz profil
  • Otrzymane polubienia: 906
Odp: Wersja natywna symulatora pod Linux
« Odpowiedź #25 dnia: 05 Lipca 2018, 14:56:15 »
za stary kompilator i za stare libpng

Offline MarekM

  • Wiadomości: 15
    • Zobacz profil
  • Otrzymane polubienia: 0
Odp: Wersja natywna symulatora pod Linux
« Odpowiedź #26 dnia: 05 Lipca 2018, 15:16:17 »
Ok, właśnie instaluję nowsze (choć te powinny wspierać 14) i dam znać. Którą wersję libpng powinienem mieć?

Offline MarekM

  • Wiadomości: 15
    • Zobacz profil
  • Otrzymane polubienia: 0
Odp: Wersja natywna symulatora pod Linux
« Odpowiedź #27 dnia: 05 Lipca 2018, 15:45:42 »
Ok, zainstalowałem gcc/g++ 8.1 i dodałem do alternatyw jako domyślne. Zainstalowałem libpng16-dev. Dało to efekt - nie wywala błędów poprzednich, za to wywala nowe związane z GLFW:
/home/mark/apps/games/maszyna/Console.h:54:42: note: suggested alternative: ‘GL_TRUE’
      if (glfwGetKey(Global.window, x) == GLFW_TRUE)
                                          ^~~~~~~~~
                                          GL_TRUE

Wersja GLFW: libglfw3 (3.1.2-3)

Offline Milek7

  • Administrator
  • Wiadomości: 1051
    • Zobacz profil
  • Otrzymane polubienia: 906
Odp: Wersja natywna symulatora pod Linux
« Odpowiedź #28 dnia: 05 Lipca 2018, 15:53:52 »
No dziwne. Wstawiaj błędy razem z drzewkiem ścieżek na górze i jednostką kompilacji w której występuje.

Offline MarekM

  • Wiadomości: 15
    • Zobacz profil
  • Otrzymane polubienia: 0
Odp: Wersja natywna symulatora pod Linux
« Odpowiedź #29 dnia: 05 Lipca 2018, 15:59:26 »
To tradycyjnie daję w pliku, bo długie.