- Symulator MaSzyna -

Symulator EU07 (i nie tylko) => Bieżące Symulatorowe => Wątek zaczęty przez: jacek_leszczynski w 07 Marca 2018, 16:23:40

Tytuł: Wersja natywna symulatora pod Linux
Wiadomość wysłana przez: jacek_leszczynski w 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.
Tytuł: Odp: Wersja natywna symulatora pod Linux
Wiadomość wysłana przez: Milek7 w 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.
Tytuł: Odp: Wersja natywna symulatora pod Linux
Wiadomość wysłana przez: Smok E_ustachy w 10 Marca 2018, 23:49:17
Będzie wtedy pole do dyskusji. Na razie ostatnia wersja nie działa.
Tytuł: Odp: Wersja natywna symulatora pod Linux
Wiadomość wysłana przez: Milek7 w 10 Marca 2018, 23:50:09
Ale co nie działa?
Tytuł: Odp: Wersja natywna symulatora pod Linux
Wiadomość wysłana przez: Smok E_ustachy w 11 Marca 2018, 13:27:09
Ostatnia wersja symulatora nie działa pod WINE. A jak widzę wersji linuksowej za bardzo nie ma.
Tytuł: Odp: Wersja natywna symulatora pod Linux
Wiadomość wysłana przez: Wiggle w 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.
Tytuł: Odp: Wersja natywna symulatora pod Linux
Wiadomość wysłana przez: jacek_leszczynski w 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.
Tytuł: Odp: Wersja natywna symulatora pod Linux
Wiadomość wysłana przez: czatowiec w 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ę? ;)
Tytuł: Odp: Wersja natywna symulatora pod Linux
Wiadomość wysłana przez: Krzysiek626 w 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.
Tytuł: Odp: Wersja natywna symulatora pod Linux
Wiadomość wysłana przez: Milek7 w 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)
Tytuł: Odp: Wersja natywna symulatora pod Linux
Wiadomość wysłana przez: czatowiec w 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 :)
Tytuł: Odp: Wersja natywna symulatora pod Linux
Wiadomość wysłana przez: Smok E_ustachy w 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.
Tytuł: Odp: Wersja natywna symulatora pod Linux
Wiadomość wysłana przez: Milek7 w 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)
Tytuł: Odp: Wersja natywna symulatora pod Linux
Wiadomość wysłana przez: Smok E_ustachy w 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.
Tytuł: Odp: Wersja natywna symulatora pod Linux
Wiadomość wysłana przez: czatowiec w 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".
Tytuł: Odp: Wersja natywna symulatora pod Linux
Wiadomość wysłana przez: Milek7 w 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ą)
Tytuł: Odp: Wersja natywna symulatora pod Linux
Wiadomość wysłana przez: joey w 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 (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.
Tytuł: Odp: Wersja natywna symulatora pod Linux
Wiadomość wysłana przez: Milek7 w 01 Maja 2018, 00:36:54
Jeszcze tylko nie zapomnieć o -DCMAKE_BUILD_TYPE=Release, bo zbuduje bez optymalizacji.
Tytuł: Odp: Wersja natywna symulatora pod Linux
Wiadomość wysłana przez: MarekM w 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?
Tytuł: Odp: Wersja natywna symulatora pod Linux
Wiadomość wysłana przez: MarekM w 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?
Tytuł: Odp: Wersja natywna symulatora pod Linux
Wiadomość wysłana przez: Milek7 w 05 Lipca 2018, 12:48:31
Wymagany jest kompilator obsługujący c++14.
Tytuł: Odp: Wersja natywna symulatora pod Linux
Wiadomość wysłana przez: MarekM w 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.
Tytuł: Odp: Wersja natywna symulatora pod Linux
Wiadomość wysłana przez: MarekM w 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ć.
Tytuł: Odp: Wersja natywna symulatora pod Linux
Wiadomość wysłana przez: Milek7 w 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)).

Tytuł: Odp: Wersja natywna symulatora pod Linux
Wiadomość wysłana przez: MarekM w 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.
Tytuł: Odp: Wersja natywna symulatora pod Linux
Wiadomość wysłana przez: Milek7 w 05 Lipca 2018, 14:56:15
za stary kompilator i za stare libpng
Tytuł: Odp: Wersja natywna symulatora pod Linux
Wiadomość wysłana przez: MarekM w 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ć?
Tytuł: Odp: Wersja natywna symulatora pod Linux
Wiadomość wysłana przez: MarekM w 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)
Tytuł: Odp: Wersja natywna symulatora pod Linux
Wiadomość wysłana przez: Milek7 w 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.
Tytuł: Odp: Wersja natywna symulatora pod Linux
Wiadomość wysłana przez: MarekM w 05 Lipca 2018, 15:59:26
To tradycyjnie daję w pliku, bo długie.
Tytuł: Odp: Wersja natywna symulatora pod Linux
Wiadomość wysłana przez: Milek7 w 05 Lipca 2018, 16:23:19
A z wyłączonym pch tak jak pisałem wcześniej to samo?
Tytuł: Odp: Wersja natywna symulatora pod Linux
Wiadomość wysłana przez: MarekM w 05 Lipca 2018, 16:29:23
Identycznie.

