Sunshine
Sunshine copied to clipboard
Building a package using docker fails on both Debian and Ubuntu
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
These dockerfiles are legacy at this point and should be used for reference only.
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).
https://docs.lizardbyte.dev/projects/sunshine/en/latest/building/build.html
That link directs you to the same compile instructions I posted originally when you click the compiling on Linux link.
Right, but there are instructions there for a standard build (without using Dockerfiles)
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.
This issue has been fixed and will be available in the next release.