OpenStarbound / OpenStarbound

318 stars 37 forks source link

Two ideas/questions: Write compilation docs and how to compile on ARM64 #45

Open DartPower opened 6 months ago

DartPower commented 6 months ago

Please write compilation guide e.g. in README.md. And 2nd optional question: How to compile on ARM64? I'm can using my Orange Pi PC2 for test it.

Novaenia commented 6 months ago

I've started with Windows instructions first.

Sorry, but I'm not really sure how to compile for a Pi. There is a GitHub Action that compiles to macOS ARM64, though. Keep in mind that the scripts in /scripts/windows+linux+osx are currently outdated holdovers from the original version of the source so I don't recommend using those - the project is now compiled using CMake presets, vcpkg and Ninja.

DartPower commented 6 months ago

I also have question: Can you do v141_xp support or this is very hard? Just interesting

DartPower commented 6 months ago
root@orangepipc2:/home/dartpower/Downloads/OpenStarbound# cmake -S source -B build -DCMAKE_BUILD_TYPE=Release
-- Using SCCache at /usr/bin/sccache
-- Source ID: 330fc938f327476509973c5fed7cf5d6fbcdb0b4
-- Architecture: unknown
-- Little Endian: TRUE
-- System: linux
-- System family: unix
-- C/C++ compiler: gnu
-- Statically linking to libgcc / libstdc++: OFF
-- Enabling _GLIBCXX_DEBUG: OFF
-- Building GUI: ON
-- Building Qt tools: OFF
-- Using Steam platform services: OFF
-- Using Discord platform services: OFF
-- Using Lua API checks: OFF
-- Using jemalloc: OFF
CMake Error at CMakeLists.txt:448 (find_package):
  Could not find a package configuration file provided by "Opus" with any of
  the following names:

    OpusConfig.cmake
    opus-config.cmake

  Add the installation prefix of "Opus" to CMAKE_PREFIX_PATH or set
  "Opus_DIR" to a directory containing one of the above files.  If "Opus"
  provides a separate development package or SDK, be sure it has been
  installed.

-- Configuring incomplete, errors occurred!
See also "/home/dartpower/Downloads/OpenStarbound/build/CMakeFiles/CMakeOutput.log".
root@orangepipc2:/home/dartpower/Downloads/OpenStarbound# cat /home/dartpower/Downloads/OpenStarbound/build/CMakeFiles/CMakeOutput.log
The system is: Linux - 6.1.63-current-sunxi64 - aarch64

I tested on my Pi but Opus is can't find normally P.S. vcpkg can't install on aarch64 debian (armbian)

Novaenia commented 6 months ago

OpenStarbound currently relies on vcpkg to fetch most dependencies. Quickly looking around, I've found resolved issues regarding getting vcpkg working on a Pi - you could try the solutions there.

What would v141_xp support help you with? Windows XP is very old at this point.