flatpak-github-actions icon indicating copy to clipboard operation
flatpak-github-actions copied to clipboard

Building for KDE 6.4 runtime and aarch64 architecture results in errors

Open i-ky opened this issue 2 years ago • 2 comments

I am trying to use this action to build Flatpak bundle for both x86_64 and aarch64 and I encounter the following errors on aarch64:

2023-05-26T14:23:31.3438802Z /usr/mkspecs/features/toolchain.prf:76: Variable QMAKE_CXX.COMPILER_MACROS is not defined.
2023-05-26T14:23:31.3492699Z Project ERROR: failed to parse default search paths from compiler output

Here is a reduced GitHub workflow config:

on:
- push

jobs:
  Foo:
    runs-on: ubuntu-latest
    container:
      image: bilelmoussaoui/flatpak-github-actions:kde-6.4
      options: --privileged
    strategy:
      matrix:
        arch: 
        - x86_64
        - aarch64
      fail-fast: false
    steps:
    - uses: actions/checkout@v3
    - run: dnf -y install docker # Docker is required by the docker/setup-qemu-action which enables emulation
    - id: qemu
      uses: docker/setup-qemu-action@v2
      with:
        platforms: arm64
    - uses: flatpak/flatpak-github-actions/[email protected]
      with:
        bundle: Foo.flatpak
        manifest-path: org.Foo.app.yml
        arch: ${{ matrix.arch }}

Here is a reduced Flatpak manifest:

app-id: org.Foo.app
runtime: org.kde.Platform
runtime-version: '6.4'
sdk: org.kde.Sdk
command: Foo
modules:
- name: app
  sources:
  - type: dir
    path: ./
    skip:
  buildsystem: simple
  build-commands:
  - echo test
  modules:
  - name: graphviz
    sources:
    - type: archive
      url: https://gitlab.com/api/v4/projects/4207231/packages/generic/graphviz-releases/8.0.5/graphviz-8.0.5.tar.gz
      sha256: bfe1a7a68613875ca086b8c7d4890ca7e2a9ce5d125c0a0c0e95e8a66df5d0ef
    buildsystem: simple
    build-commands:
    - ./configure --prefix=$FLATPAK_DEST
    - make -j$FLATPAK_BUILDER_N_JOBS
    - make install

There were similar errors reported in Qt bugtracker and a workaround has been documented, but I don't know, how it can be applied in my situation, because I use Qt as provided with KDE 6.4 runtime and I have seemingly no opportunity to configure Qt with custom options.

I understand, that ultimately it is a QEMU issue, but there seems to be no fix planned in the nearest future, so it would be nice to come up with a workaround and implement/document it in this action.

i-ky avatar Jun 02 '23 10:06 i-ky

I am definitely not going to work around qemu / qt issues here

bilelmoussaoui avatar Jun 02 '23 10:06 bilelmoussaoui

Although this is definitely underwhelming, I understand your position. I hope you are fine with keeping this issue open, maybe a collective brain will manage to find a solution.

i-ky avatar Jun 02 '23 13:06 i-ky