Almamu / linux-wallpaperengine

Wallpaper Engine backgrounds for Linux!
GNU General Public License v3.0
1.67k stars 61 forks source link

Cmake failed on Manjaro Linux #47

Closed jmcjm closed 3 years ago

jmcjm commented 3 years ago

Hi, I'm trying to build this on Manjaro but making cmake .. in build directory is failing with this output:

-- The C compiler identification is GNU 11.1.0 -- The CXX compiler identification is GNU 11.1.0 -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working C compiler: /usr/bin/cc - skipped -- Detecting C compile features -- Detecting C compile features - done -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Check for working CXX compiler: /usr/bin/c++ - skipped -- Detecting CXX compile features -- Detecting CXX compile features - done CMake Error at CMakeLists.txt:13 (add_subdirectory): The source directory

/home/jmc/wallengine/linux-wallpaperengine/lib/glfw

does not contain a CMakeLists.txt file.

-- Found X11: /usr/include
-- Looking for XOpenDisplay in /usr/lib/libX11.so;/usr/lib/libXext.so -- Looking for XOpenDisplay in /usr/lib/libX11.so;/usr/lib/libXext.so - found -- Looking for gethostbyname -- Looking for gethostbyname - found -- Looking for connect -- Looking for connect - found -- Looking for remove -- Looking for remove - found -- Looking for shmat -- Looking for shmat - found -- Looking for IceConnectionNumber in ICE -- Looking for IceConnectionNumber in ICE - found -- Checking for module 'xrandr' -- Found xrandr, version 1.5.2 CMake Warning (dev) at /usr/share/cmake-3.21/Modules/FindPackageHandleStandardArgs.cmake:438 (message): The package name passed to find_package_handle_standard_args (XRANDR) does not match the name of the calling package (Xrandr). This can lead to problems in calling code that expects find_package result variables (e.g., _FOUND) to follow a certain pattern. Call Stack (most recent call first): CMakeModules/FindXrandr.cmake:64 (find_package_handle_standard_args) CMakeLists.txt:16 (find_package) This warning is for project developers. Use -Wno-dev to suppress it.

-- Found XRANDR: /usr/lib/libXrandr.so
-- Found OpenGL: /usr/lib/libOpenGL.so
-- Found GLEW: /usr/include (found version "2.2.0") -- Found GLUT: /usr/lib/libglut.so
-- Found ZLIB: /usr/lib/libz.so (found version "1.2.11") -- Looking for pthread.h -- Looking for pthread.h - found -- Performing Test CMAKE_HAVE_LIBC_PTHREAD -- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed -- 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 SDL: /usr/lib/libSDLmain.a;/usr/lib/libSDL.so;-lpthread (found version "1.2.15") -- Found SDL_mixer: /usr/lib/libSDL_mixer.so (found version "1.2.12") -- Performing Test LZ4_GOOD_VERSION -- Performing Test LZ4_GOOD_VERSION - Success -- Found LZ4: /usr/lib/liblz4.so
-- Found LZ4: /usr/lib/liblz4.so CMake Warning (dev) at /usr/share/cmake-3.21/Modules/FindPackageHandleStandardArgs.cmake:438 (message): The package name passed to find_package_handle_standard_args (FFMPEG) does not match the name of the calling package (FFmpeg). This can lead to problems in calling code that expects find_package result variables (e.g., _FOUND) to follow a certain pattern. Call Stack (most recent call first): CMakeModules/FindFFmpeg.cmake:23 (find_package_handle_standard_args) CMakeLists.txt:24 (find_package) This warning is for project developers. Use -Wno-dev to suppress it.

-- Could NOT find FFMPEG (missing: FFMPEG_LIBRARY FFMPEG_INCLUDE_DIR) -- Found PkgConfig: /usr/bin/pkg-config (found version "1.7.3") -- Checking for module 'libavcodec' -- Found libavcodec, version 58.134.100 -- Checking for module 'libavformat' -- Found libavformat, version 58.76.100 -- Checking for module 'libavutil' -- Found libavutil, version 56.70.100 -- Checking for module 'libswscale' -- Found libswscale, version 5.9.100 -- Found FFMPEG or Libav: /usr/lib/libavcodec.so;/usr/lib/libavformat.so;/usr/lib/libavutil.so;/usr/lib/libswscale.so, /usr/include -- Found FreeImage: headers at /usr/include, libraries at :: /usr/lib/libfreeimage.so -- Configuring incomplete, errors occurred! See also "/home/jmc/wallengine/linux-wallpaperengine/build/CMakeFiles/CMakeOutput.log". See also "/home/jmc/wallengine/linux-wallpaperengine/build/CMakeFiles/CMakeError.log".

What can be the problem?

Almamu commented 3 years ago

You'll need to initialize the submodules so the glfw library is downloaded for you. You'll need to run this on the root of the project first:

git submodule init
git submodule update
jmcjm commented 3 years ago

The git submodule update command wasn't working

Cloning into '/home/jmc/wallengine/linux-wallpaperengine/lib/glfw'...
git@github.com: Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
fatal: clone of 'git@github.com:Almamu/glfw.git' into submodule path '/home/jmc/wallengine/linux-wallpaperengine/lib/glfw' failed
Failed to clone 'lib/glfw' a second time, aborting

so I cloned the repository manually and now it is compiling without any errors, thanks for help :)