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
2.2.0: lv2lint fails on plugin #164
Comments
On Mon, 16 May 2022 09:28:06 -0700 David Runge ***@***.***> wrote:
Hi! Similar to #125 I think this is again a problem with 2.2.0.
```
lv2lint 0.16.2
Copyright (c) 2016-2021 Hanspeter Portner ***@***.***)
Released under Artistic License 2.0 by Open Music Kontrollers
<http://yoshimi.sourceforge.net/lv2_plugin>
/build/.local/share/yoshimi/presets
Basic configuration /build/.config/yoshimi/yoshimi.config not found, will use default settings
/build/.local/share/yoshimi/presets
Configuration /build/.config/yoshimi/yoshimi-0.instance not found, will use default settings
Starting in LV2 plugin mode
Found 0 instruments in 0 banks
No bank 5 in root 5. Current bank is 5
Missing recent history file
[FAIL] Plugin Symbols
binary exports superfluous globally visible symbols:
* _ZNSt17_Function_handlerIFSt10unique_ptrINSt13__future_base12_Result_baseENS2_8_DeleterEEvENS1_13_State_baseV27_SetterI9PADTablesOS8_EEE10_M_managerERSt9_Any_dataRKSC_St18_Manager_operation
* _ZTSNSt13__future_base13_State_baseV27_SetterI9PADTablesNS0_19__exception_ptr_tagEEE
* _ZTSSt19_Sp_make_shared_tag
* _ZZNSt9once_flag18_Prepare_executionC4IZSt9call_onceIMNSt13__future_base13_State_baseV2EFvPSt8functionIFSt10unique_ptrINS3_12_Result_baseENS7_8_DeleterEEvEEPbEJPS4_SC_SD_EEvRS_OT_DpOT0_EUlvE_EERSI_ENUlvE_4_FUNEv
* _ZNSt17_Function_handlerIFSt10unique_ptrINSt13__future_base12_Result_baseENS2_8_DeleterEEvENS1_13_State_baseV27_SetterI9PADTablesOS8_EEE9_M_invokeERKSt9_Any_data
* _ZNSt17_Function_handlerIFSt10unique_ptrINSt13__future_base12_Result_baseENS2_8_DeleterEEvENS1_13_State_baseV27_SetterI9PADTablesNS6_19__exception_ptr_tagEEEE9_M_invokeERKSt9_Any_data
* _ZNSt15__exception_ptr12__dest_thunkISt12future_errorEEvPv
* _ZTSNSt13__future_base13_State_baseV2E
* _ZNSt13__future_base13_State_baseV29_M_do_setEPSt8functionIFSt10unique_ptrINS_12_Result_baseENS3_8_DeleterEEvEEPb
* _ZTSSt11_Mutex_baseILN9__gnu_cxx12_Lock_policyE2EE
* ... there is more, but the rest is being truncated
seeAlso: <http://lv2plug.in/ns/lv2core#binary>
<http://yoshimi.sourceforge.net/lv2_plugin#ExternalUI>
[FAIL] UI Symbols
binary exports superfluous globally visible symbols:
* _ZNSt17_Function_handlerIFSt10unique_ptrINSt13__future_base12_Result_baseENS2_8_DeleterEEvENS1_13_State_baseV27_SetterI9PADTablesOS8_EEE10_M_managerERSt9_Any_dataRKSC_St18_Manager_operation
* _ZTSNSt13__future_base13_State_baseV27_SetterI9PADTablesNS0_19__exception_ptr_tagEEE
* _ZTSSt19_Sp_make_shared_tag
* _ZZNSt9once_flag18_Prepare_executionC4IZSt9call_onceIMNSt13__future_base13_State_baseV2EFvPSt8functionIFSt10unique_ptrINS3_12_Result_baseENS7_8_DeleterEEvEEPbEJPS4_SC_SD_EEvRS_OT_DpOT0_EUlvE_EERSI_ENUlvE_4_FUNEv
* _ZNSt17_Function_handlerIFSt10unique_ptrINSt13__future_base12_Result_baseENS2_8_DeleterEEvENS1_13_State_baseV27_SetterI9PADTablesOS8_EEE9_M_invokeERKSt9_Any_data
* _ZNSt17_Function_handlerIFSt10unique_ptrINSt13__future_base12_Result_baseENS2_8_DeleterEEvENS1_13_State_baseV27_SetterI9PADTablesNS6_19__exception_ptr_tagEEEE9_M_invokeERKSt9_Any_data
* _ZNSt15__exception_ptr12__dest_thunkISt12future_errorEEvPv
* _ZTSNSt13__future_base13_State_baseV2E
* _ZNSt13__future_base13_State_baseV29_M_do_setEPSt8functionIFSt10unique_ptrINS_12_Result_baseENS3_8_DeleterEEvEEPb
* _ZTSSt11_Mutex_baseILN9__gnu_cxx12_Lock_policyE2EE
* ... there is more, but the rest is being truncated
seeAlso: <http://lv2plug.in/ns/lv2core#binary>
[WARN] UI Instance Access
usage of instance-access is highly discouraged
seeAlso: <http://lv2plug.in/ns/ext/instance-access>
[WARN] UI Mixed DSP/UI
mixing DSP and UI code in same binary is discouraged
seeAlso: <http://lv2plug.in/ns/extensions/ui#>
[WARN] UI Toolkit
usage of unofficial external UI is discouraged
seeAlso: <http://kxstudio.sf.net/ns/lv2ext/external-ui#Widget>
```
{sigh}
Thanks for letting me know.
This is most frustrating. Personally I've never been able to make sense of LV2
lint - especially, when (here at least) Yoshimi runs quite correctly as a
plugin with Ardour, Muse & Qtractor. I test them all. besides which, I can't
think of anything relevant we've changed!
I'll pass this on to the other devs, and see if someone can sort it.
…--
Will J Godfrey
https://willgodfrey.bandcamp.com/
http://yoshimi.github.io
Say you have a poem and I have a tune.
Exchange them and we can both have a poem, a tune, and a song.
|
Disable LTO as it leads to globally visible symbols in the plugin: Yoshimi/yoshimi#164 git-svn-id: file:///srv/repos/svn-community/svn@1209455 9fca08f4-af9d-4005-b8df-a31f2cc04f65
Disable LTO as it leads to globally visible symbols in the plugin: Yoshimi/yoshimi#164 git-svn-id: file:///srv/repos/svn-community/svn@1209455 9fca08f4-af9d-4005-b8df-a31f2cc04f65
well the usual good practices for building and linking apply here. so the same rules as always apply:
I will welcome the day where lv2lint also checks for RT safety. so that if a plugin says it is RT safe, lv2lint could check directly for that (at least the most common bad practices anyway) coming back to the topic at hand, here are a few steps to take:
|
On Fri, 20 May 2022 11:57:34 -0700 David Runge ***@***.***> wrote:
It seems that when building without link time optimization (LTO) the error does not occur.
Not entirely sure whether this can be fixed on your end. For good measure I'll
ping @ventosus and @falkTX here.
Thanks for letting me know. I'll pass it on to the others.
Unfortunately I doubt you'll get any help from falktx. In the past he's been
very hostile to Yoshimi.
…--
Will J Godfrey
https://willgodfrey.bandcamp.com/
http://yoshimi.github.io
Say you have a poem and I have a tune.
Exchange them and we can both have a poem, a tune, and a song.
|
Oops. Seems I was mistaken. Apologies!
…--
Will J Godfrey
https://willgodfrey.bandcamp.com/
http://yoshimi.github.io
Say you have a poem and I have a tune.
Exchange them and we can both have a poem, a tune, and a song.
|
I still think the amount of effort spent on Yoshimi is kinda wasted, after zynaddsubfx got a maintainer and substantial amount of work put into it. It is nothing personal, more about seeing projects diverge instead trying to merge. We have very few hands on the linux audio side, collaboration could achieve great things, but everyone prefers to do its own thing instead. Probably too late for that perhaps. |
Thank you for the suggestions. We will check through.
As an aside, I have no liking for FLTK, but so far we've not found an
alternative UI that readily gives the appearance and accessibility we like -
especially since we worked out scaled resizing.
…--
Will J Godfrey
https://willgodfrey.bandcamp.com/
http://yoshimi.github.io
Say you have a poem and I have a tune.
Exchange them and we can both have a poem, a tune, and a song.
|
UIs and plugins are complicated, because the use of big popular frameworks is often not suitable. |
I just built and ran LV2lint on the Yoshimi plugin, and see it fails claiming
a plugin from kxstudio is not valid. Indeed, on checking it seems the whole of
kxstudio has disappeared from the 'net.
So, we have a plugin that (to the best of my knowledge) works quite correctly
but is marked as faulty due to a missing external reference that plays no part
in the runtime, and we have no control over.
This is not encouraging.
…--
Will J Godfrey
https://willgodfrey.bandcamp.com/
http://yoshimi.github.io
Say you have a poem and I have a tune.
Exchange them and we can both have a poem, a tune, and a song.
|
Those URIs are not URLs, they do not need to point to places that actually exist. |
On Wed, 25 May 2022 06:53:29 -0700 Filipe Coelho ***@***.***> wrote:
Those URIs are not URLs, they do not need to point to places that actually exist.
I have changed the domain of kxstudio, but still keep the lv2 extensions up to date to anything they might need.
https://github.com/KXStudio/LV2-Extensions has the latest, and https://git.kx.studio/KXStudio/LV2-Extensions as mirror in case something happens to github.
Thanks. I've updated these, and here LV2lint is now silent.
…--
Will J Godfrey
https://willgodfrey.bandcamp.com/
http://yoshimi.github.io
Say you have a poem and I have a tune.
Exchange them and we can both have a poem, a tune, and a song.
|
A bit late to the party, but I'm surprised that lv2lint is complaining about globally visible symbols. We already tried to fix this here. Is arch ignoring our build arguments and using their own? It needs to pass the IIRC, the symbols it's talking about are the "GLOBAL DEFAULT" ones. On my system I get only these:
In other words not much, and only two function definitions, the two that we want. |
Hi! Similar to #125 I think this is again a problem with 2.2.0.
The text was updated successfully, but these errors were encountered: