Giter Club home page Giter Club logo

Comments (16)

vktr avatar vktr commented on June 16, 2024 1

I'll try to set it up!

from porla.

samip5 avatar samip5 commented on June 16, 2024 1

I got it to build, requires building ninja from source, and vcpg will compile from source due to no binary build.

It also requires at least 4GB of RAM (at least if running on actual Raspberry Pi for the arm64 version).

from porla.

samip5 avatar samip5 commented on June 16, 2024 1

Did you verify that it runs as well as builds?

No, as stripping step currently fails due to binary not being called porla but rather porla_x64 or porla_arm64 :D
Made a PR for just build-env things: #181

from porla.

Winter avatar Winter commented on June 16, 2024

Just wondering if there has been any update on this?

Thanks!

from porla.

vktr avatar vktr commented on June 16, 2024

Hi! No real update so far. I've been trying some easy way to integrate an ARM build in the Github workflows but haven't gotten to a solution yet. It's still on the radar though!

from porla.

samip5 avatar samip5 commented on June 16, 2024

@vktr I'm trying to get arm64 PR going, but just noticed that the ninja binary that's used, is amd64 only so that would need to be compiled from scratch possibly..

from porla.

vktr avatar vktr commented on June 16, 2024

I'm open to switching to regular make if that helps! If you can get a PR going with that, I'll switch in a heartbeat. Keep in mind also that there's a base image with pre-built dependencies, which might have to be removed since those are amd64 only for now.

from porla.

samip5 avatar samip5 commented on June 16, 2024

It seems that building for arm64-linux-musl is not possible easilly at least..

/usr/local/src/porla/build # cmake -DCMAKE_EXE_LINKER_FLAGS="-static -Os" -DCMAKE_BUILD_TYPE=Release -DVCPKG_TARGET_TRIPLET=arm64-linux-musl-release -G Ninja ..
-- Running vcpkg install
error: Invalid triplet: arm64-linux-musl-release
Available architecture triplets:
vcpkg built-in triplets:
  arm64-windows
  x86-windows
  x64-windows-static
  x64-linux
  x64-windows
  x64-osx
  arm-uwp
  x64-uwp
VCPKG community triplets:
  arm64-ios
  x86-ios
  arm-neon-android
  x64-osx-release
  x64-mingw-static
  x64-uwp-static-md
  arm64-osx-dynamic
  x64-xbox-scarlett
  ppc64le-linux-release
  x86-mingw-dynamic
  x64-mingw-dynamic
  s390x-linux
  x86-android
  arm-windows-static
  arm-mingw-static
  x64-xbox-xboxone-static
  arm64-windows-static
  x64-openbsd
  x86-windows-v120
  arm64-osx-release
  x86-windows-static
  x64-linux-dynamic
  arm64-uwp-static-md
  x64-xbox-scarlett-static
  riscv32-linux
  x86-freebsd
  riscv64-linux
  arm64ec-windows
  arm-linux
  x86-windows-static-md
  x86-uwp
  arm64-android
  x86-mingw-static
  x64-freebsd
  arm64-uwp
  arm64-linux-release
  arm-mingw-dynamic
  riscv32-linux-release
  x86-linux
  arm64-mingw-static
  x86-uwp-static-md
  arm-android
  arm64-mingw-dynamic
  x64-windows-static-release
  x64-osx-dynamic
  s390x-linux-release
  arm64-windows-static-release
  ppc64le-linux
  x64-windows-static-md
  wasm32-emscripten
  x64-android
  arm-windows
  x64-linux-release
  x64-xbox-xboxone
  arm-uwp-static-md
  arm64-windows-static-md
  arm64-osx
  arm-linux-release
  armv6-android
  riscv64-linux-release
  x64-ios
  arm-ios
  arm64-linux
  x64-windows-release
Overlay triplets from /usr/local/src/porla/vendor/vcpkg-triplets :
  x64-linux-musl-release
-- Running vcpkg install - failed
CMake Error at vendor/vcpkg/scripts/buildsystems/vcpkg.cmake:893 (message):
  vcpkg install failed.  See logs for more information:
  /usr/local/src/porla/build/vcpkg-manifest-install.log
Call Stack (most recent call first):
  /usr/share/cmake/Modules/CMakeDetermineSystem.cmake:148 (include)
  CMakeLists.txt:6 (project)


CMake Error: CMake was unable to find a build program corresponding to "Ninja".  CMAKE_MAKE_PROGRAM is not set.  You probably need to select a different build tool.
CMake Error: CMAKE_C_COMPILER not set, after EnableLanguage
CMake Error: CMAKE_CXX_COMPILER not set, after EnableLanguage
-- Configuring incomplete, errors occurred!

from porla.

Winter avatar Winter commented on June 16, 2024

It seems that building for arm64-linux-musl is not possible easilly at least..

/usr/local/src/porla/build # cmake -DCMAKE_EXE_LINKER_FLAGS="-static -Os" -DCMAKE_BUILD_TYPE=Release -DVCPKG_TARGET_TRIPLET=arm64-linux-musl-release -G Ninja ..
-- Running vcpkg install
error: Invalid triplet: arm64-linux-musl-release
Available architecture triplets:
vcpkg built-in triplets:
  arm64-windows
  x86-windows
  x64-windows-static
  x64-linux
  x64-windows
  x64-osx
  arm-uwp
  x64-uwp
VCPKG community triplets:
  arm64-ios
  x86-ios
  arm-neon-android
  x64-osx-release
  x64-mingw-static
  x64-uwp-static-md
  arm64-osx-dynamic
  x64-xbox-scarlett
  ppc64le-linux-release
  x86-mingw-dynamic
  x64-mingw-dynamic
  s390x-linux
  x86-android
  arm-windows-static
  arm-mingw-static
  x64-xbox-xboxone-static
  arm64-windows-static
  x64-openbsd
  x86-windows-v120
  arm64-osx-release
  x86-windows-static
  x64-linux-dynamic
  arm64-uwp-static-md
  x64-xbox-scarlett-static
  riscv32-linux
  x86-freebsd
  riscv64-linux
  arm64ec-windows
  arm-linux
  x86-windows-static-md
  x86-uwp
  arm64-android
  x86-mingw-static
  x64-freebsd
  arm64-uwp
  arm64-linux-release
  arm-mingw-dynamic
  riscv32-linux-release
  x86-linux
  arm64-mingw-static
  x86-uwp-static-md
  arm-android
  arm64-mingw-dynamic
  x64-windows-static-release
  x64-osx-dynamic
  s390x-linux-release
  arm64-windows-static-release
  ppc64le-linux
  x64-windows-static-md
  wasm32-emscripten
  x64-android
  arm-windows
  x64-linux-release
  x64-xbox-xboxone
  arm-uwp-static-md
  arm64-windows-static-md
  arm64-osx
  arm-linux-release
  armv6-android
  riscv64-linux-release
  x64-ios
  arm-ios
  arm64-linux
  x64-windows-release
Overlay triplets from /usr/local/src/porla/vendor/vcpkg-triplets :
  x64-linux-musl-release
-- Running vcpkg install - failed
CMake Error at vendor/vcpkg/scripts/buildsystems/vcpkg.cmake:893 (message):
  vcpkg install failed.  See logs for more information:
  /usr/local/src/porla/build/vcpkg-manifest-install.log
Call Stack (most recent call first):
  /usr/share/cmake/Modules/CMakeDetermineSystem.cmake:148 (include)
  CMakeLists.txt:6 (project)


CMake Error: CMake was unable to find a build program corresponding to "Ninja".  CMAKE_MAKE_PROGRAM is not set.  You probably need to select a different build tool.
CMake Error: CMAKE_C_COMPILER not set, after EnableLanguage
CMake Error: CMAKE_CXX_COMPILER not set, after EnableLanguage
-- Configuring incomplete, errors occurred!

Unfortunately, Ninja isn't the issue. I created a Dockerfile with a Ninja build step (works fine) and halfway through the vcpkg install it will fail, I'm unsure as to fix it but I'll find the Dockerfile I made

Sorry, read your comment in bed soon after waking up haha. Yeah the issue I ran into I wasn't able to build it in an alpine container

from porla.

userdocs avatar userdocs commented on June 16, 2024

Alpine uses samurai and there is no ninja package to be installed. This is why I build my own

https://github.com/userdocs/qbt-ninja-build/releases/tag/v1.12.0

from porla.

samip5 avatar samip5 commented on June 16, 2024

I got build-env built using docker buildx and physical hardware and it took 7910.8s to run which is ~2 hours.

docker buildx build . -f Dockerfile.build-env --builder=kube --platform linux/arm64,linux/amd64 --push -t registry.samipsolutions.fi/library/porla-build-env:20230605

from porla.

vktr avatar vktr commented on June 16, 2024

from porla.

samip5 avatar samip5 commented on June 16, 2024

Update: Building of porla itself takes combined 2678s on real hardware which is ~45 minutes.
@vktr Do you have real aarch64 hardware? It needs at least 4GB of RAM for the build-env job and I managed to build it using a Raspberry Pi Compute Module 4 with 8GB of RAM.

from porla.

vktr avatar vktr commented on June 16, 2024

I have some R-Pi 4's around, but sounds like a good excuse to source me a Compute module 😃 Did you verify that it runs as well as builds?

from porla.

samip5 avatar samip5 commented on June 16, 2024

Experimental docker image is at: registry.samipsolutions.fi/library/porla:dev that should work on arm64 and amd64. :)

from porla.

vktr avatar vktr commented on June 16, 2024

Hi! With the much appreciated help of @samip5 - the latest beta version of Porla now supports arm64.

docker pull ghcr.io/porla/porla:beta-latest

from porla.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.