Forum
    • Categories
    • Register
    • Login

    Invalid use of incomplete type vSIMDType

    Scheduled Pinned Locked Moved Bug Reports
    33 Posts 4 Posters 1.8k 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

      This SIMD stuff is quite the pest, getting similar errors on MacOS even after my "fix":

      In file included from /Users/user/Documents/altar/DspNetworks/Binaries/Source/Main.cpp:6:
      In file included from /Users/user/Documents/HISE/hi_dsp_library/hi_dsp_library.h:55:
      In file included from /Users/user/Documents/HISE/hi_tools/hi_tools.h:148:
      In file included from /Users/user/Documents/HISE/hi_dsp_library/../hi_tools/../hi_streaming/hi_streaming.h:62:
      In file included from /Users/user/Documents/HISE/JUCE/modules/juce_dsp/juce_dsp.h:236:
      /Users/user/Documents/HISE/hi_dsp_library/../hi_tools/../hi_streaming/../JUCE/modules/juce_dsp/containers/juce_SIMDRegister.h:85:32: error: implicit instantiation of undefined template 'juce::dsp::SIMDNativeOps<unsigned long>'
          using vSIMDType = typename NativeOps::vSIMDType;
      

      And here's an old post from the man himself:

      https://forum.juce.com/t/dsp-module-breaks-compilation-on-linux/27346/4

      Seems like it's either a JUCE issue, or just the different behaviors of different compilers

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

        @iamlamprey said in Invalid use of incomplete type vSIMDType:

        Seems like it's either a JUCE issue, or just the different behaviors of different compilers

        Which compiler are you using on MacOS? Does my fork work?

        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

          @David-Healey Whatever the default is, I think clang

          I should clarify: this error is happening when I try and compile third-party nodes, HISE itself built just fine. i doubt I could use your fork since mine has Altar-specific changes to include the Rubberband library

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

            Still working at this, found another juce thread:

            https://forum.juce.com/t/dsp-module-no-longer-compiles-on-linux-after-april-17th-commit/27684/6

            d3de2b48-0322-48d0-bbae-2317a8f5ab2d-{7D973138-55F5-4E38-85B3-2BA3EC9FBD57}.png

            possibly related to the explicit template with jmin? there's a few of those in that monolith file

            this clank also fixes that particular error:

            // Include this AFTER juce_dsp.h
            // It aliases unsigned long to the existing uint64_t SIMDNativeOps specialization,
            // fixing builds on platforms where MaskType resolves to unsigned long.
            
            #pragma once
            
            #include "juce_dsp/juce_dsp.h"
            
            namespace juce { namespace dsp {
                template<> struct SIMDNativeOps<unsigned long> : SIMDNativeOps<std::uint64_t> {};
            }}
            

            which forces it to use uint64_t, but I'm also getting a bunch of Reference to Point is ambiguous errors so this all might just be xcode doing xcode things...

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

              @iamlamprey have you tried a diff between my fork and the develop branch?

              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

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

                @iamlamprey have you tried a diff between my fork and the develop branch?

                not sure what that is or how to do it lol but I'll start googling

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

                  @iamlamprey it's just comparing the code in my fork which compiles to Christoph's code which doesn't compile and seeing what the difference is.

                  You can also compare between different commits within Christoph's repo.

                  We know the issue isn't in the JUCE modules because those haven't been touched.

                  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 iamlamprey

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

                    We know the issue isn't in the JUCE modules because those haven't been touched.

                    The reference to Point is ambiguous error I'm getting is a confirmed JUCE issue (it was patched in a later version of JUCE), but it's caused by a clash with the Rubberband library so it's not HISE's fault. Either way I'm going to test the signalsmith shifter instead which sounds better out of the box anyway

                    I'm also getting a bunch of fftw errors when compiling your fork (development branch), I assume I need to install that on MacOS?

                    Edit: Yep signalsmith solved all of my woes 🙂

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

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

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

                      Ok I'm digging into this more. This change does fix it in the develop branch, even though the same line is present in my fork and compiles without issue.

                      The cause of this I think is something to do with the order in which the files are being compiled. Why that is different between the develop branch and my fork I don't know. But your patch should solve it for now anyway - did you make a pull request?

                      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

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

                        did you make a pull request?

                        you vastly overestimate my understanding of git 😄

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

                          @iamlamprey Done https://github.com/christophhart/HISE/pull/813

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

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

                          27

                          Online

                          2.1k

                          Users

                          13.1k

                          Topics

                          113.3k

                          Posts