Forum
    • Categories
    • Register
    • Login

    Invalid use of incomplete type vSIMDType

    Scheduled Pinned Locked Moved Bug Reports
    22 Posts 4 Posters 886 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.
    • iamlampreyI
      iamlamprey
      last edited by

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

      David HealeyD 1 Reply Last reply Reply Quote 0
      • David HealeyD
        David 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 @David 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

          David HealeyD 2 Replies Last reply Reply Quote 0
          • David HealeyD
            David 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 @David Healey
              last edited by

              @d-healey chatGPT lol

              1 Reply Last reply Reply Quote 1
              • David HealeyD
                David Healey @iamlamprey
                last edited by

                @iamlamprey said in Invalid use of incomplete type vSIMDType:

                Clanker found it for me:

                I think it's lying to you again. This is the line in my fork and it compiles without issue

                https://github.com/davidhealey/HISE/blob/development/hi_streaming/hi_streaming/MonolithAudioFormat.cpp#L371

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

                iamlampreyI OrvillainO 2 Replies Last reply Reply Quote 0
                • iamlampreyI
                  iamlamprey @David Healey
                  last edited by

                  @d-healey I'm not sure if it's lying necessarily, more likely there's multiple ways to skin a cat

                  Either way it worked on my end, tested on Ubuntu LTS and the latest Mint

                  1 Reply Last reply Reply Quote 0
                  • OrvillainO
                    Orvillain @David Healey
                    last edited by

                    @d-healey I think this is a Linux compiler thing. On Linux int64_t is defined as long int - whereas Windows and Mac it is defined as long long int.

                    The compiler is throwing a wobbly because of that.

                    I think.

                    Musician - Instrument Designer - Sonic Architect - Creative Product Owner
                    Crafting sound at every level. From strings to signal paths, samples to systems.

                    David HealeyD 1 Reply Last reply Reply Quote 0
                    • David HealeyD
                      David Healey @Orvillain
                      last edited by

                      @Orvillain said in Invalid use of incomplete type vSIMDType:

                      I think this is a Linux compiler thing.

                      Linux user here

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

                      OrvillainO 1 Reply Last reply Reply Quote 0
                      • OrvillainO
                        Orvillain @David Healey
                        last edited by Orvillain

                        @David-Healey said in Invalid use of incomplete type vSIMDType:

                        @Orvillain said in Invalid use of incomplete type vSIMDType:

                        I think this is a Linux compiler thing.

                        Linux user here

                        Yeah I know. You're getting the issue with the dev branch but not your fork right? Your error:

                        ../../../../../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>’}
                        

                        That is telling you that SIMDRegister/SIMDNativeOps is being used incorrectly. The only thing I can think of is that it is being called with long long int, which is correct for Windows and Mac... but on Linux I think it should be called with long int - not long long int.

                        I'd check that line in your fork and dev branch and make sure it is the same, if you haven't already.

                        Musician - Instrument Designer - Sonic Architect - Creative Product Owner
                        Crafting sound at every level. From strings to signal paths, samples to systems.

                        David HealeyD 1 Reply Last reply Reply Quote 0
                        • David HealeyD
                          David Healey @Orvillain
                          last edited by

                          @Orvillain That line is in a JUCE module, we no touch those.

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

                          OrvillainO 1 Reply Last reply Reply Quote 0
                          • OrvillainO
                            Orvillain @David Healey
                            last edited by Orvillain

                            @David-Healey Well I don't know what else to tell you: https://forum.juce.com/t/int64-t-vs-juce-int64/45358

                            As reported here - it is a typedef issue, specifically affecting Linux compiles.

                            Actually, I might have that wrong. That thread is about juce:int_64.

                            Musician - Instrument Designer - Sonic Architect - Creative Product Owner
                            Crafting sound at every level. From strings to signal paths, samples to systems.

                            David HealeyD 1 Reply Last reply Reply Quote 0
                            • David HealeyD
                              David Healey @Orvillain
                              last edited by

                              @Orvillain That line is the same in my fork and in Christoph's so I don't think that's the cause

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

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

                              23

                              Online

                              2.1k

                              Users

                              13.0k

                              Topics

                              112.4k

                              Posts