Skip to content

0.9: lv2lint fails on plugins #36

@dvzrv

Description

@dvzrv

Hi! When packaging 0.9 for Arch Linux I also (finally) ran lv2lint against all plugins.

  make
  local _name
  declare -A _urls=(
    ["GxVoodoFuzz.lv2"]="gx_voodoo_#_voodoo_"
    ["GxVmk2.lv2"]="gx_vmk2d_#_vmk2d_"
    ["GxVintageFuzzMaster.lv2"]="gx_vfm_#_vfm_"
    ["GxValveCaster.lv2"]="gx_valvecaster_#_valvecaster_"
    ["GxVBassPreAmp.lv2"]="gx_voxbass_#_voxbass_"
    ["GxUltraCab.lv2"]="gx_ultracab_#_ultracab_"
    ["GxUVox720k.lv2"]="gx_uvox_#_uvox_"
    ["GxTubeDistortion.lv2"]="gx_TubeDistortion_#_TubeDistortion_"
    ["GxToneMachine.lv2"]="gx_tonemachine_#_tonemachine_"
    ["GxTimRay.lv2"]="gx_timray_#_timray_"
    ["GxSuppaToneBender.lv2"]="gx_vstb_#_vstb_"
    ["GxSupersonic.lv2"]="gx_supersonic_#_supersonic_"
    ["GxSuperFuzz.lv2"]="gx_sfp_#_sfp_"
    ["GxSunFace.lv2"]="gx_SunFace_#_SunFace_"
    ["GxSlowGear.lv2"]="gx_slowgear_#_slowgear_"
    ["GxSloopyBlue.lv2"]="gx_sloopyblue_#_sloopyblue_"
    ["GxShakaTube.lv2"]="gx_shakatube_#_shakatube_"
    ["GxSaturator.lv2"]="gx_saturate_#_saturate_"
    ["GxSVT.lv2"]="gx_ampegsvt_#_ampegsvt_"
    ["GxSD2Lead.lv2"]="gx_sd2lead_#_sd2lead_"
    ["GxSD1.lv2"]="gx_sd1sim_#_sd1sim_"
    ["GxQuack.lv2"]="gx_quack_#_quack_"
    ["GxPlexi.lv2"]="gx_plexi_#_plexi_"
    ["GxMicroAmp.lv2"]="gx_MicroAmp_#_MicroAmp_"
    ["GxLuna.lv2"]="gx_luna_#_luna_"
    ["GxLiquidDrive.lv2"]="gx_liquiddrive_#_liquiddrive_"
    ["GxKnightFuzz.lv2"]="gx_KnightFuzz_#_KnightFuzz_"
    ["GxHyperion.lv2"]="gx_hyperion_#_hyperion_"
    ["GxHotBox.lv2"]="gx_hotbox_#_hotbox_"
    ["GxHeathkit.lv2"]="gx_Heathkit_#_Heathkit_"
    ["GxGuvnor.lv2"]="gx_guvnor_#_guvnor_"
    ["GxFz1s.lv2"]="gx_maestro_fz1s_#_maestro_fz1s_"
    ["GxFz1b.lv2"]="gx_maestro_fz1b_#_maestro_fz1b_"
    ["GxEternity.lv2"]="gx_eternity_#_eternity_"
    ["GxEpic.lv2"]="gx_epic_#_epic_"
    ["GxDOP250.lv2"]="gx_DOP250_#_DOP250_"
    ["GxCreamMachine.lv2"]="gx_CreamMachine_#_CreamMachine_"
    ["GxClubDrive.lv2"]="gx_clubdrive_#_clubdrive_"
    ["GxBottleRocket.lv2"]="gx_bottlerocket_#_bottlerocket_"
    ["GxBoobTube.lv2"]="gx_boobtube_#_boobtube_"
    ["GxBlueAmp.lv2"]="gx_blueamp_#_blueamp_"
    ["GxBaJaTubeDriver.lv2"]="gx_bajatubedriver_#_bajatubedriver_"
    ["GxAxisFace.lv2"]="gx_AxisFace_#_AxisFace_"
  )
  declare -A _names=(
    ["GxVoodoFuzz.lv2"]="gx_voodoo.lv2"
    ["GxVmk2.lv2"]="gx_vmk2d.lv2"
    ["GxVintageFuzzMaster.lv2"]="gx_vfm.lv2"
    ["GxValveCaster.lv2"]="gx_valvecaster.lv2"
    ["GxVBassPreAmp.lv2"]="gx_voxbass.lv2"
    ["GxUltraCab.lv2"]="gx_ultracab.lv2"
    ["GxUVox720k.lv2"]="gx_uvox.lv2"
    ["GxTubeDistortion.lv2"]="gx_TubeDistortion.lv2"
    ["GxToneMachine.lv2"]="gx_tonemachine.lv2"
    ["GxTimRay.lv2"]="gx_timray.lv2"
    ["GxSuppaToneBender.lv2"]="gx_vstb.lv2"
    ["GxSupersonic.lv2"]="gx_supersonic.lv2"
    ["GxSuperFuzz.lv2"]="gx_sfp.lv2"
    ["GxSunFace.lv2"]="gx_SunFace.lv2"
    ["GxSlowGear.lv2"]="gx_slowgear.lv2"
    ["GxSloopyBlue.lv2"]="gx_sloopyblue.lv2"
    ["GxShakaTube.lv2"]="gx_shakatube.lv2"
    ["GxSaturator.lv2"]="gx_saturate.lv2"
    ["GxSVT.lv2"]="gx_ampegsvt.lv2"
    ["GxSD2Lead.lv2"]="gx_sd2lead.lv2"
    ["GxSD1.lv2"]="gx_sd1sim.lv2"
    ["GxQuack.lv2"]="gx_quack.lv2"
    ["GxPlexi.lv2"]="gx_plexi.lv2"
    ["GxMicroAmp.lv2"]="gx_MicroAmp.lv2"
    ["GxLuna.lv2"]="gx_luna.lv2"
    ["GxLiquidDrive.lv2"]="gx_liquiddrive.lv2"
    ["GxKnightFuzz.lv2"]="gx_KnightFuzz.lv2"
    ["GxHyperion.lv2"]="gx_hyperion.lv2"
    ["GxHotBox.lv2"]="gx_hotbox.lv2"
    ["GxHeathkit.lv2"]="gx_Heathkit.lv2"
    ["GxGuvnor.lv2"]="gx_guvnor.lv2"
    ["GxFz1s.lv2"]="gx_maestro_fz1s.lv2"
    ["GxFz1b.lv2"]="gx_maestro_fz1b.lv2"
    ["GxEternity.lv2"]="gx_eternity.lv2"
    ["GxEpic.lv2"]="gx_epic.lv2"
    ["GxDOP250.lv2"]="gx_DOP250.lv2"
    ["GxCreamMachine.lv2"]="gx_CreamMachine.lv2"
    ["GxClubDrive.lv2"]="gx_clubdrive.lv2"
    ["GxBottleRocket.lv2"]="gx_bottlerocket.lv2"
    ["GxBoobTube.lv2"]="gx_boobtube.lv2"
    ["GxBlueAmp.lv2"]="gx_blueamp.lv2"
    ["GxBaJaTubeDriver.lv2"]="gx_bajatubedriver.lv2"
    ["GxAxisFace.lv2"]="gx_AxisFace.lv2"
  )
  for _name in "${!_names[@]}"; do
    lv2lint -Mpack -I "${_name}/${_names[${_name}]}/" "http://guitarix.sourceforge.net/plugins/${_urls[${_name}]}" || echo "Known to fail"
  done

Unfortunately they all fail on various things, as you can see in this short excerpt:

lv2lint 0.12.0
Copyright (c) 2016-2021 Hanspeter Portner ([email protected])
Released under Artistic License 2.0 by Open Music Kontrollers
<http://guitarix.sourceforge.net/plugins/gx_bottlerocket_#_bottlerocket_>
    [FAIL]  Plugin Symbols
              binary exports superfluous globally visible symbols:
                * _ZN12bottlerocket16Gx_bottlerocket_D2Ev
                * _ZN12bottlerocket3Dsp7connectEjPv
                * _ZN12bottlerocket3DspC2Ev
                * _ZN12bottlerocket3Dsp14compute_staticEiPfS1_P9PluginLV2
                * _ZN12bottlerocket16Gx_bottlerocket_7cleanupEPv
                * _ZN12bottlerocket3DspD1Ev
                * _ZN12bottlerocket3Dsp11init_staticEjP9PluginLV2
                * _ZN12bottlerocket7tubetabE
                * _ZN12bottlerocket16Gx_bottlerocket_C1Ev
                * _ZN12bottlerocket16Gx_bottlerocket_12connect_portEPvjS1_
                * ... there is more, but the rest is being truncated
              seeAlso: <http://lv2plug.in/ns/lv2core#binary>
    [WARN]  Plugin Author Homepage
              foaf:homepage not found
              seeAlso: <http://lv2plug.in/ns/lv2core#project>
  <http://guitarix.sourceforge.net/plugins/gx_bottlerocket_gui#_bottlerocket_>
    [FAIL]  UI Symbols
              binary exports superfluous globally visible symbols:
                * _binary_pedal_png_start
                * get_active_controller
                * _binary_pswitch_off_png_size
                * _binary_pedal_png_size
                * _binary_frame_png_size
                * _binary_pswitch_on_png_end
                * cairo_image_surface_create_from_stream
                * _binary_frame_png_start
                * _binary_pedal_png_end
                * _binary_pswitch_on_png_start
                * ... there is more, but the rest is being truncated
              seeAlso: <http://lv2plug.in/ns/lv2core#binary>
    [FAIL]  UI Idle Interface
              lv2:feature ui:idleInterface missing
              seeAlso: <http://lv2plug.in/ns/extensions/ui#idleInterface>
    [FAIL]  UI Resize Interface
              lv2:extensionData ui:resize missing
              seeAlso: <http://lv2plug.in/ns/extensions/ui#resize>

The full check log can be found here:
gxplugins.lv2-0.9-1-x86_64-check.log

I believe they are all fixable issues though! :)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions