brummer10 / XUiDesigner

A WYSIWYG LV2 GUI/plugin creator tool
BSD Zero Clause License
103 stars 4 forks source link

Github Action fails #24

Closed Schmitty2005 closed 3 months ago

Schmitty2005 commented 3 months ago

I do not know if this is operator error or a bug. Using the github workflow genereated by XUiDesigner fails. Logs are available here: Fails with similar error on Win and Linux github action

logs_27045870935.zip

Lines of possible interest:

2024-08-11T15:01:54.2377468Z make DEBUG=false HAVE_CAIRO=true WITH_LTO=false features 2024-08-11T15:01:54.2631714Z make: *** No rule to make target 'features'. Stop.

brummer10 commented 3 months ago

As far I See you only have pushed the c File. It Miss submodule libxputty and the makefiles. You must Push the complete Clean Projekt folder to make it Work.

brummer10 commented 3 months ago

I've revisited the source and found indeed a issue related to github actions run. I've pushed a fix for that now. For already created projects you could fix it by edit the top directory makefile like this:

include libxputty/Build/Makefile.base

NOGOAL := mod install features

PASS := features

SUBDIR := YOUR_PROJECT_NAME_REMAIN_HERE

.PHONY: $(SUBDIR) libxputty  recurse

$(MAKECMDGOALS) recurse: $(SUBDIR)

clean:

libxputty:
ifeq (,$(filter $(NOGOAL),$(MAKECMDGOALS)))
    @exec $(MAKE) --no-print-directory -j 1 -C $@ $(MAKECMDGOALS)
endif

$(SUBDIR): libxputty
ifeq (,$(filter $(PASS),$(MAKECMDGOALS)))
    @exec $(MAKE) --no-print-directory -j 1 -C $@ $(MAKECMDGOALS)
endif

features:
Schmitty2005 commented 3 months ago

Thank you! I have tried this but I was unable to get it to work. Again, it may still be operator error.

I had edited the makefile as you suggested. Attached are the logs. This was building a UI for an existing LV2. I have opened another issue concerning a build from Faust .DSP file.

Here is the repository if you need to check : https://github.com/Schmitty2005/MonoSpatFaust_ui.git

Attached logs_27300155269.zip

brummer10 commented 3 months ago

IT IS a Bug in Xuidesiner. Missing the linkflags -pthread -lpthread in the makefile LDFLAGS Schould Work when you add them for the Linux target.

Schmitty2005 commented 3 months ago

This repository was able to build correctly( that used XUiDesigner commit 52b85db1abe021e131c3f671571a98a0b7c3e431) when I updated make file with your suggestions : https://github.com/Schmitty2005/MonoSpatFaust_ui/blob/main/MonoSpatFaust/makefile

However, when rebuilding XUiDesigner, current commit, all builds pushed now fail with this:

2024-08-23T01:54:44.7186973Z ##[group]Run sudo rm /etc/apt/sources.list.d/*.list
2024-08-23T01:54:44.7187455Z sudo rm /etc/apt/sources.list.d/*.list
2024-08-23T01:54:44.7187856Z sudo apt-get update -qq
2024-08-23T01:54:44.7188716Z sudo apt-get purge -yqq git-man libclang* libgbm* libllvm* libmono* libnginx* moby* mono* nginx* perl php* libgdiplus libpcre2-posix3 libselinux1-dev libzip4
2024-08-23T01:54:44.7190560Z sudo apt-get install -yqq --allow-downgrades autoconf/focal automake/focal build-essential/focal git/focal libgd3/focal libglib2.0-0/focal libglib2.0-dev/focal libpcre2-8-0/focal libpcre2-16-0/focal libpcre2-32-0/focal libpcre2-posix2/focal pkg-config/focal
2024-08-23T01:54:44.7191874Z sudo apt-get clean
2024-08-23T01:54:44.7255662Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0}
2024-08-23T01:54:44.7256100Z env:
2024-08-23T01:54:44.7256336Z   PAWPAW_SKIP_LV2: 0
2024-08-23T01:54:44.7256629Z   DEBIAN_FRONTEND: noninteractive
2024-08-23T01:54:44.7256969Z   HOMEBREW_NO_AUTO_UPDATE: 1
2024-08-23T01:54:44.7257286Z   HOMEBREW_NO_INSTALL_CLEANUP: 1
2024-08-23T01:54:44.7257604Z   LIBGL_ALWAYS_SOFTWARE: true
2024-08-23T01:54:44.7257917Z   PAWPAW_CACHE_VERSION: 8
2024-08-23T01:54:44.7258310Z   PAWPAW_COMMIT_HASH: 80607a764da0b5a6b2daa4d5dd165beafa0535bc
2024-08-23T01:54:44.7258743Z   PAWPAW_SKIP_GLIB: 1
2024-08-23T01:54:44.7259029Z   UBUNTU_CODENAME: focal
2024-08-23T01:54:44.7259783Z   UBUNTU_VERSION: 20.04
2024-08-23T01:54:44.7260073Z ##[endgroup]
2024-08-23T01:54:52.1908688Z E: Unable to locate package monospater
2024-08-23T01:54:52.1909494Z E: Unable to locate package monospater.json
2024-08-23T01:54:52.1910501Z E: Couldn't find any package by glob 'monospater.json'
2024-08-23T01:54:52.1911369Z E: Couldn't find any package by regex 'monospater.json'
2024-08-23T01:54:52.1938064Z ##[error]Process completed with exit code 100.
2024-08-23T01:54:52.2640478Z Post job cleanup.
2024-08-23T01:54:52.2712685Z Post job cleanup.

On this repo : https://github.com/Schmitty2005/monospater_ui

Suggestions ?

Schmitty2005 commented 3 months ago

I was unable to get a Faust.DSP file drag and drop to build with Github Actions. Building a UI for an existing LV2 now mostly works. Source and Linux version build. Windows fails on GH Action Run distrho/dpf-makefile-action@v1

Local Builds work for linux. Local PawPaw builds compile without error. Untested on Windows.

Building object file xmessage-dialog.o 
Build static library libxputty.lib 
=================== DONE =======================
make[1]: warning: -j1 forced in submake: resetting jobserver mode.
rm -f xresources.h
for f in ; do \
    echo 'EXTLD('${f}')' >> xresources.h ; \
done
for f in ; do \
    echo 'extern const char* '${f}';' >> xresources.h ; \
done
In file included from ../libxputty/libxputty/include/xbutton.h:26,
                 from ../libxputty/libxputty/include/xwidgets.h:40,
                 from lv2_plugin.h:37,
                 from Analogue_Oscillator.c:12:
../libxputty/libxputty/include/xputty.h:48:10: fatal error: cairo.h: No such file or directory
   48 | #include <cairo.h>
      |          ^~~~~~~~~
compilation terminated.
make[1]: *** [makefile:114: Analogue_Oscillator] Error 1
make: *** [makefile:22: Analogue_Oscillator] Error 2
brummer10 commented 3 months ago

Sorry for delay, I was on a journey.

I see. Again a Bug in XUidesigner, there are the GUI_LDFLAGS missing in the makefile: https://github.com/Schmitty2005/Analogue_Oscillator_ui/blob/main/Analogue_Oscillator/makefile#L114

Adding $(GUI_LDFLAGS) after $(LDFLAGS) should do the trick.

Schmitty2005 commented 3 months ago

UI-Bundle Builds work with GH Workflows. Thank you!