Closed yurivict closed 3 years ago
seems that LV2 (or libLILV) support is not available there...
show the src/config.h
file output from cmake
please?
this seems specific to your freebsd build: is that right? can you retry from the current or latest git HEAD tree?
OTOH. does openbsd have support for all the ALSA-MIDI that is mandatory to build and run qtractor?
GitHub's master fails the same way.
Where is this function defined? There is only a declaration and several invocations and no definition:
$ grep -r "createType(" work/
work/qtractor-qtractor_0_9_21-20-g1774248b/src/qtractorDssiPlugin.h: static qtractorDssiPluginType *createType(
work/qtractor-qtractor_0_9_21-20-g1774248b/src/qtractorLadspaPlugin.h: static qtractorLadspaPluginType *createType(
work/qtractor-qtractor_0_9_21-20-g1774248b/src/qtractorLv2Plugin.h: static qtractorLv2PluginType *createType(const QString& sUri);
work/qtractor-qtractor_0_9_21-20-g1774248b/src/qtractorPluginFactory.cpp: = qtractorLv2PluginType::createType(sFilename);
work/qtractor-qtractor_0_9_21-20-g1774248b/src/qtractorPluginFactory.cpp: = qtractorDssiPluginType::createType(pFile, iIndex);
work/qtractor-qtractor_0_9_21-20-g1774248b/src/qtractorPluginFactory.cpp: = qtractorLadspaPluginType::createType(pFile, iIndex);
work/qtractor-qtractor_0_9_21-20-g1774248b/src/qtractorPluginFactory.cpp: = qtractorVstPluginType::createType(pFile, iIndex);
work/qtractor-qtractor_0_9_21-20-g1774248b/src/qtractorPluginFactory.cpp: = qtractorVst3PluginType::createType(pFile, iIndex);
work/qtractor-qtractor_0_9_21-20-g1774248b/src/qtractorPluginFactory.cpp: = qtractorLv2PluginType::createType(sFilename);
work/qtractor-qtractor_0_9_21-20-g1774248b/src/qtractorPluginFactory.cpp: pType = qtractorLadspaPluginType::createType(pFile, iIndex);
work/qtractor-qtractor_0_9_21-20-g1774248b/src/qtractorPluginFactory.cpp: pType = qtractorDssiPluginType::createType(pFile, iIndex);
work/qtractor-qtractor_0_9_21-20-g1774248b/src/qtractorPluginFactory.cpp: pType = qtractorVstPluginType::createType(pFile, iIndex);
work/qtractor-qtractor_0_9_21-20-g1774248b/src/qtractorPluginFactory.cpp: pType = qtractorVst3PluginType::createType(pFile, iIndex);
work/qtractor-qtractor_0_9_21-20-g1774248b/src/qtractorPluginFactory.cpp: = qtractorLv2PluginType::createType(sFilename);
work/qtractor-qtractor_0_9_21-20-g1774248b/src/qtractorPluginFactory.cpp: qtractorPluginType *pType = qtractorDummyPluginType::createType(sText);
work/qtractor-qtractor_0_9_21-20-g1774248b/src/qtractorPluginFactory.h: static qtractorDummyPluginType *createType(const QString& sText);
work/qtractor-qtractor_0_9_21-20-g1774248b/src/qtractorVstPlugin.h: static qtractorVstPluginType *createType(
Where is this function defined? There is only a declaration and several invocations and no definition:
for example:
work/qtractor-qtractor_0_9_21-20-g1774248b/src/qtractorLv2Plugin.h: static qtractorLv2PluginType *createType(const QString& sUri);
The problem is this #ifdef CONFIG_LV2_STATE
:
https://github.com/rncbc/qtractor/blob/1774248b7c047aa43cc80a0d483be13db6c145c6/src/qtractorLv2Plugin.cpp#L115
It doesn't build when LV2 plugins are enabled but CONFIG_LV2_STATE=OFF
.
CONFIG_LV2_STATE
gets turned off somewhere in cmake scripts.
libsuil
is installed, yet it doesn't say that it failed to find it and then says: LV2 plug-in UI support (libsuil): no
:
-- The C compiler identification is Clang 10.0.1
-- The CXX compiler identification is Clang 10.0.1
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
fatal: not a git repository (or any of the parent directories): .git
-- Looking for lroundf
-- Looking for lroundf - found
-- Looking for 3 include files fcntl.h, ..., signal.h
-- Looking for 3 include files fcntl.h, ..., signal.h - found
-- Looking for ladspa.h
-- Looking for ladspa.h - not found
-- Looking for dssi.h
-- Looking for dssi.h - not found
-- Looking for aeffectx.h
-- Looking for aeffectx.h - not found
-- Looking for vestige.h
-- Looking for vestige.h - found
-- Found PkgConfig: pkgconf (found version "1.7.4")
-- Checking for module 'jack>=0.100.0'
-- Found jack, version 0.125.0rc1
-- Looking for jack_set_port_rename_callback
-- Looking for jack_set_port_rename_callback - not found
-- Checking for module 'alsa'
-- Found alsa, version 1.1.2
-- Checking for module 'sndfile'
-- Found sndfile, version 1.0.31
-- Checking for module 'vorbis'
-- Found vorbis, version 1.3.7
-- Checking for module 'vorbisenc'
-- Found vorbisenc, version 1.3.7
-- Checking for module 'vorbisfile'
-- Found vorbisfile, version 1.3.7
-- Checking for module 'ogg'
-- Found ogg, version 1.3.4
-- Checking for module 'mad'
-- Found mad, version 0.15.1b
-- Checking for module 'samplerate'
-- Found samplerate, version 0.2.1
-- Checking for module 'rubberband'
-- Found rubberband, version 1.8.2
-- Checking for module 'aubio>=0.4.1'
-- Package 'aubio', required by 'virtual:world', not found
CMake Warning at CMakeLists.txt:452 (message):
*** AUBIO library not found.
-- Checking for module 'liblo'
-- Found liblo, version 0.31
-- Checking for module 'zlib'
-- Found zlib, version 1.2.11
-- Checking for module 'vst3sdk>=3.6.14'
-- Package 'vst3sdk', required by 'virtual:world', not found
CMake Warning at CMakeLists.txt:498 (message):
*** VST3 SDK not found.
-- Checking for module 'lv2'
-- Found lv2, version 1.18.2
-- Looking for lv2/lv2plug.in/ns/extensions/ui/ui.h
-- Looking for lv2/lv2plug.in/ns/extensions/ui/ui.h - not found
-- Checking for module 'lilv-0'
-- Found lilv-0, version 0.24.12
-- Looking for lilv_file_uri_parse
-- Looking for lilv_file_uri_parse - not found
-- Looking for lilv_world_unload_resource
-- Looking for lilv_world_unload_resource - not found
-- Looking for lv2/lv2plug.in/ns/ext/atom/atom.h
-- Looking for lv2/lv2plug.in/ns/ext/atom/atom.h - not found
-- Looking for lv2/lv2plug.in/ns/ext/worker/worker.h
-- Looking for lv2/lv2plug.in/ns/ext/worker/worker.h - not found
-- Looking for lv2_programs.h
-- Looking for lv2_programs.h - not found
-- Looking for lv2_midnam.h
-- Looking for lv2_midnam.h - not found
-- Looking for lv2/lv2plug.in/ns/ext/time/time.h
-- Looking for lv2/lv2plug.in/ns/ext/time/time.h - not found
-- Looking for lv2/lv2plug.in/ns/ext/parameters/parameters.h
-- Looking for lv2/lv2plug.in/ns/ext/parameters/parameters.h - not found
Qtractor 0.9.22 (Qt 5.15.2)
Build target . . . . . . . . . . . . . . . . . . .: Release
JACK Audio Connection Kit support . . . . . . . .: yes
ALSA MIDI Sequencer support . . . . . . . . . . .: yes
General audio file support (libsndfile) . . . . .: yes
Ogg Vorbis audio file support (libvorbis) . . . .: yes
MPEG-1 Audio Layer 3 file support (libmad) . . . .: yes
Sample-rate conversion support (libsamplerate) . .: yes
Pitch-shifting support (librubberband) . . . . . .: yes
Beat-detection support (libaubio) . . . . . . . .: no
OSC service support (liblo) . . . . . . . . . . .: yes
Archive/Zip file support (zlib) . . . . . . . . .: yes
IEEE 32bit float optimizations . . . . . . . . . .: yes
SSE optimization support (x86) . . . . . . . . . .: yes
LADSPA plug-in support . . . . . . . . . . . . . .: no
DSSI plug-in support . . . . . . . . . . . . . . .: no
VST plug-in support . . . . . . . . . . . . . . .: yes
VST3 plug-in support . . . . . . . . . . . . . . .: no
LV2 plug-in support . . . . . . . . . . . . . . .: yes
LV2 plug-in support (liblilv) . . . . . . . . . .: yes
LV2 plug-in UI support . . . . . . . . . . . . . .: no
LV2 plug-in UI support (libsuil) . . . . . . . . .: no
-- Checking for module 'lv2'
-- Found lv2, version 1.18.2
-- Looking for lv2/lv2plug.in/ns/extensions/ui/ui.h
-- Looking for lv2/lv2plug.in/ns/extensions/ui/ui.h - not found
this is very strange; how come lv2 is found and ui.h is not? something is really fishy in freebsd land.
what happens when you take the yet still official autotools/configure route?
What package installs lv2/lv2plug.in/ns/extensions/ui/ui.h
for you ?
What package installs lv2/lv2plug.in/ns/extensions/ui/ui.h for you ?
lv2-dev(el)
The file /usr/local/include/lv2/lv2plug.in/ns/extensions/ui/ui.h
is present.
You fail to find it for some reason.
The cmake script is very complex, it turns options on/off based on some complex logic.
You should have a single option to support LV2 - ON or OFF. IMO there is no need to support situations when LV2 is installed, but lilv or suil isn't. LV2 should imply all involved packages, and fail when any of them aren't present.
let me remember you that the said complex logic has been in place for quite some time on GNU/Linux ever since the LV2 inception (back in 2008) and progressive development..
please be kind and investigate why the /usr/local/include/
lv2/lv2plug.in/ns/extensions/ui/ui.h(and others like it) can't be found on you system; it can't be that
/usr/local/includeis not on the default include search paths? can you check the output to
pkg-config --cflags lv2` ?
On BSDs all packages are installed into /usr/local
and include and lib directories there are not included in paths by default. Now when I included them into CXXFLAGS and LDFLAGS qtractor builds.
Something is broken with the LV2 detection when only some LV2 packages are detected.
I will look now if there are any runtime issues. I will report them separately if I find anything.
Thank you for your help!
grepping through code doesn't find definitions of these functions.
Used cmake-3.19.6 to configure.