HISE Forum
    • Unread
    • Recent
    • Admin
    • Register
    • Login

    Invalid use of incomplete type vSIMDType

    Scheduled Pinned Locked Moved Bug Reports
    14 Posts 3 Posters 764 Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • d.healeyD
      d.healey @Christoph Hart
      last edited by

      @Christoph-Hart I don't usually build the develop branch, I normally use my fork, but someone else reported it on Discord so I tested to confirm.

      I'll find the commit

      Free HISE Bootcamp Full Course for beginners.
      YouTube Channel - Public HISE tutorials
      My Patreon - HISE tutorials

      1 Reply Last reply Reply Quote 0
      • d.healeyD
        d.healey @Christoph Hart
        last edited by d.healey

        @Christoph-Hart It's this commit

        https://github.com/christophhart/HISE/commit/324a82ca4e7c3edcb4f5db6b60eb2164ccc3d6e4

        In file included from ../../../../../hise/hi_streaming/../JUCE/modules/juce_dsp/juce_dsp.h:236,
                         from ../../../../../hise/hi_streaming/hi_streaming.h:62,
                         from ../../../../../hise/hi_streaming/hi_streaming.cpp:2,
                         from ../../JuceLibraryCode/include_hi_streaming.cpp:9:
        ../../../../../hise/hi_streaming/../JUCE/modules/juce_dsp/containers/juce_SIMDRegister.h: In instantiation of ‘struct juce::dsp::SIMDRegister<long long int>’:
        ../../../../../hise/hi_streaming/hi_streaming/MonolithAudioFormat.cpp:371:35:   required from here
          371 |                 const int64 length = jmin<int64>(realSampleLength, info.length);
              |                                      ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        ../../../../../hise/hi_streaming/../JUCE/modules/juce_dsp/containers/juce_SIMDRegister.h:85:11: error: invalid use of incomplete type ‘using juce::dsp::SIMDRegister<long long int>::NativeOps = struct juce::dsp::SIMDNativeOps<long long int>’ {aka ‘struct juce::dsp::SIMDNativeOps<long long int>’}
           85 |     using vSIMDType = typename NativeOps::vSIMDType;
              |           ^~~~~~~~~
        In file included from ../../../../../hise/hi_streaming/../JUCE/modules/juce_dsp/juce_dsp.h:228:
        ../../../../../hise/hi_streaming/../JUCE/modules/juce_dsp/native/juce_sse_SIMDNativeOps.h:52:8: note: declaration of ‘using juce::dsp::SIMDRegister<long long int>::NativeOps = struct juce::dsp::SIMDNativeOps<long long int>’ {aka ‘struct juce::dsp::SIMDNativeOps<long long int>’}
           52 | struct SIMDNativeOps;
              |        ^~~~~~~~~~~~~
        

        Just found some additional errors with the latest commits

        ode::math::NeuralNode<256>]’
          717 |                         newItem.cb = PolyT::createNode;
              |                         ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
        ../../../../../hise/hi_scripting/scripting/scriptnode/node_library/HiseNodeFactory.cpp:1300:71:   required from here
         1300 |         registerPolyNodeRaw<NeuralNode<1>, NeuralNode<NUM_POLYPHONIC_VOICES>>();
              |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
        ../../../../../hise/hi_scripting/scripting/scriptnode/node_library/HiseNodeFactory.cpp:1197:47: error: no type named ‘HpfFrequency’ in ‘using scriptnode::math::NeuralNode<256>::NeuralType = struct scriptnode::math::neural<256, hise::runtime_target::indexers::dynamic>’ {aka ‘struct scriptnode::math::neural<256, hise::runtime_target::indexers::dynamic>’}
         1197 |         auto freq = NeuralType::HpfFrequency::Off;
              |                                               ^~~
        ../../../../../hise/hi_scripting/scripting/scriptnode/node_library/HiseNodeFactory.cpp:1200:46: error: no type named ‘HpfFrequency’ in ‘using scriptnode::math::NeuralNode<256>::NeuralType = struct scriptnode::math::neural<256, hise::runtime_target::indexers::dynamic>’ {aka ‘struct scriptnode::math::neural<256, hise::runtime_target::indexers::dynamic>’}
         1200 |             freq = NeuralType::HpfFrequency::Hz1;
              |                                              ^~~
        ../../../../../hise/hi_scripting/scripting/scriptnode/node_library/HiseNodeFactory.cpp:1202:46: error: no type named ‘HpfFrequency’ in ‘using scriptnode::math::NeuralNode<256>::NeuralType = struct scriptnode::math::neural<256, hise::runtime_target::indexers::dynamic>’ {aka ‘struct scriptnode::math::neural<256, hise::runtime_target::indexers::dynamic>’}
         1202 |             freq = NeuralType::HpfFrequency::Hz5;
              |                                              ^~~
        ../../../../../hise/hi_scripting/scripting/scriptnode/node_library/HiseNodeFactory.cpp: In instantiation of ‘void scriptnode::math::NeuralNode<NV>::updateHpf(juce::Identifier, juce::var) [with int NV = 1]’:
        ../../../../../hise/hi_scripting/scripting/scriptnode/node_library/HiseNodeFactory.cpp:1108:44:   required from ‘scriptnode::math::NeuralNode<NV>::NeuralNode(scriptnode::DspNetwork*, const juce::ValueTree&) [with int NV = 1]’
          535 | #define BIND_MEMBER_FUNCTION_2(x) std::bind(&x, this, std::placeholders::_1, std::placeholders::_2)
        ../../../../../hise/hi_scripting/scripting/scriptnode/node_library/HiseNodeFactory.cpp:1140:16:   required from ‘static scriptnode::NodeBase* scriptnode::math::NeuralNode<NV>::createNode(scriptnode::DspNetwork*, juce::ValueTree) [with int NV = 1]’
         1140 |         return new NeuralNode(n, v);
              |                ^~~~~~~~~~~~~~~~~~~~
        ../../../../../hise/hi_scripting/scripting/scriptnode/api/StaticNodeWrappers.h:725:15:   required from ‘void scriptnode::NodeFactory::registerPolyNodeRaw() [with MonoT = scriptnode::math::NeuralNode<1>; PolyT = scriptnode::math::NeuralNode<256>]’
          725 |                         newItem.cb = MonoT::createNode;
              |                         ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
        ../../../../../hise/hi_scripting/scripting/scriptnode/node_library/HiseNodeFactory.cpp:1300:71:   required from here
         1300 |         registerPolyNodeRaw<NeuralNode<1>, NeuralNode<NUM_POLYPHONIC_VOICES>>();
              |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
        ../../../../../hise/hi_scripting/scripting/scriptnode/node_library/HiseNodeFactory.cpp:1197:47: error: no type named ‘HpfFrequency’ in ‘using scriptnode::math::NeuralNode<1>::NeuralType = struct scriptnode::math::neural<1, hise::runtime_target::indexers::dynamic>’ {aka ‘struct scriptnode::math::neural<1, hise::runtime_target::indexers::dynamic>’}
         1197 |         auto freq = NeuralType::HpfFrequency::Off;
              |                                               ^~~
        ../../../../../hise/hi_scripting/scripting/scriptnode/node_library/HiseNodeFactory.cpp:1200:46: error: no type named ‘HpfFrequency’ in ‘using scriptnode::math::NeuralNode<1>::NeuralType = struct scriptnode::math::neural<1, hise::runtime_target::indexers::dynamic>’ {aka ‘struct scriptnode::math::neural<1, hise::runtime_target::indexers::dynamic>’}
         1200 |             freq = NeuralType::HpfFrequency::Hz1;
              |                                              ^~~
        ../../../../../hise/hi_scripting/scripting/scriptnode/node_library/HiseNodeFactory.cpp:1202:46: error: no type named ‘HpfFrequency’ in ‘using scriptnode::math::NeuralNode<1>::NeuralType = struct scriptnode::math::neural<1, hise::runtime_target::indexers::dynamic>’ {aka ‘struct scriptnode::math::neural<1, hise::runtime_target::indexers::dynamic>’}
         1202 |             freq = NeuralType::HpfFrequency::Hz5;
              |                                              ^~~
        ../../../../../hise/hi_scripting/scripting/scriptnode/node_library/HiseNodeFactory.cpp: In instantiation of ‘void scriptnode::math::NeuralNode<NV>::prepare(scriptnode::PrepareSpecs) [with int NV = 1; scriptnode::PrepareSpecs = snex::Types::PrepareSpecs]’:
        ../../../../../hise/hi_scripting/scripting/scriptnode/node_library/HiseNodeFactory.cpp:1143:10:   required from here
         1143 |     void prepare(PrepareSpecs ps) override
              |          ^~~~~~~
        ../../../../../hise/hi_scripting/scripting/scriptnode/node_library/HiseNodeFactory.cpp:1150:21: error: ‘using scriptnode::math::NeuralNode<1>::BypassWrapper = class scriptnode::bypass::simple<scriptnode::math::neural<1, hise::runtime_target::indexers::dynamic> >’ {aka ‘class scriptnode::bypass::simple<scriptnode::math::neural<1, hise::runtime_target::indexers::dynamic> >’} has no member named ‘warmup’
         1150 |                 obj.warmup = getRootNetwork()->getMainController()->getExtraDefinitionsValue("HISE_NEURAL_NETWORK_WARMUP_TIME", 0);
              |                 ~~~~^~~~~~
        ../../../../../hise/hi_scripting/scripting/scriptnode/node_library/HiseNodeFactory.cpp: In instantiation of ‘void scriptnode::math::NeuralNode<NV>::prepare(scriptnode::PrepareSpecs) [with int NV = 256; scriptnode::PrepareSpecs = snex::Types::PrepareSpecs]’:
        ../../../../../hise/hi_scripting/scripting/scriptnode/node_library/HiseNodeFactory.cpp:1143:10:   required from here
         1143 |     void prepare(PrepareSpecs ps) override
              |          ^~~~~~~
        ../../../../../hise/hi_scripting/scripting/scriptnode/node_library/HiseNodeFactory.cpp:1150:21: error: ‘using scriptnode::math::NeuralNode<256>::BypassWrapper = class scriptnode::bypass::simple<scriptnode::math::neural<256, hise::runtime_target::indexers::dynamic> >’ {aka ‘class scriptnode::bypass::simple<scriptnode::math::neural<256, hise::runtime_target::indexers::dynamic> >’} has no member named ‘warmup’
         1150 |                 obj.warmup = getRootNetwork()->getMainController()->getExtraDefinitionsValue("HISE_NEURAL_NETWORK_WARMUP_TIME", 0);
              |                 ~~~~^~~~~~
        

        Free HISE Bootcamp Full Course for beginners.
        YouTube Channel - Public HISE tutorials
        My Patreon - HISE tutorials

        d.healeyD 1 Reply Last reply Reply Quote 0
        • d.healeyD
          d.healey @d.healey
          last edited by

          @Christoph-Hart The NeuralNode errors are resolved now.

          Free HISE Bootcamp Full Course for beginners.
          YouTube Channel - Public HISE tutorials
          My Patreon - HISE tutorials

          1 Reply Last reply Reply Quote 1
          • d.healeyD
            d.healey
            last edited by

            It's strange because I've merged all your changes into my fork and I don't get the vSIMD errors there, I've poked around in the juicer project too but I'm not sure what the difference is.

            Free HISE Bootcamp Full Course for beginners.
            YouTube Channel - Public HISE tutorials
            My Patreon - HISE tutorials

            Christoph HartC 1 Reply Last reply Reply Quote 0
            • Christoph HartC
              Christoph Hart @d.healey
              last edited by

              @d-healey the avx flag?

              d.healeyD 2 Replies Last reply Reply Quote 0
              • d.healeyD
                d.healey @Christoph Hart
                last edited by d.healey

                @Christoph-Hart That wasn't changed in the commit. Also looks like that's just a Windows flag.

                Free HISE Bootcamp Full Course for beginners.
                YouTube Channel - Public HISE tutorials
                My Patreon - HISE tutorials

                1 Reply Last reply Reply Quote 0
                • d.healeyD d.healey referenced this topic
                • d.healeyD
                  d.healey @Christoph Hart
                  last edited by

                  @Christoph-Hart Bump bump

                  Free HISE Bootcamp Full Course for beginners.
                  YouTube Channel - Public HISE tutorials
                  My Patreon - HISE tutorials

                  1 Reply Last reply Reply Quote 0
                  • iamlampreyI
                    iamlamprey
                    last edited by

                    just began my linux HISE journey and also getting this error on a clean install 🙂

                    d.healeyD 1 Reply Last reply Reply Quote 0
                    • d.healeyD
                      d.healey @iamlamprey
                      last edited by

                      @iamlamprey Yeah I'm not sure what's causing it because it works on my fork and I've merged all of Christoph's changes. I need to do a diff and see if I can find the source of the issue but I don't have time at the moment.

                      Free HISE Bootcamp Full Course for beginners.
                      YouTube Channel - Public HISE tutorials
                      My Patreon - HISE tutorials

                      iamlampreyI 1 Reply Last reply Reply Quote 0
                      • iamlampreyI
                        iamlamprey @d.healey
                        last edited by

                        @d-healey Clanker found it for me:

                        HISE/hi_streaming/hi_streaming/MonolithAudioFormat.cpp

                        juce::AudioFormatReader* HlacMonolithInfo::createUserInterfaceReader(int sampleIndex, int channelIndex, int64 realSampleLength)
                        {
                        	if (isPositiveAndBelow(sampleIndex, sampleInfo.size()))
                        	{
                        		const auto& info = sampleInfo[sampleIndex];
                        
                        		const int64 start = info.start;
                        
                        		// replace this (line 370):
                        		const int64 length = jmin<int64>(realSampleLength, info.length);
                        
                        		// with this:
                        		const int64 length = std::min<int64>(realSampleLength, info.length);
                        
                        		// or this:
                        		const int64 length = jmin((int64) realSampleLength, (int64) info.length);
                        
                        		// rest of function
                        	}
                        }
                        

                        @Christoph-Hart Simple fix above, not sure which version is better but the std::min one works for the latest Ubuntu LTS

                        d.healeyD 1 Reply Last reply Reply Quote 0
                        • d.healeyD
                          d.healey @iamlamprey
                          last edited by

                          @iamlamprey said in Invalid use of incomplete type vSIMDType:

                          Clanker

                          What this?

                          Free HISE Bootcamp Full Course for beginners.
                          YouTube Channel - Public HISE tutorials
                          My Patreon - HISE tutorials

                          iamlampreyI 1 Reply Last reply Reply Quote 0
                          • iamlampreyI
                            iamlamprey @d.healey
                            last edited by

                            @d-healey chatGPT lol

                            1 Reply Last reply Reply Quote 1
                            • First post
                              Last post

                            24

                            Online

                            2.1k

                            Users

                            13.0k

                            Topics

                            112.3k

                            Posts