Sunshine icon indicating copy to clipboard operation
Sunshine copied to clipboard

Building a package using docker fails on both Debian and Ubuntu

Open jbmorgado opened this issue 2 years ago • 5 comments

Describe the Bug

Following the instruction under https://docs.lizardbyte.dev/projects/sunshine/en/latest/building/linux.html#dockerfile-builds fails on the 2nd step:

user@machine:~/Downloads/Sunshine/scripts$ ./build-sunshine.sh -p -s ..
Creating package build
Using sources from /home/morgado/Downloads/Sunshine
docker run -ti --privileged -v /home/morgado/Downloads/Sunshine:/root/sunshine  -e SUNSHINE_ASSETS_DIR=/etc/sunshine -e SUNSHINE_EXECUTABLE_PATH=/usr/bin/sunshine -e CMAKE_BUILD_TYPE=Release --name sunshine sunshine
-- The C compiler identification is GNU 10.2.1
-- The CXX compiler identification is GNU 10.2.1
-- 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:34 (add_subdirectory):
  add_subdirectory given source "third-party/moonlight-common-c/enet" which
  is not an existing directory.


CMake Error at CMakeLists.txt:35 (add_subdirectory):
  The source directory

    /root/sunshine/third-party/Simple-Web-Server

  does not contain a CMakeLists.txt file.


CMake Error at CMakeLists.txt:41 (add_subdirectory):
  add_subdirectory given source "third-party/miniupnp/miniupnpc" which is not
  an existing directory.


-- 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 OpenSSL: /usr/lib/x86_64-linux-gnu/libcrypto.so (found version "1.1.1n")
-- Found Boost: /usr/lib/x86_64-linux-gnu/cmake/Boost-1.74.0/BoostConfig.cmake (found version "1.74.0") found components: log filesystem
-- Found X11: /usr/include
-- Looking for XOpenDisplay in /usr/lib/x86_64-linux-gnu/libX11.so;/usr/lib/x86_64-linux-gnu/libXext.so
-- Looking for XOpenDisplay in /usr/lib/x86_64-linux-gnu/libX11.so;/usr/lib/x86_64-linux-gnu/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 a CUDA compiler
-- Looking for a CUDA compiler - /usr/bin/nvcc
-- The CUDA compiler identification is NVIDIA 11.2.152
-- Detecting CUDA compiler ABI info
-- Detecting CUDA compiler ABI info - done
-- Check for working CUDA compiler: /usr/bin/nvcc - skipped
-- Detecting CUDA compile features
-- Detecting CUDA compile features - done
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.29.2")
-- Checking for module 'libdrm'
--   Found libdrm, version 2.4.104
-- Found LIBDRM: /usr/lib/x86_64-linux-gnu/libdrm.so
-- Checking for module 'libcap'
--   Found libcap, version 2.44
-- Found LIBCAP: /usr/lib/x86_64-linux-gnu/libcap.so
-- Found Wayland: /usr/lib/x86_64-linux-gnu/libwayland-client.so;/usr/lib/x86_64-linux-gnu/libwayland-server.so;/usr/lib/x86_64-linux-gnu/libwayland-egl.so;/usr/lib/x86_64-linux-gnu/libwayland-cursor.so
-- Checking for module 'avformat'
--   No package 'avformat' found
-- look for newer strcture
-- Checking for module 'libavformat'
--   Found libavformat, version 58.45.100
-- Found avformat include dirs: /usr/include/x86_64-linux-gnu
-- Using FFMpeg dir parent as hint: /usr/include
-- Found avformat libs: /usr/lib/x86_64-linux-gnu/libavformat.so
-- found avformat: include /usr/include/x86_64-linux-gnu lib /usr/lib/x86_64-linux-gnu/libavformat.so
-- Checking for module 'avdevice'
--   No package 'avdevice' found
-- look for newer strcture
-- Checking for module 'libavdevice'
--   Found libavdevice, version 58.10.100
-- Found avdevice include dirs: /usr/include/x86_64-linux-gnu
-- Using FFMpeg dir parent as hint: /usr/include
-- Found avdevice libs: /usr/lib/x86_64-linux-gnu/libavdevice.so
-- found avdevice: include /usr/include/x86_64-linux-gnu lib /usr/lib/x86_64-linux-gnu/libavdevice.so
-- Checking for module 'avcodec'
--   No package 'avcodec' found
-- look for newer strcture
-- Checking for module 'libavcodec'
--   Found libavcodec, version 58.91.100
-- Found avcodec include dirs: /usr/include/x86_64-linux-gnu
-- Using FFMpeg dir parent as hint: /usr/include
-- Found avcodec libs: /usr/lib/x86_64-linux-gnu/libavcodec.so
-- found avcodec: include /usr/include/x86_64-linux-gnu lib /usr/lib/x86_64-linux-gnu/libavcodec.so
-- Checking for module 'avutil'
--   No package 'avutil' found
-- look for newer strcture
-- Checking for module 'libavutil'
--   Found libavutil, version 56.51.100
-- Found avutil include dirs: /usr/include/x86_64-linux-gnu
-- Using FFMpeg dir parent as hint: /usr/include
-- Found avutil libs: /usr/lib/x86_64-linux-gnu/libavutil.so
-- found avutil: include /usr/include/x86_64-linux-gnu lib /usr/lib/x86_64-linux-gnu/libavutil.so
-- Checking for module 'swscale'
--   No package 'swscale' found
-- look for newer strcture
-- Checking for module 'libswscale'
--   Found libswscale, version 5.7.100
-- Found swscale include dirs: /usr/include/x86_64-linux-gnu
-- Using FFMpeg dir parent as hint: /usr/include
-- Found swscale libs: /usr/lib/x86_64-linux-gnu/libswscale.so
-- found swscale: include /usr/include/x86_64-linux-gnu lib /usr/lib/x86_64-linux-gnu/libswscale.so
-- /usr/lib/x86_64-linux-gnu/libavformat.so/usr/lib/x86_64-linux-gnu/libavdevice.so/usr/lib/x86_64-linux-gnu/libavcodec.so/usr/lib/x86_64-linux-gnu/libavutil.so/usr/lib/x86_64-linux-gnu/libswscale.so
-- Found FFMPEG: /usr/lib/x86_64-linux-gnu/libavformat.so;/usr/lib/x86_64-linux-gnu/libavdevice.so;/usr/lib/x86_64-linux-gnu/libavcodec.so;/usr/lib/x86_64-linux-gnu/libavutil.so;/usr/lib/x86_64-linux-gnu/libswscale.so
wayland-scanner private-code /root/sunshine/third-party/wayland-protocols/xdg-output-unstable-v1.xml /root/sunshine-build/generated-src/xdg-output-unstable-v1.c
wayland-scanner client-header /root/sunshine/third-party/wayland-protocols/xdg-output-unstable-v1.xml /root/sunshine-build/generated-src/xdg-output-unstable-v1.h
wayland-scanner private-code /root/sunshine/third-party/wayland-protocols/wlr-export-dmabuf-unstable-v1.xml /root/sunshine-build/generated-src/wlr-export-dmabuf-unstable-v1.c
wayland-scanner client-header /root/sunshine/third-party/wayland-protocols/wlr-export-dmabuf-unstable-v1.xml /root/sunshine-build/generated-src/wlr-export-dmabuf-unstable-v1.h
-- Configuring incomplete, errors occurred!
See also "/root/sunshine-build/CMakeFiles/CMakeOutput.log".
See also "/root/sunshine-build/CMakeFiles/CMakeError.log".

Expected Behavior

deb package created correctly

Additional Context

No response

Sunshine Host Operating System and Version

Debian 11, Ubuntu 22.04

Architecture

64 bit

Sunshine Version

latest on main branch

GPU Type

Nvidia

GPU Model

GTX 1080 Ti

GPU Driver/Mesa Version

515

Capture Method (Linux Only)

X11

jbmorgado avatar Jul 29 '22 13:07 jbmorgado

These dockerfiles are legacy at this point and should be used for reference only.

ReenigneArcher avatar Jul 29 '22 14:07 ReenigneArcher

These dockerfiles are legacy at this point and should be used for reference only.

I see. How should we build the package ourselves, then? (I am trying to build the package because the deb provided in the releases doesn't work with nvenc, so I was trying to see if that was fixed by building it myself).

jbmorgado avatar Jul 29 '22 14:07 jbmorgado

https://docs.lizardbyte.dev/projects/sunshine/en/latest/building/build.html

ReenigneArcher avatar Jul 29 '22 14:07 ReenigneArcher

That link directs you to the same compile instructions I posted originally when you click the compiling on Linux link.

jbmorgado avatar Jul 29 '22 14:07 jbmorgado

Right, but there are instructions there for a standard build (without using Dockerfiles)

ReenigneArcher avatar Jul 29 '22 14:07 ReenigneArcher

This issue is stale because it has been open for 30 days with no activity. Comment or remove the stale label, otherwise this will be closed in 5 days.

github-actions[bot] avatar Oct 28 '22 01:10 github-actions[bot]

This issue has been fixed and will be available in the next release.

github-actions[bot] avatar Oct 28 '22 02:10 github-actions[bot]