EDIT: Jedyna opcja, której nie przywróciłem to cmake_policy(SET CMP0072 NEW), bo po jej przywróceniu wywala się tak jak poprzednio (dlatego zostawiłem statyczne cmake_policy(VERSION 3.0) ).
Tytuł: Odp: Wersja natywna symulatora pod Linux
Wiadomość wysłana przez: Milek7 w 05 Lipca 2018, 18:46:44
No tak, nie zauważyłem. glfw też masz za stare :) Potrzeba przynajmniej 3.2
Tytuł: Odp: Wersja natywna symulatora pod Linux
Wiadomość wysłana przez: MarekM w 06 Lipca 2018, 04:14:52
Mam już 3.2.1. Poprawa - kompilacja doszła dalej niż poprzednio. Zwiecha na uart. Zainstalowałem libserialport z najnowszych źródeł. Poszło dalej aż do linkowania. I teraz jestem bez pomysłu. Zwiecha na "World.cpp:(.text+0x2505): undefined reference to `glfwGetKeyName'"
Detale w załączniku.
Tytuł: Odp: Wersja natywna symulatora pod Linux
Wiadomość wysłana przez: Milek7 w 06 Lipca 2018, 09:23:06
Chyba chce zalinkować ze starszą wersją niż masz nagłówki. Podaj mu ręcznie ścieżkę do .so w cmake w -DGLFW3_LIBRARIES=ścieżka/libglfw.so
Tytuł: Odp: Wersja natywna symulatora pod Linux
Wiadomość wysłana przez: MarekM w 06 Lipca 2018, 09:36:24
Sprawdziłem to już wcześniej. Z nieznanych mi przyczyn, pomimo poprawnej instalacji libglfw kompilowane ze źródeł nie zapisuje biblioteki libglfw.so . Zadałem już pytanie na IRC i forum GLFW o co biega.
Tytuł: Odp: Wersja natywna symulatora pod Linux
Wiadomość wysłana przez: MarekM w 06 Lipca 2018, 10:11:13
Poradziłem sobie instalując z deb wziętego z repo wyższej dystrybucji (EOS to stabilna Ubuntu 16.04, glfw 3.2.1 jest od 18.04). Niby nieładnie ale działa. Kompiluje się bezboleśnie.
Następne moje pytanie - skąd wezmę katalog gry? Próbowałem linku tego wątku, ale nic tam nie ma.
Tytuł: Odp: Wersja natywna symulatora pod Linux
Wiadomość wysłana przez: Milek7 w 06 Lipca 2018, 10:53:32
pobrać i wypakować w kolejności:
http://eu07.pl/theme/MaSzyna1803.zip.torrent
http://eu07.pl/theme/MaSzynaP1805.zip.torrent
http://eu07.pl/theme/MaSzynaP1806.zip.torrent
No i do tego katalog pythona tak jak opisany wyżej w tym wątku.
Tytuł: Odp: Wersja natywna symulatora pod Linux
Wiadomość wysłana przez: MarekM w 06 Lipca 2018, 13:11:06
Dzięki za pomoc, wreszcie działa. No może nie do końca, ale siedzę już w środku lokomotywy. Sceneria się nie wyświetla, tzn. tor i mechaniczne gadżety tak, ale już drzewa nie (a w lusterku je widzę). Ale poza tym już działa, co oznacza, że się da. Na weekend jak znalazł. Jeśli mógłbym pomóc w czymś, to z pingwinem radzę sobie od dawna, w bash'u i make'ach mogę pogrzebać, z programowania py, różne ml, do cpp też mogę wrócić po latach, w blenderze mogę coś wymodelować. Oczywiście czas mam ograniczony, ale w wolnym, z sentymentu chętnie się czymś zajmę.
Tytuł: Odp: Wersja natywna symulatora pod Linux
Wiadomość wysłana przez: Milek7 w 06 Lipca 2018, 13:20:02
No to następna dziwna sprawa, bo powinno działać wszystko :/
Może kwestia starych sterowników do grafiki. (masz nvidia/nouvenau/amdgpu/radeon/intel?)
Możesz sobie znaleźć coś do roboty w exe, chętnie przyjmę pull requesty. Z pytaniami najlepiej przyjdź na #dev na czacie.
Tytuł: Odp: Wersja natywna symulatora pod Linux
Wiadomość wysłana przez: MarekM w 06 Lipca 2018, 13:40:39
Mam nvidia 1080ti z własnościowymi sterownikami (nvidia390). Zwykle wszystko chodzi.
Dev z chęcią, ale tylko pod linuksem. Nie dotykam windy od dawna i mamdo tego lepsze powody niż pingwinowy fanatyzm :) . Gdzie ów czat znajdę, bo dopiero zaczynam się rozglądać?
Tytuł: Odp: Wersja natywna symulatora pod Linux
Wiadomość wysłana przez: carmel4a w 06 Lipca 2018, 13:52:09
Główne menu Forum, po prawej, przed "Wyloguj się". Albo: https://milek7.pl:8065/eu07/channels/town-square
Tytuł: Odp: Wersja natywna symulatora pod Linux
Wiadomość wysłana przez: MarekM w 06 Lipca 2018, 13:55:33
Dzięki, robiłem ^F na głównej, a tutaj już na to nie wpadłem :)