Skip to content

building Sunshine: architecture detection problem during tests? #4998

@ztx-lyghters

Description

@ztx-lyghters

Is there an existing issue for this?

  • I have searched the existing issues

Is your issue described in the documentation?

  • I have read the documentation

Is your issue present in the latest beta/pre-release?

None

Describe the Bug

I'm trying to build the project on a x86_64 Void Linux machine, but I'm having strange issues during the build process:

[6/8] Linking CXX executable tests/test_sunshine
FAILED: [code=1] tests/test_sunshine:

<omitted lines>

/usr/bin/ld: aarch64 architecture of input file `/usr/lib/gcc/aarch64-linux-gnu/14.2/libgcov.a(_gcov_merge_add.o)' is incompatible with i386:x86-64 output
/usr/bin/ld: aarch64 architecture of input file `/usr/lib/gcc/aarch64-linux-gnu/14.2/libgcov.a(_gcov_fork.o)' is incompatible with i386:x86-64 output
/usr/bin/ld: aarch64 architecture of input file `/usr/lib/gcc/aarch64-linux-gnu/14.2/libgcov.a(_gcov_execv.o)' is incompatible with i386:x86-64 output
/usr/bin/ld: aarch64 architecture of input file `/usr/lib/gcc/aarch64-linux-gnu/14.2/libgcov.a(_gcov_execve.o)' is incompatible with i386:x86-64 output
/usr/bin/ld: aarch64 architecture of input file `/usr/lib/gcc/aarch64-linux-gnu/14.2/libgcov.a(_gcov_reset.o)' is incompatible with i386:x86-64 output
/usr/bin/ld: aarch64 architecture of input file `/usr/lib/gcc/aarch64-linux-gnu/14.2/libgcov.a(_gcov_lock_unlock.o)' is incompatible with i386:x86-64 output
/usr/bin/ld: aarch64 architecture of input file `/usr/lib/gcc/aarch64-linux-gnu/14.2/libgcov.a(_gcov.o)' is incompatible with i386:x86-64 output
/usr/bin/ld: aarch64 architecture of input file `/usr/lib/gcc/aarch64-linux-gnu/14.2/libgcov.a(_gcov_dump.o)' is incompatible with i386:x86-64 output
/usr/bin/ld: final link failed: file in wrong format
collect2: error: ld returned 1 exit status

<omitted lines>

[codecov] Successfully pre-signed URL fetched
[codecov] Attempting to fetch `upload-stats`, attempt: 1
[codecov] Successfully uploaded stats for bundle: sunshine-esm
✓ built in 9.55s
ninja: build stopped: subcommand failed.

I was following this build guide:
https://docs.lizardbyte.dev/projects/sunshine/latest/md_docs_2building.html

I have compared dependencies in the scripts/linux_build.sh and I'm positive I installed all of them.

Cloned the repo with submodules and exectuted the following in the master branch:

cmake -B build -G Ninja -S . -DSUNSHINE_ENABLE_CUDA=OFF
ninja -C build

What's going on here? Why is there something related to aarch64 architecture?

It seems to have produced the working binary nonetheless, but I cannot properly test it, because I cannot access the web UI:

...
Info: Configuration UI available at [https://localhost:47990]
...
Info: Web UI: [127.0.0.1] -- not authorized

I tried both 127.0.0.1 and localhost, same result. This didn't happen with the latest AppImage from releases, it also showed it being available at 127.0.0.1 instead of localhost, and I was able to access the UI. I tried connecting with -0 flag to supply the pin-code via stdin, but after it prompts for the pin-code and I type it in and press enter - nothing happens. I don't know if this is a separate issue or not.

Should I consider the build successful or not?

Expected Behavior

I expected project to build against x86_64 architecture without errors about aarch64.

Additional Context

As it may possibly be related, I am encountering the following warning during build files generation:

CMake Warning at cmake/macros/common.cmake:27 (_find_package):
  Could not find a configuration file for package "Boost" that exactly
  matches requested version "1.89.0".

  The following configuration files were considered but not accepted:

    /usr/lib64/cmake/Boost-1.90.0/BoostConfig.cmake, version: 1.90.0
      The version found is not compatible with the version requested.
    /usr/lib/cmake/Boost-1.90.0/BoostConfig.cmake, version: 1.90.0
      The version found is not compatible with the version requested.
    /lib64/cmake/Boost-1.90.0/BoostConfig.cmake, version: 1.90.0
      The version found is not compatible with the version requested.
    /lib/cmake/Boost-1.90.0/BoostConfig.cmake, version: 1.90.0
      The version found is not compatible with the version requested.

Call Stack (most recent call first):
  cmake/dependencies/Boost_Sunshine.cmake:33 (find_package)
  cmake/dependencies/common.cmake:9 (include)
  CMakeLists.txt:61 (include)


-- Boost v1.89.0 package not found in the system. Falling back to FetchContent.
-- Boost: Release build, static libraries, MPI OFF, Python OFF, testing OFF
-- Boost: libraries included: filesystem;locale;log;program_options;system;asio;crc;format;process;property_tree

I only have boost v1.90 in my repositories.

Host Operating System

Linux

Operating System Version

Void Linux, GCC 14.2.1

Architecture

amd64/x86_64

Package

n/a

GPU Type

AMD

GPU Model

Radeon RX 6700

GPU Driver/Mesa Version

Mesa 25.3.3

Capture Method

None

Apps

Log output

Online logs

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions