New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
x11 dependency in sources also if NEED_UI = 0 #69
Comments
Currently there is no option to build plugins without UI support. |
Ah, I see, you need LADSPA only. |
Yes, it seems that it tries to build GLX modules. I'll try to fix it. |
This commit should fix your problem: 66f95fc |
Hello, I've tried but I still get errors. I need plugins in lv2 format, so I've modified src/Makefile ifeq ( so that NEED_UI is not present in lv2 mode. Below the output log | aarch64-poky-linux-g++ --sysroot=/localdisk/massimo/Work/NanoPiNEO2/build/tmp/work/aarch64-poky-linux/lsp-plugins/1.0-r0/recipe-sysroot interpolation.cpp I will try to build ladspa container asap... You said "Currently there is no option to build plugins without UI support." Is it confirmed or not? |
UPDATE: with build_ladspa + your modifications builds successfully on my build environment (yocto). Just one thing, I had to modify ladspa.cpp line 17 (Linux case) to search for include in #include <3rdparty/ladspa/ladspa.h> since no ladspa.h is present in the sysroot for this package. Hope this helps |
@MaxPayne86 or you just could install ladspa-devel or ladspa-dev package on your system.
|
Merged changes into devel branch: f52608e |
@sadko4u thanks for your support. Is the removal of UI dependencies for LV2 container in plan? I think it's makes a lot of sense, but I cannot estimate the effort needed, maybe is worth to be discussed. Cairo can be builded with no x11 support. I've seen your ui has cairo dependencies...calf studio suite has the same problem (in terms of cairo dependencies) but builds just fine in my env. |
Cairo is required for LV2's inline display feature. |
Hello, I'm applying the following patches
I can now do
and compile without errors, however when loading an lv2 plugin on target I'm encountering this issue:
What I'm trying to do here? It's really just a test, to make LV2 buildable without the UI. Hope this helps |
You can't do that simple with LV2 since LV2 plugin wrapper uses both UI and DSP code. |
Thanks @sadko4u, that was just a test but it's now clear that to make this plugin suite working with an lv2 host on a headless system then the lv2 wrapper (container source code) need to be modified. Unfortunately I cannot do that at the moment, hope that my tests will be useful for someone else... |
@MaxPayne86 please don't get sad. Maybe I'll have some time to add UI removal for LV2 plugins for the 1.1.14 release. |
FYI I was able to build lsp-plugins without UI, and only needed to modify lv2 code (removing lv2ui stuff).
And here's a patch to disable the lv2ui stuff:
|
Oh, this might be useful to apply in the project:
I added |
Please try the github-issue-69 branch. Now it's possible to specify the following additional options:
@falkTX thanks for linker flag, added it to build files. |
LV2 build succeeds now without any patching, thanks! Still, a few notes:
|
For reference, my full make args are:
|
@falkTX FYI: '-Wl,-no-undefined' doesn't work on FreeBSD if you use some POSIX variables like
|
Then you are missing a library to link against in FreeBSD |
No, that's some FreeBSD magic. Removing the flag for FreeBSD solved linkage issue and all works pretty fine. |
That is so weird though... very hackish. |
Merged changes into devel branch |
Removed github-issue-69 branch. |
Changes available in 1.1.14 release! |
Hi @sadko4u @falkTX thanks for the help. I still have a problem with @$(UTL_RESGEN) | /localdisk/massimo/Work/NanoPiNEO2/build/tmp/work/aarch64-poky-linux/lsp-plugins/1.0-r0/git/.build/gen_resources.exe: 1: /localdisk/massimo/Work/NanoPiNEO2/build/tmp/work/aarch64-poky-linux/lsp-plugins/1.0-r0/git/.build/gen_resources.exe: Syntax error: word unexpected (expecting ")") I'm cross-compiling on x86_64 host for aarch64 target and with your current Makefile .build/gen_resources.exe is compiled as target (arm executable). As you can imagine it will not run on the host build machine, failing the compilation step. |
The problem is, that all source files in 'utils' are supplementary utilities that mostly generate additional resources (like TTL files and built-in resources) and are required to be executed on the host architecture. But they also reuse object files which are built for target architecture in your case. So it's not easy to split host from target in this case. According to what I've just described I don't think that cross-compilation is currently possible at all. I would probably recommend to issue the complete build on the virtual machine that emulates the target architecture. I especially use real Raspberry Pi's for LSP releases, so binaries are built in real environment. |
cross-compilation works fine if we setup binfmt and qemu-static, in a way that allows us to run arm/aarch64 binaries (that is the case for MOD anyway). |
Hey guys, I'm using yocto for building this package, I don't think it's possible to emulate the final target architecture during the build of a package. The reason behind is to avoid host(native)-target contamination during build. As a simple solution, could work to generate builtin_resource.cpp during standard x86_64 and then use it to generate the required objects during cross compilation in your op? builtin_resource.cpp is strongly dependant on architecture? If that's the case then I'll compile everything on aarch64 and steal the builtin_resource.cpp file...:S @$(CXX) -o |
builtin_resource is self-containing, it can be just thrown into the tree of target architecture's build. What about TTL generator? I suppose since you'll build plugins on the host first, you also can use it, too because TTL files are platform-independent. |
Hello, first of all, thanks for this impressive collection of plugins. I've tried to compile lsp to a target which has no x11 support, since in my project it's not needed. I said, ok, I need to build with
make build_ladspa BUILD_PROFILE=aarch64
I also inserted some prints in src/Makefile to check the statuses of the flags
Log data follows:
| DEBUG: Executing shell function do_compile
| NOTE: make -j 4 build_ladspa BUILD_PROFILE=aarch64
| Package x11 was not found in the pkg-config search path.
| Perhaps you should add the directory containing
x11.pc' | to the PKG_CONFIG_PATH environment variable | No package 'x11' found | Package cairo was not found in the pkg-config search path. | Perhaps you should add the directory containing
cairo.pc'| to the PKG_CONFIG_PATH environment variable
| No package 'cairo' found
| Package x11 was not found in the pkg-config search path.
| Perhaps you should add the directory containing
x11.pc' | to the PKG_CONFIG_PATH environment variable | No package 'x11' found | Package cairo was not found in the pkg-config search path. | Perhaps you should add the directory containing
cairo.pc'| to the PKG_CONFIG_PATH environment variable
The text was updated successfully, but these errors were encountered: