Portál AbcLinuxu, 8. května 2025 13:17
CMakeLists.txt:63 (find_package) -- Configuring incomplete, errors occurred! See also "/usr/local/src/wesnoth-1.14.5/CMakeFiles/CMakeOutput.log". See also "/usr/local/src/wesnoth-1.14.5/CMakeFiles/CMakeError.log".Je to můj provní pokus s cemake, takže pokud je potřeba něco doplnit, výpis z loguu, či jakoukoli jinou informaci, stačí říct. Zatím prostě nevím z které do které PS: Soubor
INSTALL.md
jsem si četl a zkoušel to podle něj.
Petr
find_package
znamená, že ti pro kompilaci chybí nějaká závislost. CMake by ti měl přesně říct, o jakou závislost jde.
gcc
Viz tento řádek:
/usr/lib64/gcc/x86_64-slackware-linux/5.5.0/../../../../x86_64-slackware-linux/bin/ld: cannot find -lpthreads
gcc
balíčky jsou nainstalovány
bash-4.3# slackpkg search gcc Looking for gcc in package list. Please wait... DONE The list below shows all packages with name matching "gcc". [ installed ] - gcc-5.5.0-x86_64-1_slack14.2 [ installed ] - gcc-g++-5.5.0-x86_64-1_slack14.2 [ installed ] - gcc-gfortran-5.5.0-x86_64-1_slack14.2 [ installed ] - gcc-gnat-5.5.0-x86_64-1_slack14.2 [ installed ] - gcc-go-5.5.0-x86_64-1_slack14.2 [ installed ] - gcc-java-5.5.0-x86_64-1_slack14.2 [ installed ] - gcc-objc-5.5.0-x86_64-1_slack14.2 [ installed ] - gccmakedep-1.0.3-noarch-1 You can search specific files using "slackpkg file-search file".Podrobnější vyhloedávání
The list below shows the packages that contains "gcc" file. [ installed ] - curl-7.61.1-x86_64-1_slack14.2 [ installed ] - file-5.34-x86_64-1_slack14.2 [ installed ] - gcc-5.5.0-x86_64-1_slack14.2 [ installed ] - gcc-g++-5.5.0-x86_64-1_slack14.2 [ installed ] - gcc-gnat-5.5.0-x86_64-1_slack14.2 [ installed ] - gcc-gfortran-5.5.0-x86_64-1_slack14.2 [ installed ] - gcc-go-5.5.0-x86_64-1_slack14.2 [uninstalled] - emacs-25.3-x86_64-1_slack14.2 [ installed ] - gcc-objc-5.5.0-x86_64-1_slack14.2 [ installed ] - gcc-java-5.5.0-x86_64-1_slack14.2 [ installed ] - kernel-source-4.4.153-noarch-1 [ installed ] - mariadb-10.0.35-x86_64-1_slack14.2 [uninstalled] - rust-1.28.0-x86_64-1_slack14.2 [ installed ] - gawk-4.1.3-x86_64-1 [ installed ] - vim-7.4.1938-x86_64-1 [ installed ] - scons-2.4.1-x86_64-1 [uninstalled] - kate-4.14.3-x86_64-2 [ installed ] - boost-1.59.0-x86_64-1 [ installed ] - clucene-2.3.3.4-x86_64-2 [ installed ] - gc-7.4.2-x86_64-3 [ installed ] - qt-4.8.7-x86_64-4 [uninstalled] - bash-completion-2.2-noarch-3
CMake Error at /usr/share/cmake-3.5/Modules/FindPackageHandleStandardArgs.cmake:148 (message):
Could NOT find SDL2 (missing: SDL2_LIBRARY SDL2_INCLUDE_DIR) (Required is
at least version "2.0.4")
je potřeba knihovna sdl ve verzi nejměně 2.0 a já mám
The list below shows all packages with name matching "sdl". [ installed ] - sdl-1.2.15-x86_64-5_slack14.2
sdl2
. SDL2 je dost staré na to, aby ho tvoje distro neobsahovalo...
$ pkg-config --list-all|grep sdl sdl sdl - Simple DirectMedia Layer is a cross-platform multimedia library designed to provide low level access to audio, keyboard, mouse, joystick, 3D hardware via OpenGL, and 2D video framebuffer. sdl2 sdl2 - Simple DirectMedia Layer is a cross-platform multimedia library designed to provide low level access to audio, keyboard, mouse, joystick, 3D hardware via OpenGL, and 2D video framebuffer.Tusim SDL 1.2 mala vlastny config sdl-config. Pripadne pre istotu tu hod make install alebo popis, ako si to instaloval.
/usr/local/lib
mám toto:
bash-4.3# pwd /usr/local/lib bash-4.3# ls cmake libSDL2-2.0.so.0 libSDL2-2.0.so.0.8.0 libSDL2.a libSDL2.la libSDL2.so libSDL2_test.a libSDL2_test.la libSDL2main.a libSDL2main.la pkgconfig systemd bash-4.3#Takže instalace zdá se proběhla dobře. Potom jsem spustil jsem příkaz
ldconfig
bez parametrů
Petr
/etc/ld.so.conf
, jsem upravil takto:
/lib64 /usr/lib64 /usr/local/lib64 /usr/x86_64-slackware-linux/lib64 /usr/lib64/seamonkey /usr/local/lib/libSDL2-2.0.so.0Do souboru jsem přidal pouze řádek
/usr/local/lib/libSDL2-2.0.so.0
Při pokusu o kompilaci jsem dostal tento výstup. Je pravděpodobné, že my chybí vývojářská verze knihovny, ale zatím ji nemohu najít.
bash-4.3# cmake . -DCMAKE_BUILD_TYPE=Release -- Boost version: 1.59.0 -- Found the following Boost libraries: -- iostreams -- program_options -- regex -- system -- thread -- random -- chrono -- date_time -- atomic Removing -DNDEBUG flag from CMAKE_CXX_FLAGS_RELWITHDEBINFO Removing -DNDEBUG flag from CMAKE_C_FLAGS_RELWITHDEBINFO Removing -DNDEBUG flag from CMAKE_CXX_FLAGS_MINSIZEREL Removing -DNDEBUG flag from CMAKE_C_FLAGS_MINSIZEREL Removing -rdynamic flag from CMAKE_SHARED_LIBRARY_LINK_CXX_FLAGS Removing -rdynamic flag from CMAKE_SHARED_LIBRARY_LINK_C_FLAGS Replacing default flags used for Release build with Using ar, ranlib, and default linker Replacing flags used for Debug build -DDEBUG -ggdb3 Profiler is gprof CMake Error at /usr/share/cmake-3.5/Modules/FindPackageHandleStandardArgs.cmake:148 (message): Could NOT find SDL2_image (missing: SDL2_IMAGE_LIBRARIES SDL2_IMAGE_INCLUDE_DIRS) (Required is at least version "2.0.0") Call Stack (most recent call first): /usr/share/cmake-3.5/Modules/FindPackageHandleStandardArgs.cmake:388 (_FPHSA_FAILURE_MESSAGE) cmake/FindSDL2_image.cmake:122 (FIND_PACKAGE_HANDLE_STANDARD_ARGS) CMakeLists.txt:495 (find_package) -- Configuring incomplete, errors occurred! See also "/usr/local/src/wesnoth-1.14.5/CMakeFiles/CMakeOutput.log". See also "/usr/local/src/wesnoth-1.14.5/CMakeFiles/CMakeError.log". bash-4.3#
bash-4.3# cmake . -DCMAKE_BUILD_TYPE=Release -- Boost version: 1.59.0 -- Found the following Boost libraries: -- iostreams -- program_options -- regex -- system -- thread -- random -- chrono -- date_time -- atomic Removing -DNDEBUG flag from CMAKE_CXX_FLAGS_RELWITHDEBINFO Removing -DNDEBUG flag from CMAKE_C_FLAGS_RELWITHDEBINFO Removing -DNDEBUG flag from CMAKE_CXX_FLAGS_MINSIZEREL Removing -DNDEBUG flag from CMAKE_C_FLAGS_MINSIZEREL Removing -rdynamic flag from CMAKE_SHARED_LIBRARY_LINK_CXX_FLAGS Removing -rdynamic flag from CMAKE_SHARED_LIBRARY_LINK_C_FLAGS Replacing default flags used for Release build with Using ar, ranlib, and default linker Replacing flags used for Debug build -DDEBUG -ggdb3 Profiler is gprof CMake Error at /usr/share/cmake-3.5/Modules/FindPackageHandleStandardArgs.cmake:148 (message): Could NOT find SDL2_image (missing: SDL2_IMAGE_LIBRARIES SDL2_IMAGE_INCLUDE_DIRS) (Required is at least version "2.0.0") Call Stack (most recent call first): /usr/share/cmake-3.5/Modules/FindPackageHandleStandardArgs.cmake:388 (_FPHSA_FAILURE_MESSAGE) cmake/FindSDL2_image.cmake:122 (FIND_PACKAGE_HANDLE_STANDARD_ARGS) CMakeLists.txt:495 (find_package) -- Configuring incomplete, errors occurred! See also "/usr/local/src/wesnoth-1.14.5/CMakeFiles/CMakeOutput.log". See also "/usr/local/src/wesnoth-1.14.5/CMakeFiles/CMakeError.log". bash-4.3#soubor
ld.so.conf
/lib64 /usr/lib64 /usr/local/lib64 /usr/x86_64-slackware-linux/lib64 /usr/lib64/seamonkey /usr/local/lib/Děkuju za všechny dostavadní odpovědi
bash-4.3# pwd /usr/local/src/wesnoth-1.14.5 bash-4.3# cmake . -DCMAKE_BUILD_TYPE=Release -- Boost version: 1.59.0 -- Found the following Boost libraries: -- iostreams -- program_options -- regex -- system -- thread -- random -- chrono -- date_time -- atomic Removing -DNDEBUG flag from CMAKE_CXX_FLAGS_RELWITHDEBINFO Removing -DNDEBUG flag from CMAKE_C_FLAGS_RELWITHDEBINFO Removing -DNDEBUG flag from CMAKE_CXX_FLAGS_MINSIZEREL Removing -DNDEBUG flag from CMAKE_C_FLAGS_MINSIZEREL Removing -rdynamic flag from CMAKE_SHARED_LIBRARY_LINK_CXX_FLAGS Removing -rdynamic flag from CMAKE_SHARED_LIBRARY_LINK_C_FLAGS Replacing default flags used for Release build with Using ar, ranlib, and default linker Replacing flags used for Debug build -DDEBUG -ggdb3 Profiler is gprof CMake Error at /usr/share/cmake-3.5/Modules/FindPackageHandleStandardArgs.cmake:148 (message): Could NOT find SDL2_image (missing: SDL2_IMAGE_LIBRARIES SDL2_IMAGE_INCLUDE_DIRS) (Required is at least version "2.0.0") Call Stack (most recent call first): /usr/share/cmake-3.5/Modules/FindPackageHandleStandardArgs.cmake:388 (_FPHSA_FAILURE_MESSAGE) cmake/FindSDL2_image.cmake:122 (FIND_PACKAGE_HANDLE_STANDARD_ARGS) CMakeLists.txt:495 (find_package) -- Configuring incomplete, errors occurred! See also "/usr/local/src/wesnoth-1.14.5/CMakeFiles/CMakeOutput.log". See also "/usr/local/src/wesnoth-1.14.5/CMakeFiles/CMakeError.log". bash-4.3#Našel jsem a prošel tento návod. Pochopil jsem to tak, že musím nějak spojit ten wesnoth s tou knihovnou, ale nevím jak.
Could NOT find SDL2_image (missing: SDL2_IMAGE_LIBRARIES SDL2_IMAGE_INCLUDE_DIRS)Alebo zadefinovat si tieto konstanty, co su vo vypse velkym. A robi sa to dvoma sposobmi - bud konfigurakom pre preklad, alebo pri preklade ich definujes:
$ MENO=HODNOTA ./configureTyp, ak viac jadrak, tak pouzijaj maj s prepinacom -j POCET. POCET je cislo, kolko sa maju pararelne. Ak chces vypoctovy vykon na maximum, nedavaj pocet vsetkych jadier/vlakien na cpu, ale o nieco vyssiu hodnotu (ja odporucam 1.5*POCET_MAS). Ak daco, pis.
1. Stáhnu si zdrojový kód programu, který chci. 2. Spustím ./configure -- help, abych věděl jaké funkce lze zapnout 3. Podle výstupu ./configure uvidím, které knihovny mi chybějí. 4. Postupně stahovat a instalovat chybějící knihovny 5. Potom co configure proběhne bez chyby make, make install, (zdrojové kódy nechat pro případ aktulaizace)Myslel jsem si, že knihovny si systém najde po instalaci sám, pokud jsou ve standardních adresářích, které jsou v proměnné
$PATH
. Až když jsem začal, tak jsem zjistil, že je to složitější.
Přeju pěknou sobotu a neděli
sudo add-apt-repository ppa:vincent-c/wesnoth sudo apt-get update sudo apt-get install wesnoth-1.14ani kompilace neni takova zloba..
SDL2_image je addon pro SDL, zřejmě se neinstaluje v rámci instalace SDL.SDL2_image nie je addon pro SDL !!! SDL(2) (priklad uvadzam pre kniznicu SDL) je zlozena z viac multiplatformovych kniznic - SDL, SDL_image (spracovanie obrazkov jpg, png, ...), SDL_net (siet), SDL_ttf (nacitanie/renderovanie fonty textu) a mozno este nejake. Su zvlast, lebo instalujes/pouzivas len ktore potrebujes a nemusis vsetko zlinkovavat/instalovat v programe.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.