Hallo
(22.07.2020 08:28)Eddi schrieb: Wie immer bei Kompilierproblemen gilt: Probiere erstmal, das unmodifizierte Spiel zu kompilieren.
Habe ich getan, hat ebenfalls nicht funktioniert. Ich bekomme beim Lauf von
cmake .. ein paar Warnungen über nicht gefundene Bibliotheken, obwohl diese laut Synaptic installiert sind (Allegro, SDL2, Fluidsynth). Bei Ausführung von
make gibt es Meldungen über nicht korrekte sRGB-Profile, ansonsten aber keine Fehlerausgaben.
./configure:
Code:
auge@N130BU:~/Projekte/OpenTTD/build$ cmake ..
-- The C compiler identification is GNU 7.5.0
-- The CXX compiler identification is GNU 7.5.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Detecting Personal Data directory - .openttd
-- Detecting Shared Data directory - (not set)
-- Detecting Global Data directory - /usr/local/share/games/openttd
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - not found
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE
-- Found ZLIB: /usr/lib/x86_64-linux-gnu/libz.so (found version "1.2.11")
-- Looking for lzma_auto_decoder in /usr/lib/x86_64-linux-gnu/liblzma.so
-- Looking for lzma_auto_decoder in /usr/lib/x86_64-linux-gnu/liblzma.so - found
-- Looking for lzma_easy_encoder in /usr/lib/x86_64-linux-gnu/liblzma.so
-- Looking for lzma_easy_encoder in /usr/lib/x86_64-linux-gnu/liblzma.so - found
-- Looking for lzma_lzma_preset in /usr/lib/x86_64-linux-gnu/liblzma.so
-- Looking for lzma_lzma_preset in /usr/lib/x86_64-linux-gnu/liblzma.so - found
-- Found LibLZMA: /usr/include (found version "5.2.2")
-- Found LZO: /usr/lib/x86_64-linux-gnu/liblzo2.so
-- Found PNG: /usr/lib/x86_64-linux-gnu/libpng.so (found version "1.6.34")
-- Could NOT find Allegro (missing: Allegro_LIBRARY Allegro_INCLUDE_DIR)
CMake Warning at CMakeLists.txt:43 (find_package):
By not providing "FindSDL2.cmake" in CMAKE_MODULE_PATH this project has
asked CMake to find a package configuration file provided by "SDL2", but
CMake did not find one.
Could not find a package configuration file provided by "SDL2" with any of
the following names:
SDL2Config.cmake
sdl2-config.cmake
Add the installation prefix of "SDL2" to CMAKE_PREFIX_PATH or set
"SDL2_DIR" to a directory containing one of the above files. If "SDL2"
provides a separate development package or SDK, be sure it has been
installed.
-- Found SDL: /usr/lib/x86_64-linux-gnu/libSDLmain.a;/usr/lib/x86_64-linux-gnu/libSDL.so;-lpthread (found version "1.2.15")
-- Could NOT find Fluidsynth (missing: Fluidsynth_LIBRARY Fluidsynth_INCLUDE_DIR)
-- Found Freetype: /usr/lib/x86_64-linux-gnu/libfreetype.so (found version "2.8.1")
-- Found Fontconfig: /usr/lib/x86_64-linux-gnu/libfontconfig.so (found version "2.12.6")
-- Found ICU: TRUE (found version "60.2") found components: i18n lx
-- Found XDG_basedir: /usr/lib/libxdg-basedir.so (found version "1.2.0")
-- Performing Test SSE_FOUND
-- Performing Test SSE_FOUND - Success
-- Performing Test XAUDIO2_FOUND
-- Performing Test XAUDIO2_FOUND - Failed
-- Found Grfcodec: /usr/bin/grfcodec
-- Option Dedicated - OFF
-- Option Install FHS - ON
-- Option Use assert - ON
-- Option Use threads - ON
-- Option Use NSIS - OFF
-- Check if the system is big endian
-- Searching 16 bit integer
-- Looking for sys/types.h
-- Looking for sys/types.h - found
-- Looking for stdint.h
-- Looking for stdint.h - found
-- Looking for stddef.h
-- Looking for stddef.h - found
-- Check size of unsigned short
-- Check size of unsigned short - done
-- Using unsigned short
-- Check if the system is big endian - little endian
-- Performing Test LIFETIME_DSE_FOUND
-- Performing Test LIFETIME_DSE_FOUND - Success
-- PNG found -- -DWITH_PNG -- PNG::PNG
-- ZLIB found -- -DWITH_ZLIB -- ZLIB::ZLIB
-- LIBLZMA found -- -DWITH_LIBLZMA -- /usr/include /usr/include -- /usr/lib/x86_64-linux-gnu/liblzma.so /usr/lib/x86_64-linux-gnu/liblzma.so
-- LZO found -- -DWITH_LZO -- /usr/include /usr/include -- /usr/lib/x86_64-linux-gnu/liblzo2.so /usr/lib/x86_64-linux-gnu/liblzo2.so
-- XDG_basedir found -- -DWITH_XDG_BASEDIR -- /usr/include /usr/include -- /usr/lib/libxdg-basedir.so /usr/lib/libxdg-basedir.so
-- SDL found -- -DWITH_SDL -- /usr/include/SDL -- /usr/lib/x86_64-linux-gnu/libSDLmain.a;/usr/lib/x86_64-linux-gnu/libSDL.so;-lpthread
-- FREETYPE found -- -DWITH_FREETYPE -- Freetype::Freetype
-- Fontconfig found -- -DWITH_FONTCONFIG -- Fontconfig::Fontconfig
-- ICU_lx found -- -DWITH_ICU_LX -- /usr/include/icu-le-hb;/usr/include/harfbuzz;/usr/include/glib-2.0;/usr/lib/x86_64-linux-gnu/glib-2.0/include -- /usr/lib/x86_64-linux-gnu/libiculx.so;/usr/lib/x86_64-linux-gnu/libicu-le-hb.so;/usr/lib/x86_64-linux-gnu/libicuuc.so;/usr/lib/x86_64-linux-gnu/libicudata.so
-- ICU_i18n found -- -DWITH_ICU_I18N -- -- /usr/lib/x86_64-linux-gnu/libicui18n.so;/usr/lib/x86_64-linux-gnu/libicuuc.so;/usr/lib/x86_64-linux-gnu/libicudata.so
-- SSE found -- -DWITH_SSE -- --
-- Configuring done
-- Generating done
-- Build files have been written to: /home/auge/Projekte/OpenTTD/build
auge@N130BU:~/Projekte/OpenTTD/build$
make:
Code:
auge@N130BU:~/Projekte/OpenTTD/build$ make
Scanning dependencies of target orig_extra.grf
[ 0%] Copying fix_graphics.png sprite file
[ 1%] Copying arctic_brown.png sprite file
[ 1%] Copying arctic_snowy.png sprite file
[ 1%] Copying rapids.png sprite file
[ 1%] Copying temperate.png sprite file
[ 1%] Copying toyland.png sprite file
[ 1%] Copying tropic_desert.png sprite file
[ 1%] Copying tropic_forest.png sprite file
[ 1%] Copying shore.png sprite file
[ 2%] Copying airports.png sprite file
[ 2%] Copying canals.png sprite file
[ 2%] Copying chars.png sprite file
[ 2%] Generating orig_extra.grf
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: known incorrect sRGB profile
[ 2%] Built target orig_extra.grf
Scanning dependencies of target openttd.grf
…
/* danach folgen keine weiteren Fehlermeldungen */
…
[ 98%] Building CXX object CMakeFiles/openttd.dir/src/window.cpp.o
[ 98%] Linking CXX executable openttd
[ 98%] Built target openttd
Scanning dependencies of target regression_files
[ 98%] Copying regression/info.nut regression file
[ 98%] Copying regression/main.nut regression file
[ 98%] Copying regression/require.nut regression file
[ 98%] Copying regression/result.txt regression file
[100%] Copying regression/test.sav regression file
[100%] Copying stationlist/info.nut regression file
[100%] Copying stationlist/main.nut regression file
[100%] Copying stationlist/result.txt regression file
[100%] Copying stationlist/test.sav regression file
[100%] Copying stationlist/test.sav regression file
[100%] Built target regression_files
auge@N130BU:~/Projekte/OpenTTD/build$
Das vollständige Log liegt vor.
Ich erhalte das im folgenden Screenshot zu sehende Ergebnis.
Für die Datei
openttd wird angegeben, sie sei als Programm auszuführen. Was mich auch verwundert, ist der Umstand, dass das Executable so groß ist. JGRPP 0.34.3 mit
./configure und
make: 28.9 MByte, OpenTTD (aktueller Master) mit
cmake .. und
make: 57.8 MByte. Soll da so ein großer Unterschied sein?
Das sieht bis auf den CMake-Kram erstmal alles so aus, wie immer. Nur wird halt, wenn ich openttd ausführen will, nach dem auszuführenden Programm gefragt und das ist eben nicht so, wie immer.
Und genau hier verließen sie mich …
(24.07.2020 06:12)Bernhard schrieb: JGRPP, zumindest 0.34, habe ich für Linux als absoluter Laie ohne Probleme compilieren können. (Allerdings läuft das neuerdings mit "Cmake…", da habe ich es noch nicht wieder probiert.)
Solange OpenTTD mit der Kombi aus
./configure und
make kompilierbar war (was bis JGRPP 0.34.3 der Fall war) hat das bei mir auch anstandslos funktioniert. Das Problem tritt bei mir erst mit
cmake ../
make auf. Da andere, die selbst kompilieren, das aber offensichtlich hinkriegen, frage ich mich, ob auf meinem Rechner irgendwas fehlt (irgendeine Bibliothek oder so).
Tschö, Auge